printable version
The controller interface of a personal computer with on-board diagnosis system OBD II under reports of standards SAE (PWM and VPW) and ISO 9141-2
| Standard VPW responsible production model of GM, the standard PWM - Ford, the standard ISO 9141-2 - Asian and European models. |
Total information The subject device is a microcontroller configured for CMOS technology (CMOS). | The controller is not designed to connect to the onboard systems of the first generation of self-diagnosis (OBD I)! |
The device acts as a simple scanner is used to read diagnostic trouble codes and data systems OBD II (engine speed, coolant temperature and intake air load characteristics, the flow of air entering the engine, etc.) in the standard SAE J1979 bus every execution (PWM, VPW and ISO 9141-2). The main purpose To connect to a computer (PC) enough 3-core wire connected to the diagnostic connector made 6-wire cable. The supply voltage is supplied to the controller via a 16-pin diagnostic connector OBD. Schematic diagram of the controller interfacing with the PC system OBD II Recommended Use To connect the device to the car can be used unshielded cable is no longer than 1.2 m, which is of particular importance when using the protocol PWM. When using long cables, reduce the resistor at the input device (R8 and R9 or R15). When using a shielded cable, the screen should be turned off to reduce capacity. The cable for connection to a PC serial port can also be unshielded. The device works steadily with cable length up to 9 m. At much longer cable lengths, use a more powerful RS-232 device. The topology of the electrical connections is arbitrary. When humidity apply additional shunt capacitors. Free software (browser) for reading codes and data can be downloaded from the manufacturer's website or the website of our publishing house (arus.spb.ru), and is intended for use under DOS. Small size in the application software version of "under DOS?� allows you to fit it on a DOS boot disk and use even on computers equipped incompatible with the DOS software. Optional condition is even presence in the computer hard disk. General principles of data sharing | If the contrary is specifically stated otherwise, all numbers are given in 16-hex format (hex), decimal format are labeled dec. |
Data exchange is on the three-wire serial connection, without initialization sharing service messages (handshaking). The device listens to the channel for messages, carries out the received command and sends the results to a personal computer (PC), and then immediately returns to listening mode. Incoming and outgoing controller of a data arranged in a series string of consecutive bytes, the first of which is a control. Typically, the control byte is a number from 0 to 15 dec (or 0-F hex), the following description describes the number of data bytes. For example, 3-byte command is as follows: 03 (check byte) 1st byte 2nd byte 3rd byte. This format is used for entering commands to the survey on-board self-diagnostic system, and outbound messages containing the requested information. Note that in the control byte are used, only four lower bits, - the upper bits are reserved for some special commands may be used when initializing PC connected to the controller and negotiating a data transfer protocol, and a controller for control of transmission errors. In particular, in case of transmission errors, the controller unit produces the most significant bit (MSB) of control byte unit. If successful transfer all four bits are set to zero. | There are some exceptions to the rules of use of the control byte. |
Initialize the controller and on-board self-diagnostic system To begin data exchange PC must make a connection with the controller, the controller then initialized and the data channel OBD II. Making a connection After connecting the controller to the PC and the OBD diagnostic must be made of its initialization to prevent "lag" associated with noise in successive lines if their connection was made to turn on the power controller. It also provides simple verification interface activity. The first signal is sent byte 20 (hex), the controller perceived as a team to establish the connection. In response, the controller sends a control instead of a single byte FF hex (255 dec) and goes into standby mode reception. Now PC may transition to the initialization data channel. | This case is one of the few where the controller uses the control byte. |
Initialization At this stage, the initialization protocol, which will be exchanged, and in the case of protocol ISO - initialization of the onboard system. The data exchange is carried out by one of three protocols: VPW (General Motors), PWM (Ford) and ISO 9141-02 (Asian / European manufacturers). | There are many exceptions: for example, in the survey of some models of Mazda vehicles can be used Ford protocol PWM. Thus, if transmission problems occur should first try to use any other protocol. |
Protocol selection by transmission combination consisting of the control byte 41 (hex) and immediately following the byte defining the protocol type: 0 = VPW, PWM = 1, 2 = ISO 9141. For example, the command 41 (hex) 02 ( hex) to initialize ISO protocol 9141. In response, the controller sends a control byte and the status byte. Setting MSB control byte indicates the presence of problems, while following it the status byte will contain the relevant information. Upon successful initialization of the control byte sent to 01 (hex), indicating that the verification is followed by a status byte. In the case of reports VPW and PWM verification byte is a simple echo byte protocol selection (0 or 1, respectively), during initialization ISO protocol 9141 this will be a digital key returned by onboard processor and determines which of the two slightly differing versions of the protocol will be used. | Digital key has a purely informational purpose. |
It should be noted that the initialization protocol VPW and PWM occurs much faster because it requires only the transfer of relevant information to the controller. On models that meet the standard of ISO, initialization takes about 5 seconds spent on the exchange of information with the controller's onboard processor, produced at a rate of 5 bps. Attention is drawn to the reader that on some models of cars of family ISO 9141 initialization protocol is suspended, if the request for the issuance of the data will not be transferred over a 5-second interval - this indicates that the PC should make automatic issue queries every few seconds, even in idle mode. Once the connection and initialization protocol begins regular exchange of data, consisting of coming from the PC requests and responses issued by the controller. The procedure for data exchange The operation of the controller by using a family of protocols ISO 9141-2 and SAE (VPW and PWM) occurs on several different scenarios. Exchange under reports SAE (VPW and PWM) If the data exchange takes place according to the protocol buffering only one frame of data that is subject to the need to define the seizure or return of the frame. In some (rare) cases, on-board processor can transmit packets, consisting of more than one frame. In this situation, the request must be repeated until all frames until the packet will be accepted. Request always formed as follows: [Control byte] [Request standard SAE], [block number]. As mentioned above, the control byte is normally a number equal to the total number of bytes following it. The request is made in accordance with the specification SAE J1950 and J1979 and consists of a header (3 bytes), a sequence of information bytes and byte error control (CRC). Note that while the information on request is formed in strict accordance with the specifications of SAE, consumer control byte and frame number is the controller interface. If successful, the procedure is always the response message has the following format: [Control byte], [A standard SAE]. The control byte, as above, determines the number following it information bytes. Response in accordance with the requirements of SAE standard consists of a header (3 bytes), chain data bytes and CRC bytes. When failure is sent to 2-byte response message: [Control byte], [Status byte]. In this case, the control byte installing MSB. The four least significant bits form the number 001, indicating that the audit trail for a single byte, - the status byte. This situation can arise often enough as specifications allow for the possibility of non-refoulement-board data processor, as well as the transfer of incorrect data when a request does not meet the standard supported by the manufacturer of the car. The situation is also possible, when the requested data is not available in RAM CPU at the current time. When the controller does not receive the expected response, or gets corrupted data, installing MSB control byte, followed by the reference given the status byte. When collisions in the bus interface generates a single byte 40 (hex), which is a control byte with zeroing LSB. This situation can occur frequently when downloading a car tire by higher than the priority of diagnostic data - the computing device should repeat the original request. Exchange protocols ISO 9141-2 The standard ISO 9141-2 is used by most Asian and European automotive manufacturers. The structure formed PC inquiry is not much different from that used in the SAE with the only difference that the controller does not require information on the frame number and related information present in the package should not be. Thus, inquiry is always made of the control byte and the subsequent data bytes them chain comprising a checksum. As a response message controller simply relays signals generated onboard processor. The control byte in the reply message is not available, so the PC receives the incoming information continuously as long as the chain is not interrupted by a pause length of 55 milliseconds, announces the completion of the information package. Thus, the response message may consist of one or more frames in accordance with the requirements of Specifications SAE J1979. The controller does not analyze the frame, does not cast nondiagnostic frames, etc. PC has its own produce processing of incoming data to the isolation of individual frames by analyzing the header bytes. | The answers to most queries consist of a single frame. |
Modifications made in the latest versions of the interface controllers The following are the main differences between the data transfer protocols SAE and ISO 9141, specific to the latest versions of the interface controllers, and the order of data transmission protocol ISO 14230: - The ISO 9141: Added an address byte;
- The ISO 9141: This returns not one but two key bytes (the extra byte is returned as in modes SAE, however here it is not used);
- Added support for ISO 14230 protocol.
| All data bytes are transferred to the 16-hex format. |
| The symbol of the XX stands for an indefinite reserved or unidentified bytes. |
Making a connection To install the connection has not changed: Sending: 20 Admission: FF
Protocol selection It is used the following scheme: VPW: Sending: 41, 00 Admission: 02, 01, XX
PWM: Sending: 41, 01 Admission: 02, 01, XX
ISO 9141: Sending: 42, 02, adr, where: adr - address byte (usually 33 hex) Receive: 02, K1, K2, where K1, K2 - key bytes ISO Or, 82, XX, XX (initialization error ISO 9141)
ISO 14230 (quick initialization): Sending: 46, 03, R1, R2, R3, R4, R5, wherein: R1 ÷ R5 - start message request ISO 14230 of the connection, usually R1 ÷ R5 = C1, 33, F1, 81, 66 Admission: S1, S2, ........., where S1, S2, ......... - start message response ISO 14230 to establish the connection
| Can be transmitted sequentially over one ECU. The response can be used as a negative response code. |
A typical positive response is as follows: S1, S2, ....... = 83, F1, 10, C1, E9, 8F, BD ISO 14230 (slow initialization): Similarly, ISO 9141 Notes and Comments If you plan to use the controller to transmit data only on any one or two of the protocols, redundant components may be omitted (see. The scheme above). For example, if a protocol schema organization VPW (GM) of the wire controller is connected to the vehicle require only three electrical conductors (terminals 16, 5 and 2). Unless PWM protocol used, can be omitted elements R4, R6, R7, R8, R9, R10, T1, T2, and D1. Upon cancellation of the exchange on the ISO protocol elements to be deleted: R15, R16, R17, R18, R19, R21, T4 and T5. Avoiding the use of VPW protocol eliminates the following elements: R13, R14, R23, R24, D2, D3 and T3. Applied coal-film resistors with five percent tolerance resistance. Note the absence of the emergency reset button (RESET), if necessary, this reboot can be done by removing the controller from the car connector (interface processor restart will occur automatically). Restart software on PC leads to a new interface initialization.
|