Patent Abstract:
The invention relates to a device of generating simulation signals for Controller Area Network (CAN). The device in this invention simulates CAN data streams normally generated by electronic control units (ECUs) in automobiles, vehicles, boats, etc. without the presence of these ECUs. The device in this invention has a visual display of simulated signals&#39; values. In addition, this invention reveals a remote terminal method and software. The remote terminal software in this invention can control the simulated signal via graphic user interfaces. The remote terminal software in this invention also displays the precise values of simulated signals via graphic user interfaces. Furthermore, this invention presents an advantageous method using a license identification management technique to change the functionality and features of the simulation device without any hardware modifications and without sending the device back to the device manufacturer.

Full Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    Not Applicable. 
       STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
       [0002]    Not Applicable. 
       REFERENCE TO SEQUENCE LISTING, A TABLE, OR A COMPUTER PROGRAM LISTING COMPACT DISC APPENDIX 
       [0003]    Not Applicable. 
       REFERENCES CITED-PUBLICATIONS 
       [0000]    
       
         1. &lt;http://en.wikipedia.org/wiki/Controller_Area_Network&gt;—“Controller-area Network, From Wikipedia, the free encyclopedia”. 
         2. &lt;http://en.wikipedia.org/wiki/Controller_Area_Network&gt;—“Controller-area Network, Standards”. 
         3. &lt;http://www.auelectronics.com/UserManual.htm&gt;—“User Manual for SAE-J1939 Simulator (Gen II)”, Copyright 2008 Au Group Electronics. 
         4. &lt;http://www.auelectronics.com/UserManual.htm&gt;—“License Management User Manual for SAE-J1939 Simulator”, Copyright 2008 Au Group Electronics. 
         5. &lt;http://www.auelectronics.com/UserManual.htm&gt;—“AU SAE-J1939 Simulator Remote Terminal Installation Guide”, Copyright 2008 Au Group Electronics. 
         6. &lt;http://www.auelectronics.com/UserManual.htm&gt;—“Au PIC Bootloader (Application Note)”, Copyright 2008 Au Group Electronics. 
       
     
       FIELD OF THE INVENTION 
       [0010]    This invention relates generally to a device of generating simulated Controller Area Network (CAN) signals such as those from electronic control units (ECUs) in automobiles, on-highway vehicles, boats, etc without the presence of these ECUs. This invention includes a remote terminal method and software which are capable of controlling the simulation and displaying the precise values of simulated signals. This invention also relates to an advantageous method to change the functionality and features of the simulation device without any hardware modifications and without sending the device back to the device manufacturer. 
       BACKGROUND 
       [0011]    According to Reference 1, the definition of Controller Area Network (CAN) is: “Controller-area network (CAN or CAN-bus) is a computer network protocol and bus standard designed to allow microcontrollers and devices to communicate with each other without a host computer.” It was originally developed by Robert Bosch GmbH and designed specifically for networking most of the distributed electrical devices throughout an automobile. CAN is an extremely robust protocol with extensive error detection and correction features which easily withstand the harsh physical and electrical environment presented by an automobile, a vehicle, a boat and other industry environment. Critical devices in a vehicle such as the electronic control unit (ECU) of an engine, antilock brakes, airbags, etc rely on the Controller Area Network. Due to the low cost of CAN controllers and processors, today the Controller Area Network has been widely used in automotives, agriculture tractors, on-highway trucks, heavy duty vehicles, marine electronic devices, boats, airborne applications, embedded systems, real time distributed control (fieldbus) in general automation environments, assembly, material handling, packaging and high-speed sortation machines. 
         [0012]    In order to develop, test and diagnose the CAN applications devices, full range CAN signals are needed. These signals are normally generated by actual systems, such as a test-dedicated automobile ECU, etc. However actual systems can not always easily produce a full range CAN signals due to the physical and functionality limits of the actual system. For example, in order to do a full range test for a speedometer of maximum limit of 155 miles-per-hour, the test person must be able to drive the vehicle at 155 miles per hour. This is sometimes hard to achieve and maintain. In another example, if one wants to test the error condition of an antilock braking system in a heavy duty truck, one needs to generate error signals in the vehicle, which is not easily achieved in the field. 
         [0013]    During the development stages of a CAN applications device, the requirements of CAN signals often change. This sometimes requires a more complicated actual system to generate new CAN signals. Meeting this requirement can be costly. In other cases, it is desirable to have multiple types of CAN signals for the test purpose. This will require multiple actual systems. For example, an instrument cluster development project requires signals from an engine, signals from a transmission system, signals from a brake system, signals from a pressure sensor module, signals from switch modules, and signals from actuator modules, etc. This means the project team will need an engine and its ECU, a transmission system and its ECU, a brake system and its ECU, a pressure sensor module and its ECU, switch modules and their ECUs, actuator modules and their ECUs, etc. The size and cost of such a large pool of test equipments can become very challenging. Also in this case, due to the fact of using multiple actual ECUs, controlling all of the actual systems at the same time or reading/visualizing the signals from all of the systems at the same time is difficult for the testing operator(s). 
         [0014]    In other situations, supplying CAN signals can be destructive to the actual system or time-consuming or imposing a lot of environmental hazards. For example, in order to test the over-limit protection feature on the transmission system, one has to operate the vehicle over the limit of transmission. It may become destructive to the transmission. In another example, if one needs make full range testing for a vehicle odometer, the process to obtain the high mileages by driving a vehicle with the odometer on board would have imposed a great amount of emissions to the environment, let alone the process is time consuming and costly. 
       SUMMARY OF THE INVENTION 
       [0015]    It is therefore one aspect of this invention to provide a device to generate a CAN signal for its full range and to generate a CAN signal that is hard-to-achieve in the field by an actual system. 
         [0016]    It is therefore the second aspect of this invention to provide a device to generate new types of CAN signal relatively easily, and to generate multiple types of CAN signals at the same time. 
         [0017]    It is therefore the third aspect of this invention to provide a signal generating device with an easy-to-use feature and an easy-to-read/visualize feature for the CAN signals generated by the device. 
         [0018]    It is therefore the fourth aspect of this invention to provide a signal generating device that the signal generating process is not destructive to actual systems, not time-consuming and is barely environmental hazardous. 
         [0019]    In accordance with these aspects of the invention, a device for generating Controller Area Network simulation signals is provided. The use of such a simulating device provides a new approach for generating CAN signals. The use of such a simulating device enables the user&#39;s access to the signals that are hard-to-achieve by an actual system in the filed. This invention uses an advantageous algorithm to focus the simulation signals within the mostly used ranges, yet the algorithm still covers the minimum and maximum limits of the CAN signals as defined by different industry protocols. So it can be used to generate a CAN signal for its full range. 
         [0020]    In this invention, a method of device license identification management system is provided. With this method, the simulation device can be easily upgraded or downgraded to include more or less functions of signal simulation without the need to purchase a new device, without the need of sending the device back to the manufacturer, without the need of any hardware changes, without the need of even opening the enclosure of the device; instead it requires only changing the device license identification through a license identification management system. Therefore, such a signal generating apparatus is able to relatively easily and inexpensively generate new types of CAN signals, and to generate multiple types CAN signals at the same time. 
         [0021]    This device of invention has the plug-and-play feature. No complex installation of hardware is required. The operation of such a device is through operating a push button or similar human machine interface media, or through making commands and selections on a graphic user interface software provided by the remote terminal method and software of this invention. The simulation device itself has a visual display to indicate the values of simulated signals, and it is also capable of producing audible sounds reflecting inputs from human machine interfaces. In addition, the remote terminal of this invention provides a visual access for the signal simulation control and displays precise values of those simulated signals. Therefore, the device has the aspect of easy-to-read/visualize for the CAN signals generated by the device. A method of using the license identification management system in this invention makes it possible for easily changing the functionality and features without any hardware change, without sending the device to the manufacturer, and without even opening the enclosure of the device. The device has an in-field bootloading feature. The bootloading feature makes it easy to refresh the simulation device if errors are found in programming codes. Also, the bootloading feature is very valuable and convenient to add newly released features and functions. All of these aspects combined fulfill the ease-of-use goal of the invention. 
         [0022]    The device is powered by a 12-24 volts power supply; it can be made to occupy very little space in the common CAN application environment and to be so small to fit an adult size palm; it does not need any fuel or water; it does not generate harmful emission by itself; it does not require any maintenance when it is not in use; to generate CAN signals, it does not require a person to operate a real vehicle, a boat, a car, etc. Therefore it is not destructive to an actual system; generating signals by this device is not time-consuming or labor-consuming and the device reduces environmental hazards that might be otherwise produced by actual systems. 
         [0023]    Further areas of applicability of the present invention will become apparent from the detailed description provided hereinafter. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and are herein described in detail. It should be understood, however, that the drawing are detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0024]    A better understanding of the present invention can be obtained when the following detailed description of the preferred embodiment is considered in conjunction with the following drawings, in which: 
           [0025]      FIG. 1  is a block diagram of key components of a simulation signal generating device for Controller Area Network. 
           [0026]      FIG. 2  illustrates that the invention&#39;s simulation signal generating device is connected with a Controller Area Network (CAN). 
           [0027]      FIG. 3  represents three automatic functions of a signal simulation device when it is powered on. 
           [0028]      FIG. 4  is a block diagram representing a remote terminal method and software and showing that a remote terminal in this invention is connected with a simulation signal generating device. 
           [0029]      FIG. 5A  depicts a graphic user interface of the control panel of a remote terminal. 
           [0030]      FIG. 5B  depicts a graphic user interface of the display panel of a remote terminal. 
           [0031]      FIG. 5C  depicts a graphic user interface of the communication selection port of a remote terminal. 
           [0032]      FIG. 6A-E  illustrates the license identification management method for a signal simulation device. 
           [0033]      FIG. 7  illustrates linear algorithms between simulation steps and simulation values for Controller Area Network applications. 
           [0034]      FIG. 8  illustrates non-linear algorithms and linear algorithms between simulation steps and simulation values for Controller Area Network applications. 
           [0035]      FIG. 9A  and  FIG. 9B  depict two working modes of the simulation signal generating device. 
           [0036]      FIG. 10A-B  illustrate exemplary enclosures, shapes and configurations of a signal simulation device and  FIG. 10C  illustrates the device software toolsets. 
           [0037]      FIG. 11A-J  represents simulation signal levels by the condition of a series of LEDs and the-likes from the simulation device. 
           [0038]      FIG. 12  illustrates the flow chart of changing functionality and features for a simulation device by the license identification management systems. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0039]    The following established physical layer standards are for Controller Area Network. They are cited in this invention&#39;s specification. According to Reference 2, various CAN standards include:
       SAE J1939 standard uses a two-wire twisted pair; SAE J1939-11 has a shield around the pair while SAE J1939-15 does not. SAE 1939 is widely used in agricultural &amp; construction equipment.   ISO 11898-1 includes protocols of Controller Area Network data link layer and physical signaling.   ISO 11898-2 uses a two-wire balanced signaling scheme. It is the most used physical layer in car powertrain applications and industrial control networks.   ISO 11898-3 includes protocols of Controller Area Network low-speed, fault-tolerant, medium-dependent interface.   ISO 11898-4 standard defines the time-triggered communication on CAN (TTCAN). It is based on the CAN data link layer protocol providing a system clock for the scheduling of messages.   ISO 11898-5 includes protocols of Controller Area Network high-speed medium access unit with low-power mode.   ISO 11992-1 defines a Controller Area Network fault-tolerant for truck/trailer communication.   ISO 11783: It is intended for agriculture and forestry equipment.       
 
         [0048]    SAE J2411 defines a single-wire Controller Area Network (“Single-wire CAN” has the abbreviation of “SWC”). 
         [0049]    At the higher level of application layer protocols, the following protocols are developed and used in the various industries: 
         [0050]    NMEA 2000 (National Marine Electronics Association 2000) is a combined electrical and data specification for a marine data network for communication between marine electronic devices. 
         [0051]    DeviceNet is a communication protocol used in the automation industry to interconnect control devices for data exchange. It uses Controller Area Network as the backbone technology and defines an application layer to cover a range of device profiles. 
         [0052]    CANopen is a communication protocol and device profile specification for embedded systems and used in automation. 
         [0053]    J1939 is the vehicle bus standard used for communication and diagnostics among vehicle components, originally by the car and heavy duty truck industry in the United States. 
         [0054]    CAN Kingdom is a communications protocol running on top of Controller Area Network; it is designed as fieldbus, a family of industrial computer network protocols used for real-time distributed control. The SmartCraft® network is a marine version of CAN Kingdom. 
         [0055]    SafetyBUS p is a standard for safe field bus communication within factory automation. 
         [0056]    MilCAN is a deterministic protocol that can be applied to Controller Area Network technology as specified by ISO 11898. 
         [0057]    CANaerospace is an extremely lightweight protocol/data format definition which was designed for the highly reliable communication of microcomputer-based systems in airborne applications via Controller Area Network (CAN). 
         [0058]    Smart Distributed System (SDS) is based on Controller Area Network technology and borrowed from the automotive industry and the RS485 electrical specification. It is commonly found in assembly, material handling, packaging and high-speed sortation machines. 
         [0059]    An ARINC technical working group develops the ARINC 825 standard with special requirements for the aviation industry. 
         [0060]    Referring now to the drawings,  FIG. 1  is a block diagram of key components of a simulation signal generating device  26  for Controller Area Network  28  (CAN). It is a self-maintaining simulation signal generating device for CAN. It includes a microprocessor  2 . In various embodiments, the microprocessor  2  may be a microcontroller, or a field-programmable gate array (FPGA), or an application-specific integrated circuit (ASIC), or a complex programmable logic device (CPLD). The simulation device includes a power regulator  4  converting an unregulated power supply to a regulated power supply with stable voltage. For example, when the device is using a battery power supply, the power regulator  4  will convert the power supply to a stable voltage supply for the simulation device. The device also has one or more of the commonly used input and output components  10 , including but not limited to USB transceivers, RS485 transceivers, RS232 transceivers, SAE J1708 transceivers, etc. In order to communicate to a CAN network, this device comprises CAN interfaces  8 , such as CAN transceivers (J1939 transceivers, NMEA 2000 transceivers, single wire CAN transceivers, etc), common mode chokes, CAN network terminal resistors  3  and signal isolation circuits (such as opto-isolators), etc. The device has oscillator circuits  16  providing clock signals for microcontroller and peripheral devices. 
         [0061]    The simulation device includes a human machine interface (HMI)  6 , including but not limited to operating switches, LEDs (light-emitting diodes), lamps, other audible or visible signal components. The human machine interface (HMI)  6  is expandable to one or multiple HMI (HMI), such as a display terminal for the simulated parameters, or multiple display terminals for the simulated parameters. 
         [0062]    There is a memory medium  24  in the simulation device  26 . The memory  24  is coupled to the microprocessor  2  or its equivalent. The memory medium  24  comprises a non-volatile memory, such as an EEPROM, a flash memory, a battery-backed RAM, etc, that stores initialization instructions and executable codes. Inside the memory, simulation software  22 , license management system  15 , bootloading software  18 , etc are stored. The simulation software  22  is based on some simulation algorithms  20  defining and generating Controller Area Network simulation signals. For any particular Controller Area Network signal, the algorithm  20  defines the simulation algorithm according to the practical usage conditions in multiple segments over the full range, the full range, or partially over the full range of Controller Area Network signal. The full range of a CAN signal is defined by a CAN protocol or multiple CAN protocols of the following, but not limited to: SAE J1939, SAE J1939-01, SAE J1939-11, SAE J1939-13, SAE J1939-15, SAE J1939-21, SAE J1939-31, SAE J1939-71, SAE J1939-73, SAE J1939-74, SAE J1939-75, SAE J1939-81, SAE J2411, NMEA 2000 (National Marine Electronics Association 2000), ISO 11898-1, ISO 11898-2, ISO 11898-3, ISO 11898-4, ISO 11898-5, ISO 11992-1, ISO 11783-2, DeviceNet, CANopen, CAN Kingdom, SafetyBUS p, MilCAN, CANaerospace, Smart Distributed System, and ARINC 825, etc. 
         [0063]    The simulation device also has the license identification  14 . The license identification  14  defines the functionality and features of the device in this invention. 
         [0064]    The simulation device  26  has an in-field bootloading feature  18  which enables the loading initialization instructions and executable codes to the device without opening the enclosure  12  and without sending the device back to a device service center or the manufacturer. This bootloading feature can be encrypted. The bootloading feature makes it easy to refresh the simulation device if errors are found in programming codes. Also, the bootloading feature is very valuable and convenient to add newly released features and functions. The bootloading  18  function can be enabled by pressing the MENU button  132  ( FIG. 10A ) in the human machine interface of the simulation device  26 . After entering the bootloading mode, the simulation device  26  will automatically detect any pre-defined bootloading handshaking protocols. If it does not detect any bootloading handshaking protocols within a reasonable pre-set time, such as 10 seconds, the simulation device  26  will automatically exit the bootloading mode. Therefore the device tolerates any accidental or unintentional entry of bootloading mode by a user, and it will return to the normal operating mode. 
         [0065]    The simulation software  22  executes the signal generating algorithm  20  and the I/O control algorithm for the simulation signals; it also controls the simulation process; it communicates with remote terminal  30 ; it generates and resets warning messages; and it manages the device license identification  14 . 
         [0066]    The simulation signals&#39; values are modified through an operating switch or multiple operating switches  6  by the user per the predetermined operating switch combinations in the software of the simulation signal generating device  26 . 
         [0067]    The simulation device  26  has an enclosure  12 . The enclosure  12  can be compliable to NMEA (National Marine Electronics Association) environment standard or it may not be compliable to that standard. In various embodiments, the enclosure  12  of the simulation device  26  can be configured as  FIG. 10A . In one of various embodiments,  FIG. 10B  illustrates a simulation device  26  configured in a rectangular enclosure with different aspect ratio compared with  FIG. 10A . 
         [0068]    In one of various embodiments, the device can be made to fit a palm of an average size adult. Therefore it is convenient to carry around and easy to use. In various embodiments, the device size and enclosure configuration can be made appropriate to fit in various CAN application environments. In various embodiments, the size and configuration of the same or similar CAN signal simulation device can be changed and configured such that it can be placed at and transferred among various engineering testing environments, CAN network test laboratories, CAN application fields, etc. 
         [0069]      FIG. 2  illustrates that the invention&#39;s simulation signal generating device  26  is connected with a Controller Area Network (CAN)  28  via the CAN network terminal resistor  3  built inside the simulation device. The device may connect with a remote terminal  30 , which expands the control and display functions of the simulation device  26 . 
         [0070]      FIG. 3  illustrates what will happen on a CAN signal simulation device  26  when it is powered on. The device  26  will perform three automatic functions  34 ,  36 ,  38 . It will automatically register itself to the Controller Area Network  28  (function  34 ). It will automatically go to the same operating mode (dynamic mode or static mode, which are depicted in  FIG. 9A  and  FIG. 9B  respectively) as it is powered off last time (function  36 ). In addition, the device  26  will retrieve the same simulation signal values as it is powered off last time (function  38 ). 
         [0071]    The simulation device  26  has two operating modes: dynamic mode and static mode. Now refer to  FIG. 9B . When a device is operated in a static mode  131 , it keeps the simulated signals at the set point until the mode is changed, or the simulation signals are changed by a remote terminal  30  or an operation of human machine interface component  6  (such as pushing the increase button  125  ( FIG. 10A ) on the simulation device  26 ).  FIG. 9A  depicts the dynamic mode  129 . When operating in this mode, the simulation device  26  will increase the simulation signals values step by step from the theoretical minimum  109  (defined in the corresponding industrial CAN protocols) through intermediate levels  130  to the theoretical maximum  111  (defined in the corresponding industrial CAN protocols), followed by decreasing the values step by step from that maximum  111  to intermediate levels  130 , then decreasing the values step by step to the minimum  109 . The device repeats the course of  122 ,  124 ,  126 ,  128 ,  122 ,  124 ,  126 ,  128  . . . until the operating mode is changed. The number of steps between the minimum value and maximum value can be changed by the simulation software for different applications. It can be 100 steps, 1000 steps, 7 steps, 55 steps or any other number that makes sense to the application and useful for the end user. In various embodiments, the steps can be represented as the percentile values of the whole range between the minimum and the maximum value allowed. For example,  FIG. 5A ,  FIG. 7 ,  FIG. 8  and  FIG. 11A-J  show simulation steps represented by percentile values between 0% and 100%. In various embodiments, the steps can be represented by letters, words, phrases, sentences, symbols, etc and combinations of them. For example, one can name three simulation steps as Alpha-10 (α-10), Beta-50 (β-50) and Gamma-95 (γ-95). On the other hand, the gaps between any two adjacent steps within the range can be different. For example, the gap between step  2  and step  3  can be defined three times as large as that between step  50  and step  51 , likely for the reason that step  2  and step  3 &#39;s simulation signals are less important to the end user than signals at step  50  and step  51  where the impact of changing simulation signals is more significant to the end user. 
         [0072]      FIG. 4  is a block diagram representing the method of remote terminal  30  with software  40  and showing that such a terminal  30  is connected with a simulation signal generating device  26  through the communicating channel  48 . The remote terminal comprises of a control panel  42 , a display panel  46 , and a communication port selection panel  44  in the form of graphic user interface (GUI) software. The control software  40  unites the control panel  42 , the display panel  46 , and the communication port selection panel  44  by several control logic  52  to work with a CAN protocol or multiple CAN protocols as defined by, but not limited to: SAE J1939, SAE J1939-01, SAE J1939-11, SAE J1939-13, SAE J1939-15, SAE J1939-21, SAE J1939-31, SAE J1939-71, SAE J1939-73, SAE J1939-74, SAE J1939-75, SAE J1939-81, SAE J2411, NMEA 2000 (National Marine Electronics Association 2000), ISO 11898-1, ISO 11898-2, ISO 11898-3, ISO 11898-4, ISO 11898-5, ISO 11992-1, ISO 11783-2, DeviceNet, CANopen, CAN Kingdom, SafetyBUS p, MilCAN, CANaerospace, Smart Distributed System, and ARINC 825, etc. 
         [0073]    A remote terminal  30  is not required to operate a simulation device  26 . For the convenience of use, there are operating switches/buttons on the simulation device. In one of the embodiments, as shown in  FIG. 10A , there is a MENU button  132  to access mode control and other functions; an UP button  125  and a DOWN button  127  for quickly changing the simulation signals values. 
         [0074]      FIG. 5A  depicts a graphic user interface of the control panel  42  of a remote terminal  30 . One can press the UP button  56  once at a time for signals to increase one-step-at-a-time; one can press the DOWN button  54  once at a time for signals to decrease one-step-at-a-time; one can get signals increase multi-steps-at-a-time by dragging the cursor  58  toward the maximum value direction along the scale bar  66 ; one can get signals decrease multi-steps-at-a-time by dragging the cursor  58  toward the minimum value direction along the scale bar  66 . One can make the signal automatic increase and the signal automatic decrease by selecting the DYNAMIC mode  68 . The control panel also has a function of mode selection. If the DYNAMIC  68  is selected, the simulation device will operate in the dynamic mode  129 . If the DYNAMIC  68  is not selected, the simulation device will operate in the static mode  131 . When the QUIET function  60  is selected, the remote terminal  30  will mute the audible signals. When the WARNINGS function  64  is selected, the remote terminal  30  will enable the warning functions on the simulation device  26 . When the MENU button  70  is pressed, its assigned functions (such as turning on or off warning lamps) will be activated. At any time, the user can reset the Engine Diagnostic Message 2 (ENG DM2) by selecting the function of RESET ENG DM2  62 . 
         [0075]    In various embodiments, the control panel  42  may include more or less control functions than what are depicted in  FIG. 5A . 
         [0076]      FIG. 5B  depicts a graphic user interface of the display panel  46  of a remote terminal  30 . Warning signal lamps are displayed if there are any warning signals. If the CAN address is claimed successfully on CAN network  28 , the panel will show “NORMAL”, as shown in status bars  76 ,  80 , and  84 . The display panel  46  can have sub-group panels, such as a status display  75 , and a display  86  for detailed simulation values. The status display  75  includes various simulation signals status. For example, the engine status signals (such as cruise lamp status) simulation information and warning lamps information (if any)  74 , the antilock brake system signals simulation information and warning lamps information (if any)  78 , and the transmission signals simulation and warning lamp information (if any)  82  can be displayed in the  FIG. 5B  illustration. Multi-packets parameters  85  can be displayed for various signals on a new page when this button is chosen. In various embodiments, the display panel  46  and the control panel  42  can be expandable at the same time to multiple personal computers, laptops, network computers, or PDAs (Personal Digital Assistant), cell phones, and other capable electronic devices with appropriate interface or combination of above mentioned devices. In various embodiments, the display panel  46  may include more or less display functions than what are depicted in  FIG. 5B . 
         [0077]      FIG. 5C  depicts a graphic user interface of the communication port selection panel  44  of a remote terminal. In one of the various embodiments, the communication port selection can be made with a pull down menu  88 . In various embodiments, the communication port selection pull down menu  88  includes but is not limited to serial ports (COM1, COM2, COM3, . . . COM9, etc), Ethernet ports, I2C channels, USB ports, parallel ports, infrared ports, WiFi channels, etc. The button CONNECT  90  is for connecting the remote terminal  30  with the simulation device  26 . The button DISCONNECT  92  is for disconnecting the remote terminal  30  with the simulation device  26 . The EXIT button  94  will terminate the remote terminal software  30 . In one embodiment as shown in  FIG. 5C , the communication port selection panel  44  can also be used for the information-displaying purpose. For example, the product serial number  96  of the simulation device  26 , the product identification  98 , and the software version  100  of the simulation device  26  are displayed. In various embodiments of the remote terminal  30 , the control panel  42 , the display panel  46 , and the communication port selection panel  44  can be on the same screen page or different screen pages. In various embodiments, the communication port selection panel  44  may include more or less communication port selection functions than what are depicted in  FIG. 5C . 
         [0078]    The remote terminal  30  and software can be installed and operated on a laptop, or a network computer, or a standalone computer, or a PDA (Personal Digital Assistant), or a cell phone or any other capable electronics device with appropriate interface. 
         [0079]    The display panel  46  can be represented by one or multiple screen pages and a user is able to swap the pages; Likewise, the control panel  42  can be represented by one or multiple screen pages and a user is able to swap the pages; likewise, the communication port selection panel  44  can be represented by one or multiple screen pages and a user is able to swap the pages. 
         [0080]    Another important aspect of this invention is the license identification management method. It is an advantageous method to easily change the functionality and features of a simulation device without any hardware modifications and without sending the device back to the device manufacturer or a service center. 
         [0081]    For a simulation device  26  of this invention, a license identification  14  is assigned based on function requirements for this simulation device. The license identification  14  is readable by the device itself  26  at any time. If the device  26  is connected with a remote terminal  30 , the license identification  14  can be shown to the user as a product ID  98 . 
         [0082]    There is a master license management system  182 . As shown in  FIG. 12 , upon a request  180  of changing functionality and features of a simulation device, license identifications are modified by the manufacturer&#39;s master license management system, as shown as the step  184 . This step occurs at the manufacturer&#39;s end. In one of various embodiments, the license identification creation and modification processes are encrypted. The processes can also be non-encrypted. The manufacturer informs the user (via email, mail, phone or other acceptable communicating methods between the manufacturer and the end user) a new license of the end user&#39;s purchased simulating device, as shown as step  186 . 
         [0083]    There is an end user&#39;s license management system  188  which is in the form of graphic user interface software. Refer to  FIG. 12 . It reads the license identification of a simulation device. To change the device functions, the end user purchases and obtains a new license from the manufacturer (the step of  186 ), then connects the simulation device to the end user&#39;s license identification management system (the step of  190 ). After entering the new authorized license in the license identification management system (the step of  192 ) and updating the license identification, the new license identification will enable the device&#39;s new functions and features (the step of  194 ). 
         [0084]    Inside this license identification management method and software, there is one or more established license identification hierarchies. In various embodiments, the identification hierarchy levels are represented by device identifications or device license or product identification  98 : the higher the hierarchy level, the higher level of the license identification, the more powerful or wider range of functionality and features of the simulation device. 
         [0085]      FIG. 6A  to  FIG. 6E  illustrates how the license identification management system method is used. For example, in  FIG. 6A , there is an engine basic edition simulation device  104 . This device has no remote terminal feature according to the device&#39;s original license identification. By the process  107  of obtaining a new license (moving to a different hierarchy level of license identification), one can expect that the same device will be equipped with the feature of remote terminal  99 . Therefore, it becomes an engine basic PLUS edition of simulation device  97 . Likewise, as shown in  FIG. 6B , an engine premium edition of simulation device  106 , is upgraded to an engine premium PLUS edition of simulation device  95  by the process  107  of obtaining a higher hierarchy license. The new feature is a remote terminal  99 . Likewise, as shown in  FIG. 6C , a vehicle platinum edition of simulation device  108  is upgraded to a vehicle platinum PLUS edition  93  by the process of  107 . The device will have the new feature of remote terminal  99  after updating the license identification. 
         [0086]    The devices in  FIG. 6A  to  FIG. 6C  share the same hierarchy-changing structure in that a “PLUS” device includes the feature of the “remote terminal”  99 . The hierarchy-changing is embedded in the process of  107 . In the license identification management system, more than one hierarchy-changing possibility may exist. There may exist more than one license identification hierarchies in the license identification management method. And a simulation device is allowed for more than one function-change paths following different license identification hierarchies. For example, the engine BASIC edition device  104  can be upgraded to an engine PREMIUM edition device  106  with the added feature of providing warning signals  102 , by the process of  91 . This is depicted in  FIG. 6D . We can also find another hierarchy-changing possibility in the process of  89  in that if a transmission simulation  101  feature, an antilock brake simulation  103  feature, and an engine configuration simulation  105  feature are added to an ENGINE simulation PREMIUM device, the new device becomes a VEHICLE platinum edition device  108 . The same process of  89  is depicted in both  FIG. 6D  and  FIG. 6E , with different starting simulation devices  104  and  97 , respectively. 
         [0087]    In the simulation software  22 , there are both linear and non linear algorithms to generate the simulation signals for various CAN applications.  FIG. 7  illustrates multiple linear algorithms  112  between simulation steps  116  and simulation values  114  while  FIG. 8  includes non linear algorithm, such as  118  and  119 . In both figures, CAN simulation signals are generated over a range between a theoretical minimum  109  and a theoretical maximum  111 . These minimums and maximums of various CAN signals are defined in industrial CAN protocols. For example, the SAE J1939 standard has a definition of a road surface temperature data range, which is from the minimum of −273° C. to the maximum of 1735° C. In reality, an end user is less likely in great need of the extreme temperature data; rather he or she often needs data in the mostly-used-range. In practical use, the mostly-used-range  117  between P.MIN  113  and P.MAX  115  is usually smaller than the range between the theoretical minimum  109  and maximum  111 . 
         [0088]    In order to provide useful simulation signals, this invention introduces practical-use minimum P.MIN  113  and practical-use maximum P.MAX  115  for each simulation signal. Furthermore, the algorithm in this invention allows multiple simulation functions. For example, as depicted in  FIG. 7 , within the practical range  117  between  113  and  115 , simulation values  114  are generated by three linear functions  112 . The first linear function is defined between P.MIN ( 113 ) and P.S1, the second one is defined between P.S1 and P.S2, and the third one is defined between P.S2 and P.MAX ( 115 ). 
         [0089]    In  FIG. 8 , several non linear functions, such as  118  and  119 , exist for simulating signals. Furthermore, the invention allows both linear simulation functions and non linear simulation functions exist for any particular CAN signal. This is shown in  FIG. 8  where linear functions  112  coexist with non linear functions  118  and  119 . 
         [0090]    In order to have the access to the simulated signal values without a remote terminal  30 , the simulation device  26  has the feature to display the values of the simulated signals. In one of the various embodiments,  FIG. 11A-J  represents different simulating signal levels by the combination condition of a series of LEDs or similar visual components. In one of various embodiments, there are seven LEDs in  FIG. 11A-J . Six LEDs are labeled as 0%, 20%, 40%, 60%, 80%, and 100%, respectively. The 0% designated LED also blinks when a signal decreasing operation is in process by pressing the DOWN button  127 ; the 100% designated LED also blinks when a signal increasing operation is in process by pressing the UP button  125 . The seventh LED, labeled as “RANGE”, emits in a variable light intensity based on the simulated signal values. The higher the signal value, the brighter this “RANGE” LED will become. As the simulated signals values become higher and higher from  FIG. 11A  to  FIG. 11J , the “RANGE” LED becomes brighter and brighter, shown by the brightness gradual increase from  137  to  145 ,  146 ,  149 ,  153 ,  157 ,  161 ,  165 ,  169 , finally reaching the highest brightness of  173 . Some possible combinations of six LED lights are interpreted as follows. 
         [0091]      FIG. 11A  shows a blinking 0% LED  133 , an off 20% LED  139 , an off 40% LED  138 , an off 60% LED  140 , an off 80% LED  142 , and an off 100% LED  144 ; this combination represents the status of the minimal value of simulation signals. The RANGE LED emits in a very dim way as shown by  137 . 
         [0092]      FIG. 11B  shows a constant lit 0% LED  134 , a blinking 20% LED  136 , an off 40% LED  138 , an off 60% LED  140 , an off 80% LED  142 , and an off 100% LED  144 ; this combination represents the simulation signals are at the exact 20% level. The RANGE LED  145  gets brighter than  137 . 
         [0093]      FIG. 11C  shows a constant lit 0% LED  134 , a constant lit 20% LED  148 , an off 40% LED  138 , an off 60% LED  140 , an off 80% LED  142 , and an off 100% LED  144 ; this combination represents the simulation signals are between 20% and 40% level. The RANGE LED  146  gets brighter than  145 . 
         [0094]      FIG. 11D  shows a constant lit 0% LED  134 , a constant lit 20% LED  148 , a blinking 40% LED  150 , an off 60% LED  140 , an off 80% LED  142 , and an off 100% LED  144 ; this combination represents the simulation signals are at the exact 40% level. The RANGE LED  149  gets brighter than  146 . 
         [0095]      FIG. 11E  shows a constant lit 0% LED  134 , a constant lit 20% LED  148 , a constant lit 40% LED  152 , an off 60% LED  140 , an off 80% LED  142 , and an off 100% LED  144 ; this combination represents the simulation signals are between 40% and 60% level. The RANGE LED  153  gets brighter than  149 . 
         [0096]      FIG. 11F  shows a constant lit 0% LED  134 , a constant lit 20% LED  148 , a constant lit 40% LED  152 , a blinking 60% LED  154 , an off 80% LED  142 , and an off 100% LED  144 ; this combination represents the simulation signals are at the exact 60% level. The RANGE LED  157  gets brighter than  153 . 
         [0097]      FIG. 11G  shows a constant lit 0% LED  134 , a constant lit 20% LED  148 , a constant lit 40% LED  152 , a constant lit 60% LED  156 , an off 80% LED  142 , and an off 100% LED  144 ; this combination represents the simulation signals are between 60% and 80% level. The RANGE LED  161  gets brighter than  157 . 
         [0098]      FIG. 11H  shows a constant lit 0% LED  134 , a constant lit 20% LED  148 , a constant lit 40% LED  152 , a constant lit 60% LED  156 , a blinking 80% LED  158 , and an off 100% LED  144 ; this combination represents the simulation signals are at the exact 80% level. The RANGE LED  165  gets brighter than  161 . 
         [0099]      FIG. 11I  shows a constant lit 0% LED  134 , a constant lit 20% LED  148 , a constant lit 40% LED  152 , a constant lit 60% LED  156 , a constant lit 80% LED  160 , and an off 100% LED  144 ; this combination represents the simulation signals are between 80% and 100% level. The RANGE LED  169  gets brighter than  165 . 
         [0100]      FIG. 11J  shows a constant lit 0% LED  134 , a constant lit 20% LED  148 , a constant lit 40% LED  152 , a constant lit 60% LED  156 , a constant lit 80% LED  160 , and a blinking 100% LED  162 ; this combination represents the simulation signals are at the exact 100% level. The RANGE LED  173  gets brighter than  169 . 
         [0101]    The simulation device  26  can be accompanied with various software toolsets. In one of various embodiments, such as a simulation device designed according to the SAE-J1939 protocol, depicted in  FIG. 10C , the additional toolsets  202  provided with the simulation device  26  can include a remote terminal software  196 , a license management toolset  198 , and a bootloader toolset  200  (a software for bootloading process control). Such software toolsets can be placed on a CD, attached in an email or other electronically stored formats, or partially embedded in the said simulation device, etc. 
         [0102]    The foregoing discussion discloses and describes merely exemplary embodiments of the present invention. One skilled in the art will readily recognize from such discussion and from the accompanying drawing and claims that various changes, modifications and variations can be made therein without departing from the spirit and scope of the invention as defined in the following claims.

Technology Classification (CPC): 7