7.3.3. The controller of interface of the personal computer to onboard system of self-diagnostics of OBD II under protocols of the SAE standards (PWM and VPW) and ISO 9141-2
|
To the VPW standard models of production of the GM company meet, the PWM standard - Ford, ISO 9141-2 - Asian and European models. |
General data
The considered device represents the microcontroller executed on KMOP (CMOS) technology.
|
The controller is not intended connections to onboard systems of self-diagnostics of the first generation (OBD I)! |
The device carries out a role of the elementary scanner and is intended for reading of diagnostic codes and data of the OBD II system (engine turns, temperature of cooling liquid and the soaked-up air, load characteristics, a consumption of the air coming to the engine, etc.) within the SAE J1979 standard via the tire of any execution (PWM, VPW and ISO 9141-2).
Main destination
For connection to the computer of rather 3-wire wire, connection to the diagnostic socket is carried out by a 6-wire wire. Supply voltage moves on the controller via the 16-contact diagnostic OBD socket. The schematic diagram of the controller is given below.
Scheme of the controller of interface of the personal computer to onboard system of self-diagnostics of OBD II
Recommendations about application
For connection of the device to the car the unscreened cable, no more than 1.2 m long can be used that has special value when using the PWM protocol. When using a cable of bigger length it is necessary to reduce resistance of resistors on an entrance of the device (R8 and R9 or R15). When using a screened cable, the screen should be switched-off for the purpose of decrease in capacity.
The cable for connection to a serial port of the computer can also be unscreened. The device steadily works with a cable up to 9 m long. With much bigger length of a cable it is necessary to use more powerful communicator of RS 232.
The topology of electric connections is any. At the increased humidity use the additional shunting condensers.
The free software (browser) for reading of codes and data can be downloaded from the websites of producers, or the website of our http://arus.spb.ru publishing house, and is intended for use under DOS. The insignificant size of a software application in option "under DOS" allows to accomodate it on the loading diskette DOS and to use even on the computers equipped with the software, incompatible with DOS. An optional condition is even existence in the computer of the hard drive.
General principles of data exchange
|
If opposite is not stipulated especially, all numbers are given in a 16-richny format (hex). |
The decimal format is designated by dec tag.
Data exchange goes on three-wire consecutive connection, without application of initsializatsionny exchange of office messages (handshaking). The device wiretaps the channel on existence of messages, executes the accepted commands and transfers results to the personal computer (PC) then immediately comes back to the listening mode. The data entering the controller and proceeding from it are organized in the form of a chain of the bytes which are consistently going one after another, first of which is control. Usually control byte represents the number from 0 to 15 dec (or 0-F hex) describing the number of the information bytes following further. So, for example, the 3-byte team will look as follows: 03 (control byte), 1st byte, 2nd byte, 3rd byte. The similar format is used as for the entering teams on poll of onboard system of self-diagnostics, and for the outgoing messages containing the requested information. It is necessary to notice that in control byte only four younger bits are used, - the senior bits are reserved under some special teams and PC at initialization of connection with the controller and coordination of the protocol of data transmission can be used, and also the controller for control of errors of transfer. In particular, in case of a mistake by transfer, the controller makes installation of the senior meaning bit (MSB) of control byte in unit. By successful transfer all four senior bits are established in zero.
|
There are separate exceptions to the rules of use of control byte. |
Initialization of the controller and onboard system of self-diagnostics
To start data exchange of PC has to make installation of connection with the controller, then initialize the controller and the channel of data of OBD II.
Connection installation
After connection of the controller to PC and the diagnostic OBD socket its initialization for the purpose of prevention of the "lags" connected with noise in consecutive lines has to be made in case their connection was made before inclusion of power supply of the controller. The simplest check of activity of the interface is at the same time made. First of all the one-byte signal of 20 (hex) perceived by the controller as the command for connection installation is sent. In reply the controller instead of control sends the only byte of FF hex (255 dec) and passes into a waiting mode of reception of data. Now PC can pass to initialization of the channel of data.
|
This case is one of the few when the controller does not use control byte. |
Initialization
At this stage initialization of the protocol under which data exchange will be made, and in case of the ISO protocol – initialization of onboard system is made. Data exchange is made on one of three protocols: VPW (General Motors), PWM (Ford) and ISO 9141-02 (Asian/European producers).
|
There is a set of exceptions: so, for example, at poll of some models of the Mazda cars the Ford PWM protocol can be used. Thus, at emergence of problems of transfer it is necessary first of all to try to use any other protocol. |
The choice of the protocol is made by transfer of the combination consisting of control byte 41 (16-richn.) and the byte defining protocol type following directly it: 0 = VPW, 1 = PWM, 2 = ISO 9141. So, for example, on team 41 (hex) 02 (hex) initialization of the ISO 9141 protocol is made.
In reply the controller sends control byte and byte of a state. The MSB installation of control byte speaks about existence of problems, at the same time the byte of a state following it will contain the relevant information. At successful initialization the control byte of 01 (hex) indicating that the verification byte of a state follows further is sent. In case of the VPW and PWM protocols the verification byte represents a simple echo of byte of the choice of the protocol (0 or 1, respectively), at initialization of the ISO 9141 protocol it will be the digital key returned by the onboard OBD processor and defining what of two versions of the protocol which are slightly differing from each other will be used.
|
The digital key has purely information appointment. |
It is necessary to notice that initialization of the VPW and PWM protocols happens much quicker as demands only transfer of the relevant information to the controller. On the models meeting ISO, initialization takes about 5 seconds spent for the exchange of the controller of information with the onboard processor made with a speed of 5 baud. It is necessary to draw the attention of the reader that on some models of cars of the ISO family 9141 initialization of the protocol stop if the request for issue of data is not transferred during a 5-second interval, - told means that PC has to make automatic delivery of inquiries each several seconds, even in the single mode.
After installation of connection and initialization of the protocol regular data exchange, consisting of the inquiries arriving from PC and the answers issued by the controller begins.
Data exchange order
Functioning of the controller when using protocols of the ISO 9141-2 and SAE family (VPW and PWM) happens according to a little various scenarios.
Exchange under the SAE protocols (VPW and PWM)
At data exchange under these protocols there is a buffering of only one shot of data that means need of a specification subject to capture or return of a shot. The onboard processor can transfer the packages consisting more than of one shot in some (rare) cases. In such situation the inquiry has to repeat until all shots of a package are not accepted.
The inquiry is always formed as follows: [Control byte], [Inquiry according to the SAE standard], [Number of a shot]. As it was already mentioned above, the control byte usually represents the number equal to the full number of the following bytes behind it. The inquiry is made out according to the SAE J1950 and J1979 Specifications and consists of heading (3 bytes), the sequence of information bytes and byte of control of a mistake (CRC). Let's notice that while information on inquiry is formed in strict compliance with the SAE Specifications, a consumer of control byte and number of a shot is the interface chip.
At a successful completion of the procedure the response message always has the following format: [Control byte], [The answer according to the SAE standard]. The control byte, as well as earlier, defines the number of the information bytes following it. The answer according to requirements of the SAE standard consists of heading (3 bytes), a chain of information bytes and byte of CRC.
At failure the 2-byte response message is sent: [Control byte], [State byte]. At the same time in control byte the MSB installation is made. Four younger bits form number 001 demonstrating that control is followed by the only byte - state byte. This situation can arise rather often as Specifications allow a possibility of a lack of distribution the onboard processor of data, and also transfer of incorrect data in case the inquiry does not conform to the standard supported by producers of the car. Also the situation when required data are absent in random access memory of the processor of time at the moment is possible. When the chip does not receive the expected answer, or obtains the damaged data, the MSB installation of control byte is made, and after control the state byte is given.
At collisions in the tire the interface develops the only byte of 40 (hex) which is control byte with the nullified younger bit. The similar situation can arise rather often when loading a car tire messages of higher than at diagnostic data of a priority, - the computer has to repeat initial inquiry.
Exchange under the ISO 9141-2 protocols
ISO 9141-2 is used by most of Asian and European producers of automotive vehicles. The structure of the formed PC of inquiry a little in what differs from used in the SAE standards with only that difference that the chip does not need information on number of a shot and the relevant information should not be present at a package. Thus, the inquiry always consists of control byte and the chain of the information bytes including checksum following it. As the response message the chip just relays the signals created by the onboard processor. The control byte in the response message is absent therefore PC perceives the arriving information continuously until the chain is not interrupted by the pause 55 milliseconds long reporting about end of information package. Thus, the response message can consist of one or more shots according to requirements of the SAE J1979 Specifications. The chip does not make the analysis of shots, does not reject not diagnostic shots, etc. PC has to make by own forces processing of the arriving data with the purpose of exarticulation of separate shots by the analysis of heading bytes.
|
Responses to the majority of inquiries consist of the only shot. |
The modifications made in the interface controllers of the latests version
The main differences of process of data transmission under the SAE and ISO 9141 protocols, characteristic of the interface controllers of the latests version, and also a data transmission order under the ISO 14230 protocol are given below:
- ISO 9141: The address byte is added;
- ISO 9141: Return not of one, but both key bytes is carried out; (the additional byte comes back also in the SAE modes, however here it is not used).
- Support of the ISO 14230 protocol is added.
|
All information bytes are transferred in a 16-richny format. |
|
The symbol XX means the uncertain, reserved or unknown byte. |
Connection installation
The order of installation of connection did not change:
Sending: |
20 |
Reception: |
FF |
Choice of the protocol
VPW: |
|
Sending: |
41, 00 |
Reception: |
02, 01, XX |
PWM: |
|
Sending: |
41, 01 |
Reception: |
02, 01, XX |
ISO 9141: |
|
Sending: |
42, 02, adr, where: adr - address byte (usually 33 hex) |
Reception: |
02, K1, K2, where K1, K2 - key bytes of ISO |
Or: |
82, XX, XX (error of initialization of ISO 9141) |
ISO 14230 (bystry initialization): |
|
Sending: |
46, 03, R1, R2, R3, R4, R5, where: R1 ÷ R5 - the message on the beginning of request of ISO 14230 on connection installation, usually R1 ÷ R5 = C1, 33, F1, 81, 66 |
Reception: |
S1, S2, … … … - messages on the beginning of the response of ISO 14230 to connection installation |
|
More than one ECU can consistently be transferred. As the answer the negative code of the answer can be used. |
Typical affirmative answer looks as follows: S1, S2, … …. = 83, F1, 10, S1, E9, 8F, BD
ISO 14230 (slow initialization): Similar to ISO 9141
Remark and comments
If use of the controller for data transmission only on any to one is planned or to two of protocols, excess components can be excluded (see the scheme above). For example, at the organization of the scheme under the VPW (GM) protocol in a wire of connection of the controller to the car only three veins of an electrical wiring (plug 16, 5 and 2) will be required.
If the PWM protocol is not used, the R4, R6, R7, R8, R9, R10, T1, T2 and D1 elements can be excluded.
At refusal of exchange under the ISO protocol elements are subject to an exception: R15, R16, R17, R18, R19, R21, T4 and T5.
The refusal of use of the VPW protocol allows to exclude the following elements: R13, R14, R23, R24, D2, D3 and T3.
Coal and film resistors with the 5 percent admission of resistance are used.
Pay attention to lack of the button of emergency reset (RESET), in case of need such reset can be made by a controller detachment from the automobile socket (reset of the interface processor will happen automatically). Restart of the software on PC leads to new initialization of the interface.