Embodiments described below relate generally to a device and method for producing a computer readable formatted output from particular system specific format data. Specifically, the embodiments relate to a device and method for communicating with a vehicle having a control unit for controlling at least one particular function of the vehicle, in which information in control unit specific format obtained from the control unit is converted into information in tag-based markup language format so that a general-purpose computer can read the information without proprietary hardware and software.
The automotive industry has desired electronic control units to be an integral part of diagnostic equipment, a need addressed by development of proprietary hardware and software to communicate with those units. A typical proprietary device for the diagnostic process employs processors with unique display devices in which language or protocol specific to an electronic control unit is used. Being proprietary usually prevents a diagnostic device and its software from being portable or scalable. The subject matter described herein addresses that shortcoming.
Embodiments detailed herein describe a device and method for communicating with a vehicle having a control unit for controlling at least one particular function of the vehicle in which the device and method produce a general-purpose computer readable formatted output. In one aspect of the disclosure, a device includes a first interface configured for receiving first information in control unit specific format from the control unit, the first information relating to the at least one particular function. A converter is provided for converting the first information into second information in tag-based markup language format. The device also includes a second interface configured for sending the second information to an external terminal.
In another aspect of the disclosure, the device includes conversion information used for converting first information in control unit specific format into second information in computer readable format. Embodiments described below include as the conversion information a conversion database including, but not limited to, lookup tables and/or formulas for the conversion. A converter is configured for retrieving information corresponding to the first information from the conversion database to convert the first information into the second information.
In yet another aspect of the disclosure, a device includes first and second interfaces. The first interface is configured for receiving from an external terminal a first request in tag-based markup language format for requesting the control unit to provide specified information to the terminal, and sending to the terminal a first reply in tag-based markup language format including the specified information. The second interface is also configured for sending to the control unit a second request in control unit specific format corresponding to the first request, and receiving from the control unit a second reply in control unit specific format corresponding to the first reply. The device further includes a converter configured for converting the first request into the second request to output the converted request to the second interface, and converting the second reply into the first reply to output the converted reply to the first interface.
In one embodiment, the device may include conversion information used for converting the first request into the second request and for converting the second reply into the first reply. Embodiments described below include as the conversion information a conversion database including, but not limited to, lookup tables and/or formulas for the conversion. When converting the first request into the second request and converting the second reply into the first reply, the converter retrieves information corresponding to the first request and the second reply from the conversion database, respectively. Specifically, the converter may analyze the first request according to tags in the first request, and retrieve the corresponding data from the conversion database based on the analysis.
The first interface may be configured for wirelessly connecting the device to the terminal, or configured for connecting the device to the terminal through a universal serial bus (USB).
Additional aspects and advantages of the present disclosure will become readily apparent to those skilled in this art from the following detailed description, wherein only exemplary embodiments of the present disclosure is shown and described, simply by way of illustration of the best mode contemplated for carrying out the present disclosure. As will be realized, the present disclosure is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the disclosure. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.
Examples of the subject matter claimed herein are illustrated in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
The present disclosure is now described in more detail with reference to the accompanying figures, in which several embodiments are shown. The embodiments may be applied to any systems having a control unit for controlling at least one particular function of the system. For example, the systems may include or be utilized with any appropriate engine having an appropriate voltage source, such as a battery, an alternator and the like, providing any appropriate voltage, such as about 12 Volts, about 42 Volts and the like. The engine may comprise items utilizing fossil fuels, such as gasoline and diesel, natural gas, propane and the like, electricity, such as that generated by battery, magneto, solar cell and the like, wind and hybrids or combinations thereof. Examples of the systems may include an automobile, a truck, a boat or ship, a motorcycle, a generator, an airplane and the like. One skilled in the art will recognize that the systems are not limited to the above examples, and the embodiments described herein can be applied to any systems as long as they include a control unit for controlling at least one particular function of the system.
One skilled in the art will recognize that methods, apparatus, systems, data structures, and computer readable media implement the features, functionalities, or modes of usage described herein. For instance, an apparatus embodiment can perform the corresponding steps or acts of a method embodiment.
Vehicle 100 includes various electronic control units.
Typically, control units within vehicle 100 may control various systems and/or subsystems such as an engine, a transmission, a brake, steering mechanism, and an air conditioner. Depending on a vehicle, control units may use various different communication protocols and data formats.
For example, an engine control unit receives a plurality of input signals. These input signals may include a coolant temperature sensor, an oxygen sensor, an intake manifold pressure sensor, a vehicle speed sensor, an accelerator switch, a throttle position sensor, a neutral switch and an engine speed sensor. The engine control unit receives and processes input signals received from the various sensors and switches. In response to these input signals, the engine control unit may output various control signals. These control signals may control a canister purge solenoid, an exhaust gas recirculation (EGR) system actuator, an idling control actuator, an ignition coil and/or a plurality of fuel injections.
Since a control unit, such as the above-mentioned engine control unit, employs a data format specific to the unit, communication device 200 acts as a middleman when host computer 300 communicates with vehicle 100. Communication device 200 is configured to be adapted to any vehicle for communication. Communication device 200 is also configured for converting data in computer readable format into data in control unit readable format, and vise versa so that both vehicle 100 (control unit) and host computer 300 can read data created by the other, and communicate with each other. In one embodiment, communication device 200 is configured to receive data in tag-based markup language format from host computer 300, convert data in control unit specific format, and vise versa. A tag-based markup language format includes a set of tags which go with data and describe what the data is supposed to be. Examples of tag-based markup languages are Hypertext Markup Language (HTML) and Extensible Markup Language (XML). For the purpose of illustration, in this disclosure, an XML format is assumed to be employed to perform communication between host computer 300 and communication device 200 so that host computer 300 can communicate with vehicle 100. For example, the numeral “85” can be recognized as a temperature by a computer if “85” is placed between the following XML tag pair: <Temperature>85</Temperature>. The “/” in the second tag signifies that the data description for that temperature data is complete. Other tag pairs may follow, describing and giving values of other data elements.
Returning to
In another embodiment, communication device 200 and host computer 300 can communicate with each other through a wireline network. Communication device 200 can be connected to host computer 300 by, for example, a universal serial bus (USB).
Bus 202 operatively couples each of processor 204, memory 206, storage 208 and interfaces 210, 212.
Processor 204 executes instructions or program code modules from memory 206. According to one embodiment of this disclosure, a data format conversion is provided by communication device 200 by executing one or more sequences of one or more data conversion instructions contained in memory 206. Such instructions may be read into memory 206 from another computer-readable medium including storage 208. Execution of the sequences of the data conversion instructions contained in memory 206 causes processor 204 to perform the process steps described below. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in memory 206. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement embodiments of this disclosure. Thus, embodiments of the disclosure are not limited to any specific combination of hardware circuitry and software.
The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to processor 204 or other processors for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks. Volatile media include dynamic memory. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise bus 202. Transmission media can also take the form of acoustic or light waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM, a DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
Interface 210 provides bidirectional data communication with host computer 300. In one embodiment, interface 210 provides one or more external data ports for receiving data in XML format from and sending it to host computer 300 in the form of electrical, radio frequency, or optical signal. Interface 210 is coupled to wireless adaptor 214 which is, in tern, coupled to host computer 300 with a wireless communication signal.
Interface 212 is coupled to vehicle 100 through connector 216 which is electrically connected to a corresponding connector of the vehicle. In one embodiment, interface 212 includes analog-to-digital (A/D) converters or other logic for sampling input signals from vehicle 100 and providing those signals to processor 204.
Host computer 300 may be coupled via bus 302 to a display 312, such as a cathode ray tube (CRT) or a liquid crystal display (LCD), for displaying information to a service technician. An input device 314, including alphanumeric and other keys, is coupled to bus 302 for communicating information and command selections to processor 304. Another type of user input device is a cursor control 316, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 304 and for controlling cursor movement on display 312. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
Host computer 300 also includes a communication interface 318 coupled to bus 302. Communication interface 318 provides a two-way data communication coupling to a wireless adaptor 320 wirelessly coupled to communication device 200 to exchange data in XML format.
Communication interface 318 may also be coupled to a network link 322 that is connected to a local area network 324. For example, communication interface 318 may include a local area network (LAN) card to provide a data communication connection to a compatible LAN. As another example, communication interface 318 may include an integrated services digital network (ISDN) or a modem to provide a data communication connection to a corresponding type of telephone line. Wireless links may also be implemented. In any such implementation, communication interface 318 is configured for sending and receiving electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
Network link 322 typically provides data communication through one or more networks to other data devices. For example, network link 322 may provide a connection through local network 324 to a computer 326. Local network 324 is, in turn, connected to the internet 328 to which a computer 330 is connected. Local network 324 and internet 328 both use electronic, electromagnetic or optical signals that carry digital data streams.
Host computer 300 can send data to, and receive data from, computers 326, 330 through network link 322. Host computer 300 may be configured for performing an authentication procedure to allow computers 326, 330 to obtain information from vehicle 100, or sending the information to the computers, for example, by way of e-mail.
A display process 344 displays a selection menu on display 312 of host computer 300 for a service technician's selection. A menu selection process 346, controlled by input device 314 or courser control 316, selects information from the selection menu, and then, a request creation process 348 creates a request in XML format based on the information selected by menu selection process 346. For example, since the selection menu has an XML format, a request in XML format may be created by gathering selected information with XML “tags” (see
In this embodiment, three types of requests may be created. Request type I is for obtaining parameters, for instance, an output of a sensor in a control unit. Request type II is for activating a control device to test its particular function to obtain a test result. Request type III is for requesting a control device to return an error code when, for example, a particular function does not work properly.
A communication process 350 transmits the request created by request creation process 348 to communication device 200 and waits for a reply in XML format from the device. When receiving the reply by communication process 350, display process 344 displays the reply on display 312 for a service technician at host computer 300.
An input process 220 monitors receipt of a request in XML format from host computer 300. A conversion process to control unit specific format 222 receives the request in XML format through input process 220 and converts the request in XML format to a request in control unit specific format based on conversion information in a database (DB) 224. Database 224 may include any information for converting a request in XML format into a request in control unit specific format so that a target control unit can read the request. In one embodiment, database 224 comprises lookup tables and/or formulas for the conversion. Communication device 200 may include database 224 in storage 208 and also have a DB (database) manage process 232 for updating database 224.
Once receiving a request in XML format from host computer 300, conversion process 222 retrieves from database 224 conversion data corresponding to the request received, and converts the request into a request in control unit specific format.
A communication process 226 receives the converted request from conversion process 222, sends it to vehicle 100 and waits for a reply in control unit specific format from the vehicle. Once receiving a reply in control unit specific format from vehicle 100, communication process 226 provides the reply to a conversion process to XML format 228.
Conversion process 228, when receiving a reply in control specific format, retrieves conversion data corresponding to the received reply from database 224. Database 224 may also includes any information (e.g., lookup tables and/or formulas) for converting a reply in control unit specific format into a reply in XML format. In accordance with a lookup table or formula retrieved, conversion process 228 converts the received reply in control unit specific format into a reply in XML format so that host computer 300 can read the reply. An output process 230 receives the converted reply in XML format, and transmits it to host computer 300.
The instructions may further include an access control process 234 for performing an authentication procedure to allow host computer 300 to access communication device 200.
In the following, an operation of communication device 200 and host computer 300 will be described in more detail with reference to flow charts.
When a manufacturer is selected (step 704: Yes), models of the selected manufacturer are displayed for section (step 706). When the service technician selects a model and year of a vehicle (step 708: Yes), a list of information possible to be obtained from the selected vehicle is shown (step 710) and the service technician selects desired information from the list (step 712: Yes).
When the service technician selects type I (step 802: Yes), its relevant information is retrieved from database 340 to display parameters to be selected (step 804). For example, in-car temperature, ambient temperature and so forth are shown as the parameters.
If type I is not selected, but type II is selected (step 806: Yes), a list of tests to be able to perform in the selected vehicle is displayed (step 808). Further, if type I and type II are not selected, but type III is selected (step 810: Yes), a list of functions of the selected vehicle is displayed for specifying at least one of the functions to obtain an error code (step 812).
Returning to
By way of an example, it is assumed that the service technician selects type I, and in-car temperature and ambient temperature as the parameters.
The XML tag “PIDS” stands for a parameter identification showing that type I is selected by a service technician. The XML tag “DATA PARAMETER” is for designating a particular parameter selected by the service technician. In
Returning again to
According to the analysis in step 1100, conversion data corresponding to the request is retrieved from database 224 (step 1102). Then, the request in XML format is converted into a request in control unit specific format based on the conversion data retrieved. For example, when a request received instructs communication device 200 to obtain parameters as shown in
Returning to
When a reply in control unit specific format is received from vehicle 100 (step 1006: Yes), the received reply is converted into a reply in XML format in order for host computer 300 to read it (step 1008).
In
Returning again to
At host computer 300, the reply in XML format is displayed on display 312 (see step 722 in
In the above embodiment, host computer 300 has database 340 providing the selection menu to a service technician to create a request in XML format to be sent to communication device 200. However, a service technician can create a request without using the selection menu by using XML tags. In addition, host computer 300 may provide a template for creating a request, in which a service technician can fill necessary information.
In the above described embodiment, host computer 300 has database 340 in
Communication device 200 includes a database (DB) 240 containing conversion data and a selection menu in XML format (see
In creating a request in XML format in host computer 300 (see
Person skilled in the art will understand that a method for communicating with vehicle 100 performed by communication device 200 and host computer 300 is the same as that described based on
In the embodiment described above, host computer 300 and communication device 200 are independent of each other. In this alternative embodiment, there is a computer 380 configured for performing all the functions that communication device 200 and host computer 300 can provide.
A menu selection process 386, working together with input device 314 or cursor control 316, selects information from the selection menu, and then, a request creation process 388 creates a request in XML format based on the information selected by menu selection process 386. There are, for example, three types of requests: obtaining parameters, performing a test, and obtaining an error code, as described above.
A conversion process to control unit specific format 390 receives the request from request creation process 388 and converts it into a request in control unit specific format based on conversion data in database 382.
A communication process 392 receives the converted request from conversion process 390, sends it to, and waits for a reply from, vehicle 100. Since a reply from vehicle 100 also has a format specific to a control unit, the reply needs to be converted into a reply in XML format. When receiving a reply from vehicle 100, communication process 392 provides the reply to a conversion process to XML format 394. Conversion process 394, when receiving the reply, retrieves conversion data corresponding to the received reply from the database 382, and converts the reply in control unit specific format into a reply in XML format. The converted reply is provided to display process 384 and is displayed on display 312, as shown in
Computer 380 can send the reply to, for example, computer 326 or 330 through network link 322. Alternatively, computer 326 or 330 may access computer 380 to obtain the reply. In such a case, communication process 392 may provide an authentication procedure to allow computer 326 or 330 to access computer 380.
A detailed explanation of a method for communicating with vehicle 100 performed by computer 380 is omitted for brevity. Persons skilled in the art will understand that the method in this alternative embodiment is made clear by referring to
Having described embodiments, it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in the particular embodiments disclosed that are within the scope and sprit of the disclosure as defined by the appended claims and equivalents.