US 20050177286 A1
An improved scan tool, e.g., for OBD II, for use with vehicle computer networks. The improved scan tool determines the proper protocol to use to communicate with a vehicle computer network. The proper protocol is determined by requesting information from the vehicle computer network using a plurality of protocols and selecting the protocol that returns the most pieces of information. In addition, the improved scan tool determines a communications drop-out with one or more modules and automatically recovers from a the communications drop-out.
45. A method of operating an off-board device to communicate with a diagnostic system of a vehicle, the diagnostic system having one or more modules, comprising the steps of:
(a) determining a number of pieces of information received from one or more modules using a first communications protocol;
(b) determining a number of pieces of information received from the one or more modules using a second communications protocol; and
(c) selecting from the plurality of communications protocols a communications protocol to use for communications between the off-board device and the diagnostic system using at least the number of pieces of information received from the one or more modules using the first communications protocol and the number of pieces of information received from the one or more modules using the second communications protocol.
46. The method of
(a) requesting data from one or more of the diagnostic system modules using a first communications protocol;
(b) waiting a selected length of time;
(c) requesting data from the one or more of the diagnostic system modules using a second communications protocol upon expiration of the selected length of time.
47. The method of
48. The method of
49. The method of
50. The method of
51. The method of
52. The method of
53. The method of
54. The method of
55. The method of
56. The method of
57. The method of
58. The method of
59. The method of
60. The method of
61. The method of
62. The method of
63. The method of
64. The method of
65. The method of
66. The method of
67. The method of
“Off-board devices,” such as scan tools, are known in the art and are testing devices that interface with vehicle diagnostic systems to access, display, and/or print vehicle diagnostic information. OBD II (On-Board Diagnostics version II) Scan Tools are one commonly known type of scan tool and are governed by a number of standards, e.g., SAE J1978 Rev. 1988-02 and SAE J1979 Rev. 1997-09.
There are a number of problems with the existing scan tools and scan tool specifications. For example, in certain vehicles, e.g., various model years of HYUNDAI, VW, DODGE, and VOLVO vehicles, the known scan tools have communications drop-outs. One minute the user will be using a scan tool and be examining e.g., 28 different parameters, and the next instant there is no response for all but e.g., three, of the parameters. What the user does not know is that one or more controllers, e.g., the engine controller, which is typically the main ODB II controller, has dropped out, leaving only a secondary controller, e.g., a transmission controller, talking with the scan tool. The known scan tools must begin the entire session over again, which can take half a minute or more and must be prompted by the user. As another example, sometimes following the specifications for determining the proper protocol does not result in using the protocol that provides the most relevant information (e.g., the most emissions information). Following the specifications, a scan tool might select a protocol that ends up with far less emissions data than another protocol.
More specifically, protocol determination is automatic (hands off) determination of which communication protocol the vehicle is using for the OBD II functions. Some vehicles have multiple modules and these modules may use different communication protocols. But only one of these protocols contains all the OBD II information for the vehicle. Therefore, the scan tool must be able to determine which protocol is the correct one to use for OBD II purposes. This automatic determination is specified in a SAE J1978. Furthermore in section 6.4.1 and 6.4.2 the SAE has spelled out a procedure for trying the four (4) protocols and determining which one is the OBD II protocol supported by the vehicle to relate the appropriate functions. In section 6.4.1 the specification spells out that only one protocol is allowed to be used in any one vehicle to access all the supported OBD II functions. This does not mean than a vehicle cannot support more that one protocol, but that only one may be used as the OBD II link. The SAE has published a suggested method for determining the OBD II protocol in J1978 section 6.4.2.
Through on-vehicle testing the inventors of the present invention discovered that this recommended way has flaws: one ends up selecting the wrong protocol as the OBD II link. Therefore a scan tool following the recommendation is unable to determine the correct protocol and therefore unable to use all the covered OBD II functions and read all the available information from the vehicle. One of the vehicles in question, for example, is one that supports both ISO 9141-2 (ISO) and ISO 14230-4 (Keyword 2000). The engine control module uses ISO 14230-4 as its protocol and the transaxle control module uses ISO 9141-2. The engine controller is the module that supports the OBD II functions for the vehicle. But the SAE suggested procedure directs that one test for ISO 9141-2 first and if one receives a reply, then that was the protocol to use for the link. It is the same with ISO 14230-4, if it replies. This causes the scan tool to incorrectly choose the protocol being used by the transaxle as the OBD II protocol for this type of vehicle rather than the protocol being used by the engine controller. Now that the scan tool is using the wrong protocol, ISO 9141-4, it is only talking to the transaxle controller. The engine controller (and all the emissions information it has to offer) is not found. This type of problem can happen in other protocol combinations also.
Also, certain vehicles employ multiple modules that communicate using the same protocol. This type of system is subject to one or more of the modules to losing their active communication with off-board devices, like scan tools. If the scan tool does not realize that one or more of the modules has dropped the link, it will not be showing complete/correct data.
Once again during on-vehicle testing the inventors discovered that multiple module vehicles present certain problems. For example certain VW models that use an engine control module and a transaxle control module presented a problem. After determining the OBD II protocol and initializing both modules for communications, it was noticed that one or the other module would occasionally stop communicating. This problem could be seen while requesting information on several functions, such as the “View Data” function (also known as the “Live Data” function). For example, user might notice during one View Data session that two modules report the state of the Malfunction Indicator Lamp (“MIL”) and might notice on a subsequent View Data session on the same vehicle that only one module reports the MIL's state. The MIL's state from the other modules is now unknown. What happened is that, unknown to the user, one of the controllers dropped the communications link, so it did not respond to the request for the state of the MIL. These problems can result in OBD II information being misreported.
There is a need, therefore, for an improved scan tool.
The present invention is directed toward an improved “off-board device.” In one embodiment, the “off-board device” of the present invention is a scan tool. According to one aspect of the present invention, the improved scan tool uses a novel method of determining the proper protocol to use to communicate with a vehicle computer network.
According to another aspect of the present invention, the improved scan tool determines and automatically recovers from a communications drop-out. The scan tool of the present invention preferably, but not necessarily, includes both the novel method of determining the proper protocol to use to communicate with a vehicle computer network and the determination and automatic recovery from a communications drop-out.
It is therefore an advantage of the present invention to provide an improved scan tool that determines the protocol that provides the most relevant vehicle information (e.g., the protocol that provides the most emissions information).
It is also an advantage of the present invention to provide an improved scan tool that determines when a module has had a communications drop-out.
It is another advantage of the present invention to provide an improved scan tool that automatically recovers from a communications drop-out.
It is a further advantage of this invention to provide an improved scan tool that automatically recovers from a communications drop-out without requiring that the protocol be re-determined.
It is yet another advantage of the present invention to provide an improved scan tool that determines when a module has had a communications drop-out and that automatically recovers from a communications drop-out.
These and other advantages of the present invention will become more apparent from a detailed description of the invention.
In the accompanying drawings, which are incorporated in and constitute a part of this specification, embodiments of the invention are illustrated, which, together with a general description of the invention given above, and the detailed description given below, serve to example the principles of this invention, wherein:
“Circuit communication” as used herein indicates a communicative relationship between devices. Direct electrical, electromagnetic, and optical connections and indirect electrical, electromagnetic, and optical connections are examples of circuit communication. Two devices are in circuit communication if a signal from one is received by the other, regardless of whether the signal is modified by some other device. For example, two devices separated by one or more of the following—amplifiers, filters, transformers, optoisolators, digital or analog buffers, analog integrators, other electronic circuitry, fiber optic transceivers, or even satellites—are in circuit communication if a signal from one is communicated to the other, even though the signal is modified by the intermediate device(s). As another example, an electromagnetic sensor is in circuit communication with a signal if it receives electromagnetic radiation from the signal. As a final example, two devices not directly connected to each other, but both capable of interfacing with a third device, e.g., a CPU, are in circuit communication. Also, as used herein, voltages and values representing digitized voltages are considered to be equivalent for the purposes of this application and thus the term “voltage” as used herein refers to either a signal, or a value in a processor representing a signal, or a value in a processor determined from a value representing a signal.
The scan tool 10 is placed in circuit communication with a vehicle computer network 30 having one or more interconnected computers (“modules”) via a connection link carried by a communication cable 32. The connection cable 32 typically has a connector 34 affixed thereto that connects to a mating connector 36 in circuit communication with the vehicle computer network 30.
The processor circuit 12, also referred to herein as just processor 12, may be one of virtually any number of processor systems and/or stand-alone processors, such as microprocessors, microcontrollers, and digital signal processors, and has associated therewith, either internally therein or externally in circuit communication therewith, associated RAM, ROM, EPROM, clocks, decoders, memory controllers, and/or interrupt controllers, etc. (all not shown) known to those in the art to be needed to implement a processor circuit.
The communications circuit 14 typically generates one or more communications protocols with which the scan tool 10 and the vehicle computer network 30 communicate with one-another. The communications circuit 14 can be implemented either in hardware, or in software, or in a combination of hardware and software. Typical communications protocols generated by the communication circuit 14 of scan tools include but are not limited to: SAE J1850 (VPW), SAE J1850 (PWM), ISO 9141-2, and ISO 14230-4 (“Keyword 2000”). The present invention is not intended to be limited to any specific protocol or even to electrical communications protocols. Other present and future protocols, such as fiber optic and wireless communications protocols, are also contemplated as being within the scope of the present invention. The display 16 can be one or more of virtually any type of display, e.g., textual displays (such as n character by m line LCD or plasma displays, etc.), binary displays (such as LEDs, lamps, etc.), graphical displays (such as LCD displays that can display text and bar graphs and the like), etc. The input device(s) typically comprise one or more keys or a keyboard, but may be one or more of virtually any type of input device, such as touch screens, etc. The optional additional storage device(s) 20 can comprise, for example, cartridge memories (such as those containing EPROM, EEPROM, or Flash PROM memories), cartridge memories, PC cards, stick memories (such as SONY brand MEMORY STICK packaged memory semiconductors), so-called floppy diskettes, etc.
The processor 12 typically executes a computer program stored in its RAM, ROM, Flash memory, and/or its EPROM (all not shown) and/or stored in any of the additional storage device(s) 20, using data stored in any one or more of those memories. For example, the processor 12 may execute a computer program from a ROM (not shown) using data (e.g., codes) stored in a cartridge memory 20. In general, the computer program executed by the processor in typical scan tools initializes the scan tool and generates a user interface (e.g., using the input device(s) 18), through which a user causes the scan tool to communicate with the vehicle computer network 30 to read certain data from the vehicle computer network 30, format such read data, and display the formatted data on the display 16. At this high level, the scan tool 10 according to the present invention works the same: the computer program executed by the processor 12 initializes the scan tool 10 and generates a user interface (e.g., using the input device(s) 18), through which a user causes the scan tool 10 to communicate with the vehicle computer network 30 to read certain data from the vehicle computer network 30, format such read data, and display the formatted data on the display 16. A fundamental difference in the present invention is how the scan tool 10 of the present invention selects a protocol through which it communicates with the vehicle computer network 30. Another fundamental difference is how the scan tool 10 of the present invention detects and recovers from a dropped communications link.
Referring now to
In the case of an ODB II scan tool according to the present invention, the first protocol to test might be the SAE J1850 (PWM) protocol. Next, at 106, the processor 12 causes the communications circuit 14 to attempt to establish a communications link with the vehicle computer network 30 using the first protocol. If any modules answer, at step 108, the processor 12 causes the communications circuit 14 to request data from the module(s) using the first protocol, at 110. The data, if any, transmitted by the module(s) is stored by protocol and module. More specifically to an OBD II scan tool according to the present invention, at step 110, a request that will result in most if not all of the modules responding (such as a Mode 1 PID 0 request, or a Mode 1 PID 1 request) is issued and the number of pieces of information (in the case of a Mode 1 PID 0 request, the supported PIDs; in the case of a Mode 1 PID 1 request, the number of “monitors”) for all the modules is stored for that protocol. Then, or if no modules responded at test 108, the code tests, at step 112, whether all the protocols have been tested. If not, the code branches at 113 to step 114, where another communications protocol is selected to be tested. The protocols can either be tested in a predetermined fashion, or a random fashion, or a combination of predetermined and random. Then the code executes again from step 106 through step 112 with the next protocol until all the protocols (or selected protocols) have been tested. If none of the protocols generated a response from any modules, then the code preferably informs the user of this fact and provides the user with guidance and a number of options, as discussed below in the text accompanying tasks 338 and 426. If one of the protocols did generate a response from a module, then the code branches at 115 to step 116 where the requested data is analyzed to determine which protocol should be used. In general, the protocol resulting in the most pieces of relevant data being available or transmitted is selected. If there is a tie, a predetermined list of priorities, such as those provided in the OBD II specifications or those predetermined by some other means, can be used to break the tie. For example, suppose that the vehicle computer network 30 responds to a Mode 1 PID 1 request by reporting 7 monitors for the ISO protocol and by reporting 8 monitors for the Keyword 2000 protocol; the Keyword 2000 protocol would be chosen. Supposing that the vehicle computer network 30 responds to a Mode 1 PID 1 request by reporting 7 monitors for the ISO protocol and by reporting 7 monitors for the Keyword 2000 protocol; the ISO protocol would be selected, because that protocol takes precedence over the Keyword 2000 in the specifications. Thereafter, the communications circuit 14 communicates with the vehicle computer network 30 using that selected protocol, as shown at task 118. As shown at step 120, the scan tool 10 then reads and displays data from the vehicle computer network 30 in response to user commands, using the selected protocol.
Another important aspect of the present invention is how the scan tool 10 of the present invention handles communications drop-outs. In general, the present invention determines whether a module has dropped out or has merely ignored a request for data.
Additionally, after a communications drop-out is detected, the present invention preferably communicates with the vehicle computer network 30 using the protocol determined by the code shown in
Referring now to
Trying the request at step 204 again should not be repeated indefinitely, or the code might end up in an endless loop (as might happen, e.g., if the transmitted communication/request at 204 was causing one or more of the modules to stop communicating). Also the physical connection or power to the modules might have been lost, causing one or more modules to stop linking. Therefore, eventually, it should be reported to the user that the scan tool 10 has detected a communications drop-out, as shown at 222.
The code shown in flowchart form in
Another example of code specifically tailored to an OBD II environment is shown in
On the other hand, if at 408 the same modules are not still linked in response to the request issued at step 402, then there has been a communications drop-out and the code branches at 418, where the code increments a counter (previously zeroed) at 420. This counter is tested at 422 and if the counter has reached a predetermined threshold, e.g., three (3), then the code branches at 424 and user is advised of the situation at 426 (i.e., there was a failure to determine a protocol because none of the protocols of
The example of
While the present invention has been illustrated by the description of embodiments thereof, and while the embodiments have been described in some detail, it is not the intention of the applicant to restrict or in any way limit the scope of the appended claims to such detail. Additional advantages and modifications will readily appear to those skilled in the art, for example, using fiber optic or wireless protocols. Of course, in the OBD II context, a Mode 1 PID 0 request need not be used; other codes might flush out the available modules and monitors. As another example, the teachings of the present invention are not limited to scan tools, per se. They can, for example, be implemented in other off-board devices, such as in PC-based emissions and maintenance test systems, such as those found at many state EPA testing centers and in end-of-line testers used by automobile manufacturers. Therefore, the invention in its broader aspects is not limited to the specific details, representative apparatus and methods, and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of the applicant's general inventive concept.