Damper interface device

A damper interface device (DID) includes a microcontroller including a memory and a processor, at least one algorithm stored to the memory, and a DID connector configured to connect the microcontroller to a vehicle network without having to modify the wiring system of the vehicle. The algorithm is configured to receive network messages from the vehicle network via the DID connector, where the network messages include an input message directed to a suspension controller. The algorithm is executed by the processor to identify the input message as directed to the suspension controller, parse the input message for response requirements, determine contents of a response to the input message, where the contents of the response emulate a response of the suspension controller, and generate a response message including the contents of the response. The microcontroller is configured to output the response message to the vehicle network via the DID connector.

TECHNICAL FIELD

The present disclosure relates to a system including a damper interface device (DID) installed to a vehicle to emulate semi-active dampers which have been removed from the vehicle.

BACKGROUND

A vehicle can be originally equipped (OE) by the vehicle manufacturer with a semi-active suspension system, which can include semi-active dampers. The semi-active dampers are in communication with and activated by a controller in the vehicle, such as a vehicle suspension controller, where the semi-active dampers are activated by the suspension controller in response to inputs from one or more sensors in the vehicle, which may include, for example, suspension sensors. The suspension controller of the vehicle is configured to control and/or monitor the suspension system and/or one or more semi-active suspension components such as the semi-active dampers, the suspension sensors, etc. The suspension controller is typically in communication, via a vehicle controller area network (CAN), with another module within the vehicle, such as a cluster module or control module responsible for overseeing the functions of various system controllers, including, for example, the suspension controller. The cluster module can be configured to output a CAN message to the suspension controller, for example, inquiring a condition state of the semi-active system and/or a condition state of a semi-active suspension component. The suspension controller can be configured to output a response message to the cluster module, in response to the CAN message. When the suspension controller responds with an error message or a fault status, and/or does not provide a response, the cluster module can, in response, set a diagnostic code in the vehicle onboard diagnostics (OBD) system of the vehicle diagnostics module (VDM) and/or vehicle network, and/or, the vehicle in response to the fault status, can enter into a reduced performance state. The vehicle is not returned to a normal (unreduced) performance state until the fault status is cleared in the network, for example, by receiving a functional status message from the suspension controller.

SUMMARY

In some cases, a vehicle owner can modify the vehicle to change the feel and/or handling dynamics of the vehicle, for example, based on the vehicle owner's preference, by replacing the OE semi-active dampers with aftermarket installed passive dampers. When the semi-active dampers are removed from the vehicle and replaced with passive dampers, the suspension controller interprets the absence of the semi-active dampers as a fault condition, and reports a fault status to the cluster module, which can also be referred to herein as a vehicle control module. The vehicle, in response to the fault status, enters a reduced performance state, which is undesirable to the vehicle owner. The vehicle cannot be returned to a normal (unreduced) performance state until the fault status is cleared by the cluster module. The cluster module will not clear the fault status until the cluster module receives a functional status message, e.g., a message indicating the semi-active damper system is functional, from the suspension controller. The suspension controller, so long as it is unconnected to the OE semi-active dampers which have been removed from the vehicle, cannot generate a functional status message and will continue to output a fault status to the cluster module in response to a CAN message received from the cluster module.

By installing a damper interface device (DID), such as the DID described herein, to a network of a vehicle which has been modified to replace semi-active dampers with passive dampers, a functional state of the semi-active dampers can be emulated by the DID to the vehicle network, such that the vehicle modified with the passive dampers can be restored to and/or will remain in a normal (non-reduced) performance state, as if the semi-active dampers were still functioning in the vehicle. Installing the damper interface device (DID) to a vehicle, where the vehicle has been modified to replace semi-active dampers with passive dampers, is performed by disconnecting a suspension connector from the suspension controller of the vehicle, and connecting the DID to the suspension connector such that the DID, when installed, is in direct communication with the vehicle network, where the DID is configured to listen for CAN messages received via the network, for example, from a vehicle cluster module and/or vehicle diagnostic module (VDM), and to generate and output a functional status message in response, such that the vehicle continues to function in a normal (unreduced) performance state after removal of the semi-active dampers from the vehicle. In one example, the vehicle cluster module can include and/or be in communication with an on board diagnostics (OBD) module. Advantageously, the DID is configured as a pluggable replacement for the suspension controller, such that the vehicle's suspension connector can be plugged directly into the DID connector without having to modify the OE wiring system of the vehicle.

In an illustrative example, the damper interface device (DID) includes a DID connector configured to connect the microcontroller to a vehicle network and a microcontroller comprising a memory and a processor. The microcontroller includes at least one algorithm stored to the memory, and is configured to receive messages from the vehicle network via the DID connector, where the network messages include at least one input message directed to a suspension controller. The at least one algorithm is executable by the processor to identify the at least one input message as directed to the suspension controller, parse the at least one input message for response requirements, determine contents of a response to the at least one input message, where the contents of the response emulate a response of the suspension controller, and generate a response message including the contents of the response. The microcontroller is configured to output the response message generated by the microcontroller to the vehicle network via the DID connector. The DID can include a network transceiver in communication with the microcontroller and the DID connector, where the transceiver is configured to receive the messages from the vehicle network and to output the response messages to the vehicle network, and to receive an interrupt from the network, where the at least one input message is associated with the interrupt. In one example, the at least one algorithm is executable by the processor to start a response timer upon receiving the input message, where starting the response timer sets an expiration time. The at least one algorithm and/or the microcontroller is configured to output the response message to the vehicle network at the expiration time, such that the response time to each input message is consistent and is the expiration time. The DID can further include a programming module, and the microcontroller can include memory which includes a programmable memory. In one example, the at least one algorithm is stored to the programmable memory via the programming module, and the microcontroller is programmable via the programming module.

In one example, the microcontroller is configured to generate a response message including a condition state which indicates a functional status of the semi-active damper, in response to an input message, where parsing the input message determines the contents of the response comprise a condition state of a semi-active damper. In one example, the DID connector configured to connect the microcontroller to a suspension sensor via a network connector, and to receive a sensor input from the sensor, such that, when the contents of the response comprise a condition state of the sensor, the condition state of the sensor is determined by the at least one algorithm using the sensor input, and the response message generated by the microcontroller includes the condition state of the sensor. In one example, the sensor input can include one or more measurements of a vehicle parameter, such as a ride height, and the response message generated by the controller can include the ride height defined by the sensor input. In one example, the DID can be configured to monitor sensor input received via the suspension connector from one or more sensors on the vehicle, and to output an error message to the vehicle network if an input is received from one of the one or more sensors indicating the sensor is sensing an error state condition and/or operating outside of functional limits.

In one example, the damper interface device can include one or more configuration messages stored to memory, where each respective configuration message includes a respective configuration for a respective vehicle control module of the vehicle. The microcontroller can be configured to detect the respective control module via the vehicle network, and output the respective configuration message to the respective control module, where the respective configuration message is received by the respective control module and executed to reprogram the respective control module from its current configuration to the respective configuration included in the respective configuration message. More than one configuration message can be stored to the memory of the damper interface device, such that the microcontroller can output a second configuration message to the respective control module to reprogram the control module from the first configuration to the second configuration. In one example, the second configuration is equivalent to the configuration which was current at the time the module was reprogrammed to the first configuration, such that, by reprogramming the vehicle control module to the second configuration, the vehicle control module is reprogrammed to the configuration that was current prior to being reprogrammed to the first configuration.

DETAILED DESCRIPTION

The elements of the disclosed embodiments, as described and illustrated herein, may be arranged and designed in a variety of different configurations. Thus, the following detailed description is not intended to limit the scope of the disclosure, as claimed, but is merely representative of possible embodiments thereof. In addition, while numerous specific details are set forth in the following description in order to provide a thorough understanding of the embodiments disclosed herein, some embodiments can be practiced without some of these details. Moreover, for the purpose of clarity, certain technical material that is understood in the related art has not been described in detail in order to avoid unnecessarily obscuring the disclosure. Furthermore, the disclosure, as illustrated and described herein, may be practiced in the absence of an element that is not specifically disclosed herein. Referring to the drawings wherein like reference numbers represent like components throughout the several figures, the elements shown inFIGS.1-15are not necessarily to scale or proportion. Accordingly, the particular dimensions and applications provided in the drawings presented herein are not to be considered limiting. The following listing of elements shown inFIGS.1-15is provided for reference only, and is not intended to be limiting:100Damper interface device (DID)10DID housing12DID connector14DID electrical header16Connector latch18Mounting surface20Programming connector22Power management and monitoring (PMM) module24Controller Area Network (CAN) transceiver26Programming module28Analog to Digital Converter (ADC)30Microcontroller Unit (MCU)32MCU memory34MCU processor36Suspension controller38Network connector40Emulation algorithm (including steps42-48)50Emulation algorithm (including steps52-58)60Emulation algorithm (including steps42-48and62-70)72Vehicle74Suspension connector76Cable assembly78Suspension electrical header80Vehicle network82Vehicle diagnostics module (VDM/OBD)84Vehicle control module(s)

Referring toFIGS.1-15, wherein like reference numbers represent like components throughout the several figures,FIGS.1-11andFIGS.13-15show a damper interface device (DID)100configured for installation to a vehicle network80of a vehicle72, where the vehicle72has been modified by removal of a set of original equipment (OE) semi-active dampers from the vehicle, and replacement of the OE semi-active dampers with a set of aftermarket passive dampers, where the DID100is configured to emulate the set of semi-active dampers to the vehicle network80, using one or more algorithms, including for example, one or more of the algorithms40,50,60shown inFIGS.9-11. The vehicle network80can be configured, for example, as a controller area network, also referred to as a CAN network80. A set of dampers, as referred to herein, can include a left front damper and a right front damper, or can include a left rear damper and a right rear damper.

Referring toFIGS.8and12, as originally installed, the example vehicle72includes a set of semi-active dampers (not shown) and one or more suspension sensors86, a suspension controller36including a network connector38, and a cable assembly76including a suspension connector74. Each of the semi-active dampers can include, for example, a solenoid for activating the semi-active damper. As originally installed, each of the semi-active dampers, via its solenoid, and each of the suspension sensors86, are connected to the suspension connector74via one or more cables included in the cable assembly76. The cable assembly76can further include one or more power cables, one or more communication cables for messaging with the vehicle network80, and one or more sensor cables for communicating with one or more suspension sensors86. As originally installed, the suspension controller36is connected to the vehicle network80by connecting the suspension connector74to the network connector38of the suspension controller. As originally installed, the suspension controller36outputs control signals to the semi-active dampers and receives input from the semi-active dampers and, in one example, from suspension sensors86installed on the vehicle. As originally installed, the suspension controller36is configured to monitor the semi-active dampers and the sensors86for fault conditions, and output error messages to the network80if a fault condition is sensed. As originally installed, the suspension controller36is configured to monitor the network80for an input message from the network80, where the input message may request a response message from the suspension controller36. In one example, the input message can request response message from the suspension controller36indicating the semi-active dampers are in one of a functional status and a fault status. In one example, the input message can request response message from the suspension controller36based on sensor input received from the one or more suspension sensors86connected to the suspension connector74.

Referring toFIG.8and the schematic illustrations shown inFIGS.13-15, during modification of the vehicle72to install a set of passive dampers (not shown), the cables of the cable assembly76which connect to the semi-active dampers, e.g., the damper cables (not shown), are disconnected, and the semi-active dampers are removed from the vehicle72, such that no signal is transmitted through the disconnected damper cables of the cable assembly76, which can cause the suspension controller36to generate an error message and/or to output a fault status, which in turn can cause the vehicle72to enter into a reduced performance state until the network80receives a functional status message for the semi-active dampers. To enable a fully functional vehicle state after the semi-active dampers have been removed and the passive dampers have been installed, e.g., to restore and/or maintain the vehicle in a normal (un-reduced) performance state, the suspension connector74is disconnected from the network connector38of the suspension controller36(seeFIG.8andFIG.13) and connected to the DID connector12of the DID100(seeFIG.8andFIGS.14-15) such that the DID100can emulate, as further described herein, the suspension controller36in responding to messages received via the suspension connector74from the vehicle network80. The DID100interfaces via the vehicle network80, including, for example, the vehicle onboard diagnostics (OBD) network including, for example, a vehicle diagnostics module (VDM)82, using, for example, Controller Area Network (CAN) communications protocol. The DID100queries the onboard diagnostics network and/or the VDM82, and upon receiving a message, parses the message and responds with the appropriate (emulated) operating status message for the condition state requested, where the operating status message can indicate an emulated functional status of the removed semi-active damper. In this manner, the vehicle72continues to function in a normal (unreduced) performance state after removal of the semi-active dampers from the vehicle72. Advantageously, the DID100is configured as a pluggable replacement for the suspension controller36, such that the suspension connector74can be plugged directly into the DID connector12without having to modify the wiring system of the vehicle72.

As shown inFIGS.1-8, the DID100includes a housing10and a DID connector12. The DID connector12is configured to receive the suspension connector74, and to retain the suspension connector74connected to the DID connector12, for example, using a connector latch16. The DID connector12includes an electrical header14(seeFIG.5), which in the example shown is a multiple pin header, for connecting to a mating electrical header78(seeFIG.14) of the suspension connector74. See alsoFIG.8, schematically illustrating connection of the DID electrical header14to the suspension electrical header78of the vehicle72. The electrical header14can also be referred to herein as a DID header14or a DID electrical header14. The electrical header78can also be referred to herein as a suspension header78or a suspension electrical header78. The DID100defines one or more mounting surfaces18by which the DID100can be affixed to the vehicle72after connection of the DID100to the suspension connector74. The housing10includes a programming connector20, which in one example is configured as a Joint Test Action Group (JTAG) connector20for receiving programming input to the DID100, via a programming module26contained within the housing10, where the programming module26can be configured as a JTAG module20. In one example, the programming module26can be configured for wireless programming capability, such that the DID100can be reprogrammed wirelessly, for example, over Bluetooth®. As shown inFIG.7, the housing10houses the programming module26, a communications transceiver24, a power management and monitoring (PMM) module22, an analog to digital converter (ADC)28, and a microcontroller unit (MCU)30. In the example shown, the communications transceiver24can be configured as a Controller Area Network (CAN) transceiver. The microcontroller unit30, also referred to herein as a microcontroller30, includes a memory32and a processor (CPU)34. One or more algorithms, including at least one emulation algorithm40,50,60is stored to the memory32. In one example, one of the algorithms is configured to parse messages received from the vehicle network80via the transceiver24, to determine contents of a response to the message. In one example, one of the algorithms is configured to start a response timer upon receiving an interrupt associated with an input message directed to the suspension controller36, and to output a response message at an expiration time set by the response timer, such that each response message outputted from the DID100is outputted after a standard amount of time from the time each input message is received. As such, the DID100response time is predictably consistent, as compared with, for example, the response time of a system operating on a polling basis rather than the interrupt method used by the DID100to monitor for incoming CAN messages.

The microcontroller30includes a processor34for executing the one or more algorithms which can include algorithms40,50,60. The memory32, at least some of which is tangible and non-transitory, may include, by way of example, ROM, RAM, EEPROM, etc., of a size and speed sufficient, for example, for executing the algorithms40,50,60, storing instructions including programming received via the programming module26, and/or communicating with the PMM module22, the transceiver24, the programming module26, and/or the ADC28. In one example, the instructions stored to the memory32and/or received via the programming module26can include one or more configuration messages and/or module configurations which are executable of one or more of the modules36,82,84to modify, reconfigure and/or reprogram the one or more of the modules36,82,84, as further described herein.

The DID connector12including the DID header14, is configured to allow the DID100to interface with the vehicle network80via an Original-Equipment style connection for voltage regulator power supply, e.g., for power transfer, and for microcontroller network communication including signal transfer. The DID connector12can also be referred to herein as a vehicle bus connector. The DID connector12is configured to duplicate and/or be substantially similar to connector interface of the network connector38of the suspension controller36, to allow for seamless installation of the DID100to the vehicle72, e.g., to allow for mating connection of the DID connector12to the suspension connector74of the network cable assembly76.

The PMM module22, which can also be referred to as a voltage regulator, receives, when the DID100is connected to the suspension connector74, raw (unregulated) vehicle bus voltage via the network cable assembly76and regulates the voltage into a constant power supply for powering the microcontroller30. In one example, the PMM module22receives raw vehicle bus voltage between 6V-48V DC from the vehicle network80, and regulates it into a constant 3.3V and 5V supply for the microcontroller30.

The CAN transceiver24interfaces between the vehicle communication bus, e.g., the cable assembly76, and the microcontroller30. The transceiver24monitors and effectively arbitrates the messages that are transferred onto the network80, to listen for CAN messages directed to the suspension controller36, which can be identified, in one example, by an interrupt detected by the transceiver24, thus moving the input message immediately to the microcontroller30, as compared with, for example, a message detection method based on periodic polling of the network messages.

The microcontroller30, in one example, is a programmable chipset that receives regulated electrical power from the PMM module22and network messages from the CAN transceiver24. The microcontroller30is configurable and/or programmable to create the corresponding status messages for the given application. The programming connector20with the programming module22provides a direct interface to write software into the electrically erasable programmable read only memory (EEPROM) of memory32of the microcontroller30, including for example, one or more algorithms40,50,60, one or more configuration messages, and/or one or more vehicle module configurations, as further described herein.

The analog to digital converter (ADC)28receives analog signals and converts them to digital measurements for processing by the microcontroller30. In one example, the ADC28measures source voltage from the vehicle network80to enable a software-based fault handling strategy, as shown inFIG.10. In one example, the ADC28can identify physical sensors86installed on the vehicle (such as suspension sensors86, which can include ride height sensors86) to expand the software-based fault handling strategy, as shown inFIG.11. In one example, the ADC28can identify physical modules installed on the vehicle, such as suspension control module36, diagnostics module82, and/or other control modules84installed on the vehicle. The other control modules84can include, for example, one or more of a cluster module, such as an instrument cluster module, a body control module, a powertrain control module, an engine control module, a transmission control module, a braking control module, a navigation module, etc.

The block diagram flow chart shown inFIG.8shows the function of the DID100. In one configuration of the DID100, the components22,24,26,28are integrated into a printed circuit board to provide a robust communication framework, for use in vehicle operating conditions. As shown inFIG.8, the PMM module22, the transceiver24, and the ADC28each connect to the vehicle network80via the DID electrical header14of the DID connector12. The microcontroller30connects to the vehicle network80via the transceiver24. When installed in the vehicle72, the DID electrical header14of the DID connector12interfaces directly into the main vehicle network80, by connecting to the mating suspension electrical header78of the suspension connector74of the cable assembly76as shown inFIG.8and illustrated in the schematic illustrations ofFIGS.14-15.

Once the DID100is connected into the vehicle72via the DID connector12connecting to the suspension connector74, and the vehicle72is powered on, the raw vehicle voltage is regulated by the PMM module22to a 3.3V and 5V output for the microcontroller30. When the microcontroller30receives a regulated supply voltage, the embedded software functions of the microcontroller30are permitted to operate. Further, communication with the vehicle network80via the CAN transceiver24is initiated, and the CAN transceiver24is then capable of arbitrating (transmitting, receiving) messages from the vehicle bus, e.g., the vehicle network80, with the microcontroller30.

In addition to the receiving data from the CAN transceiver24, the microcontroller30receives data from the analog to digital converter (ADC)28. The ADC28provides the microcontroller30with state estimations to enable a software-based fault handling strategy, via one or more of the algorithms stored to the microcontroller30. For example, the microcontroller30will detect if the vehicle voltage is within an operating range to function, or detect if a semi-active suspension component (such as a ride height sensor86) is installed on the vehicle72.

The programming connector20provides a direct interface to the programming module26, which, for example, can be a JTAG programming module. The programming connector20provides a direct interface to the microcontroller30for programming and troubleshooting purposes. The programming connector20enables the programmable memory (EEPROM) included in memory32to be modified for various applications of the DID100, such that the DID100can be programmed and/or reprogrammed as required for deployment in various vehicle configurations, in response to changes in vehicle configuration, etc. As such, the DID100is advantageously configured as a universal (applicable with programming to multiple vehicles and vehicle configurations) and re-deployable (from one vehicle to another with reprogramming) device. In one example, a DID100can be programmed according to the configuration of a first vehicle, and installed to the first vehicle to emulate the OE semi-active damping system of the first vehicle. In the present example, the DID100installed to the first vehicle can be reprogrammed in response to changes in the configuration of the first vehicle. In the present example, the DID100installed to the first vehicle can be reprogrammed according to the configuration of a second vehicle, such that the DID100can be removed from the first vehicle and redeployed to the second vehicle. In one example, the first and second vehicles have different configurations.

Referring toFIGS.9-11, shown are various software strategies which can be incorporated into the DID100to emulate the OE semi-active damping system to the vehicle network80, when the DID100has been connected to the suspension connector74. These software strategies can be incorporated into one or more algorithms and/or instructions programmed to the memory32and executable by the processor34of the microcontroller30.FIGS.9-11illustrate examples of software strategies and/or algorithms which can be executed by the DID100to emulate the OE semi-active damping system to the vehicle network80, including, an example emulation algorithm40, another example emulation algorithm50with error monitoring, and another example emulation algorithm60with analog suspension position and voltage monitoring. The examples are non-limiting, and it would be understood that other software strategies and/or algorithms can be used to emulate the OE semi-active damping system to the vehicle network80, including iterations of the algorithms40,50,60to adapt to changes in vehicle suspension configurations, vehicle network communication protocol, and/or vehicle diagnostic and condition state message requirements. Advantageously, iterations of the algorithms can be programmed to the DID100over time, as changes in the vehicle requirements are implemented, such that the DID100can be updated to maintain compatibility with vehicle changes. In particular, the use of a programmable microcontroller30allows the device to be modular across multiple original equipment manufacturer platforms.

In terms of functional states, the DID100provides one primary functional state to the vehicle network80when installed to the vehicle72. The use of one primary functional state omits the requirements for an onboard status indicator on the DID100. If the DID100exits its functional state for any reason, an error message and/or fault code is outputted to the network80, notifying the vehicle network80, including, for example, the original equipment onboard diagnostics (OBD) system, that the DID100has exited its functional state.

Referring toFIG.9, shown is an example emulation strategy, which in a non-limiting example can be implemented in the DID100as an algorithm40stored to and executable by the microcontroller30. As shown inFIG.9at42, the microcontroller30is initialized. The microcontroller30can be first initialized when raw voltage is received by the PMM module22from the vehicle network80, for example, when the vehicle72is powered on, and converted by the PMM module22to the microcontroller30. At44, the microcontroller30, via the transceiver24, listens for CAN messages from the vehicle network80. When an input message directed to the suspension controller36is detected by the transceiver24, the microcontroller30initiates processing of the input message immediately. In one example, the transceiver24detects an interrupt associated with the input message, such that the microcontroller30in response to the interrupt, immediately initiates processing of the input message. At46, the microcontroller30starts a response timer, which sets an expiration time for the microcontroller30to output a response message to the vehicle network80. At46, the microcontroller30parses the input message and determines the contents for the appropriate response to the input message. The appropriate response can be one of an actual response originating from the vehicle, and an emulated response originating from the DID100. The actual response, for example, can include a response defined by vehicle sensor input received by the microcontroller30from one or more vehicle sensors86such as suspension sensors86connected to the DID100via the cable assembly76and suspension connector74, where the suspension sensors86are configured to sense an actual vehicle condition or condition state. An emulated response, as used herein, is the response which would have been outputted from the vehicle suspension controller36when the suspension controller36was connected to the vehicle network80, e.g., when the suspension connector74was connected to the network connector38, and when the semi-active dampers were installed to the vehicle72and connected to the suspension controller36via the cable assembly76and suspension connector74, where the emulated response is generated by the DID100to emulate the response which would have been outputted from the vehicle suspension controller36. At46, the microcontroller30generates the response message including the contents for the appropriate response to the input message. At48, at the expiration time set by the response timer, the microcontroller30sends the response message to the vehicle network80, via the transceiver24. Subsequent to sending the response message to the vehicle network80, and in the present example, to at least one control module84connected to the vehicle network80, the control module84, via the vehicle network80sends corresponding feedback to the microcontroller30, where the feedback identifies whether the appropriate response is the correct response. The control module84can be one of a plurality of control modules84in the vehicle72, which can include, for example, a cluster module, a powertrain control module, a body control module, the suspension controller36, etc. The DID100, after sending the response to the vehicle network80, continues, at44, to listen for a subsequent input message from the vehicle network80. In this manner, monitoring of the vehicle network80for input messages and/or associated interrupts is continuous, and the response time of the DID100to each input message received by the DID100is repeatable and consistent, as determined by the expiration time and controlled by the response timer.

Referring toFIG.10, shown is an example emulation strategy including error monitoring, which in a non-limiting example can be implemented in the DID100as an algorithm50stored to and executable by the microcontroller30. As shown inFIG.10at52, the microcontroller30is initialized. The microcontroller30can be first initialized when raw voltage is received by the PMM module22from the vehicle network80, for example, when the vehicle72is powered on, and converted by the PMM module22to the microcontroller30. At54, the microcontroller30, via the PMM module22, monitors the voltage level incoming from the vehicle network80to detect an input message incoming to the DID100. When an input message directed to the suspension controller36is detected, the microcontroller30initiates processing of the input message immediately, as described for algorithm40ofFIG.9. At56, the microcontroller30starts a response timer, which sets an expiration time for the microcontroller30to output a response message to the vehicle network80. At66, the microcontroller30parses the input message and determines the contents for the appropriate response to the input message, where, as previously described, the appropriate response can be one of an actual response defined by an actual vehicle condition, and an emulated response originated from the DID100. At56, the microcontroller30generates the response message including the contents for the appropriate response to the input message. At58, at the expiration time set by the response timer, the microcontroller30sends the response message to the vehicle network80, via the transceiver24. Subsequent to sending the response message to the vehicle network80, and in the present example, to a control module84connected to the vehicle network80, the control module84, via the vehicle network80sends corresponding feedback to the microcontroller30, where the feedback identifies whether the appropriate response is the correct response. The DID100, after sending the response to the vehicle network80, continues, at54, to monitor voltage level to detect a subsequent input message from the vehicle network80. In this manner, monitoring of the vehicle network80for input messages and/or associated interrupts is continuous, and the response time of the DID100to each input message received by the DID100is repeatable and consistent, as determined by the expiration time and controlled by the response timer.

Referring toFIG.11, shown is an example emulation strategy including analog suspension position monitoring and voltage monitoring, which in a non-limiting example can be implemented in the DID100as an algorithm60stored to and executable by the microcontroller30. As shown inFIG.11at62, the microcontroller30is initialized. The microcontroller30can be first initialized when raw voltage is received by the PMM module22from the vehicle network80, for example, when the vehicle72is powered on, and converted by the PMM module22to the microcontroller30. At64, the microcontroller30enters a software-based fault handling routine for two operating conditions, including monitoring for state conditions of the incoming voltage and the suspension sensors86, and monitoring for CAN message conditions.

For the state based conditions, the algorithm60at66monitors analog voltage level. If the voltage level determined at66to be unsatisfactory, e.g., outside of normal limits, the algorithm60continues to70and outputs a response message to the vehicle network80, where the response message can include an error message and/or the condition state of the voltage level, including an indicator of the actual analog voltage detected at66. Normal limits, as that term is used herein, can, for example, correspond to specification limits, limits based on historical performance, or other predetermined limits which can be, for example, provided to the microcontroller30from the memory32or via the vehicle network80. The algorithm60returns to64and continues the routine.

If the voltage level determined at66is within normal limits, the algorithm60continues to68and monitors analog suspension sensors86connected to the DID100via the cable assembly76and the suspension connector74. In the present example, the suspension sensors86can include one or more suspension position sensors86such as ride height sensors86. If the sensor input received from the suspension sensors86is determined to be satisfactory, then the corresponding successful message, for example, indicating a functional status of the sensors86, is generated by the microcontroller30and is outputted to the vehicle network80at70. If the sensor input it is considered unsatisfactory, for example, outside of normal limits, then an error message is generated by the microcontroller30and outputted to the vehicle network80. In one example, the response message generated by the microcontroller30can include an indicator of the actual sensor input received from the vehicle suspension sensor86, for example, a position or ride height measurement. The algorithm60returns to64and continues the routine.

For the CAN message conditions, the algorithm60proceeds from64to44, and monitors the network80to identify messages received from the cluster at44. As described for algorithm40shown inFIG.9, when an input message directed to the suspension controller36is detected by the transceiver24at44, the microcontroller30initiates processing of the input message immediately. At46, the microcontroller30starts a response timer, which sets an expiration time for the microcontroller30to output a response message to the vehicle network80. At46, the microcontroller30parses the input message and determines the contents for the appropriate response to the input message. The appropriate response can include at least one of an actual response determined by an actual or sensed vehicle condition, and an emulated response generated by the DID100using at least one emulation algorithm40,50,60. At46, the microcontroller30generates the response message including the contents for the appropriate response to the input message. At48, at the expiration time set by the response timer, the microcontroller30sends the response message to the vehicle network80, via the transceiver24. Subsequent to sending the response message to the vehicle network80, and in the present example, to a control module84, connected to the vehicle network80, the control module84, via the vehicle network80sends corresponding feedback to the microcontroller30, where the feedback identifies whether the appropriate response is the correct response. The algorithm60, after sending the response to the vehicle network80, returns to64and continues the routine.

In one example, the damper interface device100can include a one or more vehicle module configurations and/or configuration messages stored to the memory32of the microcontroller30. In one example, each configuration message includes a configuration for at least one of the vehicle control modules36,82,84of the vehicle72. In one example, one or more vehicle module configurations are stored to the memory32and memory32further includes at least one algorithm configured to select a vehicle module configuration and generate a configuration message including the vehicle module configuration for a respective vehicle control module, which may be one of the control modules36,82,84, which can be outputted by the microcontroller to the respective vehicle control module via the vehicle network80. The microcontroller30can be configured to detect the respective control module via the vehicle network80, and output the respective configuration message to the respective control module, where the respective configuration message is received by the respective control module and executed to reprogram the respective control module from its current configuration to the respective configuration included in the respective configuration message. More than one configuration message can be stored to the memory32of the damper interface device100, such that the microcontroller30can output a second configuration message to the respective control module to reprogram the respective control module from the first configuration to a second configuration included in the second configuration message. In one example, the second configuration is equivalent to the configuration which was current at the time the module was reprogrammed to the first configuration, such that, by reprogramming the respective vehicle control module to the second configuration, the respective vehicle control module is reprogrammed to the configuration that was current prior to being reprogrammed to the first configuration.

In one example, the configurations and/or configuration messages are inputted to the memory32of the microcontroller30via the programming module26. In one example, the programming module26is configured as a JTAG module. In one example, the programming module26is configured for wireless programming, for example, via Bluetooth®, such that configurations and/or configuration messages can be transmitted wirelessly to the DID100. In one example, the DID100is configured to read the current configuration of a respective control module at the time the DID100detects the respective control module, where the respective control module can be, for example, a selected one of the control modules36,82,84, and to store the current configuration in memory32, where storing the current configuration in memory32includes associating the current configuration in memory32with the respective control module. In one example, storing the current configuration in memory32can include time stamping the current configuration with the time the current configuration was detected and/or stored. In the present example, the DID100can output a configuration message to the respective module where the configuration message includes a modified configuration for configuring the respective module, and where the configuration message is executable by the respective module to reconfigure, e.g., reprogram, the respective module from the current configuration to the modified configuration. In one example, the current configuration corresponds to the OE configuration of the respective control module.

By way of illustration, in a non-limiting example the respective control module can be a vehicle control module84which is detected by the DID100, where the DID100outputs a configuration message including a modified configuration to the control module84which is executable by the control module84to modify the configuration of the control module84from a current configuration where the control module84, in the illustrative example, actuates folding of the side mirrors of the vehicle inward only upon actuation of a driver controlled switch in communication with the control module84, to a modified configuration where the control module84reprogrammed with the modified configuration actuates folding of the side mirrors inward when the vehicle network indicates the vehicle is in “Park” mode and the vehicle doors are in locked position. The illustrative example is non-limiting, such that other vehicle parameters, operations, features and settings could be modified by reprogramming one or more of the vehicle modules36,82,84with a modified configuration using the method described herein. Modifying the configuration of one or more of the vehicle modules36,82,84using the DID100as described herein is advantaged by enabling modification of the module configuration without requiring the use and expense of separate and/or specialized diagnostic and/or scanning tool and/or communication cables for separate connection to the vehicle network80.

The term “comprising” and variations thereof as used herein is used synonymously with the term “including” and variations thereof and are open, non-limiting terms. Although the terms “comprising” and “including” have been used herein to describe various embodiments, the terms “consisting essentially of” and “consisting of” can be used in place of ‘comprising’ and “including” to provide more specific embodiments and are also disclosed. As used in this disclosure and in the appended claims, the singular forms “a”, “an”, “the”, include plural referents unless the context clearly dictates otherwise.

The detailed description and the drawings or figures are supportive and descriptive of the disclosure, but the scope of the disclosure is defined solely by the claims. While some of the best modes and other illustrative examples for carrying out the claimed disclosure have been described in detail, various alternative designs and example configurations exist for practicing the disclosure defined in the appended claims. Furthermore, the examples shown in the drawings or the characteristics of various examples and/or configurations mentioned in the present description are not necessarily to be understood as embodiments independent of each other. Rather, it is possible that each of the characteristics described in one of the examples can be combined with one or a plurality of other desired characteristics from other example configurations, resulting in other examples not described in words or by reference to the drawings. Accordingly, such other examples and/or configurations fall within the framework of the scope of the appended claims.