The invention will now be described with reference to the drawing figures, in which like reference numerals refer to like parts throughout. An embodiment in accordance with the present invention provides an apparatus and method to automatically detect the proper Volvo protocol for any Electronic Control Unit (“ECU”) in any Volvo model.
An embodiment of the present inventive apparatus is illustrated in
Memory card reader 110 can be a single type card reader, such as a compact flash card, floppy disc, memory stick, secure digital, flash memory or other types of memory. The memory card reader 110 can be a reader that reads more than one of the aforementioned memory such as a combination memory card reader. Additionally, the card reader 110 can also read any other computer readable medium, such as CD, DVD, UMD, etc.
The connector interface 112 allows the diagnostic tool 100 to connect to an external device, such as an ECU of a vehicle, a computing device, an external communication device (such as a modem), a network, etc. through a wired or wireless connection. Connector interface 112 can also include a USB, FIREWIRE, modem, RS232, RS485, and other connections to communicate with external devices, such as a hard drive, USB drive, CD player, DVD player, UMD player or other computer readable medium devices.
Selectable signal translator 210 communicates with the vehicle communication interface 230 through the connector interface 211. Signal translator 210 conditions signals received from an ECU unit through the vehicle communication interface 230 to a conditioned signal compatible with diagnostic tool 100. Signal translator 210 can communicate with, for example, the following communication protocols: J1850 (VPM and PWM), ISO 9141-2 signal, communication collision detection (CCD) (e.g., Chrysler collision detection), data communication links (DCL), serial communication interface (SCI), S/F codes, a solenoid drive, J1708, RS232, Controller Area Network (CAN), Keyword 2000 (ISO 14230-4) or other communication protocols that are implemented in a vehicle.
The circuitry to translate and send in a particular communication protocol can be selected by FPGA 214 (e.g., by tri-stating unused transceivers) or by providing a keying device that plugs into the connector interface 211 that is provided by diagnostic tool 100 to connect diagnostic tool 100 to vehicle communication interface 230. Signal translator 210 is also coupled to FPGA 214 and the card reader 220 via the first system bus 224. FPGA 214 transmits to and receives signals (i.e., messages) from the ECU unit through signal translator 210.
The FPGA 214 is coupled to the processor 202 through various address, data and control lines by the second system bus 222. FPGA 214 is also coupled to the card reader 220 through the first system bus 224. The processor 202 is also coupled to the display 104 in order to output the desired information to the user. The processor 202 communicates with the CPLD 204 through the second system bus 222. Additionally, the processor 202 is programmed to receive input from the user through the user interface 106 via the CPLD 204. The CPLD 204 provides logic for decoding various inputs from the user of diagnostic tool 100 and also provides glue-logic for various other interfacing tasks.
Memory subsystem 208 and internal non-volatile memory 218 are coupled to the second system bus 222, which allows for communication with the processor 202 and FPGA 214. Memory subsystem 208 can include an application dependent amount of dynamic random access memory (DRAM), a hard drive, and/or read only memory (ROM). Software to run the diagnostic tool 100 can be stored in the memory subsystem 208, including any database. The database related to Volvo or other vehicles can be part of the software that operates the tool or can be stored separately. In this embodiment, the database will contain information regarding the various Volvo models and their ECU components.
Internal non-volatile memory 218 can be an electrically erasable programmable read-only memory (EEPROM), flash ROM, or other similar memory. Internal non-volatile memory 218 can provide, for example, storage for boot code, self-diagnostics, various drivers and space for FPGA images, if desired. If less than all of the modules are implemented in FPGA 214, memory 218 can contain downloadable images so that FPGA 214 can be reconfigured for a different group of communication protocols.
After the system is selected, the diagnostic tool displays the appropriate equipment to use, such as what cable and key to use, at step 308. The key is required so that the cable can make the correct connection with a data link connector (DLC) in the vehicle. The DLC is a port located inside a vehicle, usually near the dashboard, that can be coupled to the diagnostic tool 100 via the connector interface 112 of the diagnostic tool 100, to allow the vehicle to communicate with the diagnostic tool 100. Commonly the DLC has 16 pins that are numbered and serve various purposes. At step 310, the user is instructed to turn the vehicle's key on, thus powering up the various ECUs in the vehicle. At this point, user interaction is ceased until the tool determines the ECU diagnostic part number or lets the user know that it could not determine the ECU diagnostic part number.
At step 312, the diagnostic tool 100 will now automatically attempt to determine the ECU diagnostic part number of the system that the user previously selected. Thus, at step 312, the tool attempts to communicate using the protocol ISO 9141-2. Under this standard, the rate of transmission of data is about 10.4 kbs. By using this protocol, the tool can determine if a certain pin or pin 7 is active on the DLC. Thus, at step 314, the diagnostic tool 100 checks to determine if it successfully communicated with the vehicle.
If there was successful communication or yes through ISO 9141-2, then at step 316, the diagnostic tool attempts the ISO 5 Baud “Wake Up.” At step 318, the diagnostic tool 10 determines whether the ECU responded to the “Wake Up.”
If the ECU responds to the “Wake Up,” then at step 320, the tool knows that the ECU selected by the user is using Keyword 2000 and the baud rate is also readily determined. The diagnostic tool 100 proceeds to step 340, as discussed below.
However, if at step 318, the ECU does not respond to the diagnostic tool's “Wake-Up” signal, then it is not known for certain what protocol and baud rate that diagnostic system is using. Therefore, the tool proceeds to step 326 where it is likely that the protocol being used in the vehicle is CAN. In this instance the baud rate is not known and must be determined by the tool.
Similarly, if at step 314, the vehicle does not communicate with the diagnostic tool using ISO 9141-2, then it is known that the vehicle uses CAN. The tool then proceeds to step 324, where the baud rate must be determined. CAN is not normally active and has to be activated using Keyword 2000. With Keyword 2000, the tool can activate a relay switch so that CAN communication can be initiated with the vehicle by sending a signal on pin 7.
CAN may be low speed or high speed depending on the Baud rate that they communicate with. Baud rates below 125 kbs is considered low speed while any Baud rates above 250 kbs is high speed. Other Baud rates can include 500 kbs, 1 Mbs or higher. Thus, the diagnostic tool must determine at what Baud rate the ECU is communicating at. As such, the process moves to step 328 (from steps 324 and 326) where the diagnostic tool 100 passively listens for the Baud rate being used on pins 6 and 14 and pins 3 and 11 located on the diagnostic link connector. Pins 6 and 14 are typically high speed and pins 3 and 11 are low speed.
Therefore, at step 330, the diagnostic tool determines whether it is able to communicate on pins 6 and 14. At step 332, the tool determines if communication was successful. If communication is successful, then the tool proceeds to step 340. However, if communication is not successful, the diagnostic tool 100 proceeds to step 334, where it attempts to communicate via pins 3 and 11. The diagnostic tool 100 then determines whether communication through 3 and 11 is successful, at step 336. If communication is successful, then the tool proceeds to step 340. However, if communication is not successful, the tool proceeds to step 338, where the diagnostic tool 100 displays a message regarding the inability to successfully communicate with the ECU. This may indicate to the technician that there may be hardware problems preventing the diagnostic tool 100 from successfully communicating with the vehicle under test.
Upon successful communication with the ECU, either by means of Keyword 2000 or CAN, the method proceeds to step 340 where the diagnostic tool 100 obtains the diagnostic part number or ECU key (8 digits plus 3 characters) and ECU complete part number (10 digits plus 3 characters). At step 340, the tool knows what communication protocol is utilized and at what Baud rate by the ECU. Once the diagnostic part number is obtained, the diagnostic tool 100, at step 344, compares it with an internal database of Volvo diagnostic part numbers to determine if the part number obtained from the ECU is present in the database. The database can contain either the diagnostic part number or the ECY complete part number. Thus, by retrieving both the diagnostic part number and the ECU complete part number, the tool can have a conduct a better match of the ECU.
If the diagnostic part number obtained is in the diagnostic tool's internal database the tool proceeds to step 322 where the part number is matched with the part number stored in the database and the pointers in the software will be reconfigured, if necessary, to the right dataset in the database. However, if the diagnostic part number is not in the database, a message is displayed at step 342, that informs the technician that the part number could not be matched in the database. Thereafter, the tool returns to step 306 and a list of available part numbers is displayed and the technician choose among them. The tool can also present to the user the closest matching part numbers in order to help the user narrow the list of potential ECUs.
The above described method is done in the tool via software, however, hardware or hardware and software combination to carry out the method is also contemplated. All the steps described here do not have to be performed in order, variations of the order of the steps are also contemplated.
The many features and advantages of the invention are apparent from the detailed specification, and thus, it is intended by the appended claims to cover all such features and advantages of the invention which fall within the true spirit and scope of the invention. Further, since numerous modifications and variations will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly, all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.