亚洲欧美日韩在线中文字幕_欧美极品另类_99视频在线精品免费观看18_天天干天天操天天插

Automotive OBD2 diagnostic program development

2019-09-17 11:13:21 root 779

2019-05-28 11:01:37 root 396

1, because EST527 has established a physical layer, data link layer and part of the application layer protocol for you, so as long as the OBD2 standard application layer protocol text, ISO15031-5 or SAE J1979 (the two protocols are the same content).

2, EST527 diagnostic interface 1 set or use EST527 chip to build their own circuit.

3, a home PC computer.

4, install the software: Accessport debugging software and VC++ (or VB, BC++, etc.) your favorite development software.

5, the symbol OBD2 standard car engine computer (or one car)

With these in mind, you can start developing your OBD2 standard program! ! !

EST527 basic information

EST527 communicates with single-chip microcomputer, PDA or PC RS232 through a UART serial port. RS232 serial port is not equipped on some new PCs. It can communicate with EST527 through virtual serial port. For example, USB TO RS232, Ethernet TO RS232, or Bluetooth TO RS232 and many more.

------- RS232 ------ OBD2 cable ----------

| PC |<----------->| EST527|<------------>|Car Diagnostics |

------- ------ ----------

Regardless of the physical connection you use, you can use the HyperTerminal or serial debugging tools to send and receive characters directly from the keyboard. Before using the serial port debugging software, you must first set the correct COM port number and the correct baud rate. Typically 9600 baud (PIN6=0V), or 38400 baud (PIN6=VCC, PP OC default setting). The serial port is set to: 8 data bits, check digit: 0, stop bit 1 bit. If the setting is wrong, it will not be able to communicate normally with EST527. All responses from EST527 end with a carriage return (0X0D) and an optional newline character (0X0A). Connect properly and turn on the power. EST527 will drive the test LED light, (sparking 3 times), send:

EST527 starting

If you receive the above information correctly, the serial port and connection settings are correct. The second line ">" symbol indicates that EST527 is idle and can receive data from RS232 immediately. If the ">" symbol is not received, data is sent to EST527, which may cause data loss. An incorrect response occurred. The format of the instruction sent by the PC from the serial port to EST527:

EST527 has two formats of commands

1. The OBD connection command communicates with the vehicle.

2. Internal commands, all starting with AT, do not communicate with the vehicle.

l Send ASCII characters that must end with 0x0d (carriage return). The characters following the carriage return are discarded by EST527.

The lEST527 internal command begins with "AT" followed by visible characters. Invisible words with spaces are ignored.

The lOBD command can only contain hexadecimal ASCII codes (0-9, a-f, A-F), and spaces are ignored.

l If the sent command cannot be effectively interpreted by EST527, EST527 will return a “?” indicating that the send command is invalid.

When EST527 processes the OBD command, EST527 continuously monitors the RTS pin and RS232 input. If any of these conditions occur, EST527 will interrupt the current OBD command, causing it to quickly return to the prompt ">" and wait for a new command.

l Upper and lower case characters can be received by EST527, and spaces are ignored. The metaphor commands "ATZ", "atz", and "at z" are the same.

Analogy, we send a reset command to EST527 as long as the ASCII character "ATZ" + 0x0d (carriage return) is sent to the RS232 serial port;

EST527 Starting

>ATZ

ELM327 v1.2

Note: The ATZ command returns ELM327 V1.2 in order to use the off-the-shelf foreign OBD software, so this return message is used.

Return to the chip information with the "ATI" command.

>ATI

EST527 v1.0

Return the chip number with the "AT@S" command (this number is required to upgrade the hardware and provide warranty service)

>AT@S

CodeNumb: 98643423

>

 

OBD command for EST527

 

If the command you send to EST527 starts with ASCII in hexadecimal, EST527 considers it to be an OBD command. After receiving EST527, it converts the ASCII hexadecimal number into a single byte of hexadecimal data and sends it to the vehicle. Computer data bus. The OBD command is actually embedded in the data message packet and sent to the data bus. Most standards require that each data message packet contain a three-byte header and the last data check byte. EST 527 automatically adds these additional bytes. These default values do not need to be changed for the OBD2 diagnostic mode request instructions, but if you want to change these header byte values, you can change them with the internal command "ATSH XXXXXX".

 

Most OBD instructions are only one byte or two bytes long. The maximum length that EST 527 allows to send is the byte specified by the standard. The excess will be discarded. The OBD instruction issued cannot display a single number. The hexadecimal number must be sent in pairs. It is impossible to send a single “0” in metaphor 0. “00” must be sent. If a single digit appears, EST527 considers the instruction format wrong and will return One"?". Since OBD (Automotive Diagnostic Standard) uses hexadecimal, the data sent by EST527 is also hexadecimal. The decimal value of the representative of Example 15 is 21;

 

After sending the OBD2 command, EST527 waits to receive the OBD message from the bus. If the address message is received and the address matches, EST527 sends the data from RS232 to the PC. If the message received by EST527 does not match the sent address, then Ignore the message. However, the received message packet can also be viewed through the ATBD internal command. If the waiting time (the default value of P2MAX ATST command, default value 100ms) ends and no data of the matching address is received, EST527 returns "NO DATA". If the data is received and the address matches, the counting time is reset and wait until the data is received. Waiting time overflows.

 

OBD2 standard diagnostic mode

 

To develop the OBD2 diagnostic program, you must master the nine diagnostic modes defined by ISO 15031-5 (SAE J1979). For friends who are not very good in English, this site has a Chinese description:

Can refer to:

 

OBD system output information mode / service

Mode 1: Request powertrain current data

Mode 2: Request to freeze data

Mode 3: Request the emission related power system diagnostic trouble code

Mode 4: Clear/Reset Emission Related Diagnostic Information

Mode 5: Request oxygen sensor to monitor test results

Mode 6: Request non-continuous monitoring system OBD test results

Mode 7: Request continuous monitoring system OBD test results

Mode 8: Request to control in-vehicle systems, tests or parts

Mode 9: Read vehicle and calibration identification number

Each mode is followed by a parameter identification (PID) indicating what parameters are followed. The PID 00 of each mode is a parameter defined by ISO15031. Each computer that conforms to the standard must support this parameter identification. Indicates whether this mode supports other PIDs.

 

Communication with vehicle data

 

Format of the OBD2 command

 

1, the complete format of the OBD2 diagnostic command message package (the large part of the vendor-specific function is also this format), EST527 can automatically set the Header / ID / PCI / CHECKSUM part of the data, for the standard OBD2 diagnostic program you There is almost no need to care about modifying it. Want to know about the content, they are defined in the text defined by the ISO14230-2, J1850, IS9141-2 and ISO15765-2 data link layers.

 

EST 527 automatically detects the physical connection of the data bus, can automatically search for the current vehicle protocol between protocols 1-9, and automatically returns data after the search. Of course, you can also manually set to a specific protocol. EST 527 does not search for the A-F protocol because the A-F protocol does not have a uniform ISO 15031 application layer protocol like OBD2, so automatic search becomes meaningless.

 

2, ISO15031 (SAE J1979) is the application layer protocol, it also does not care about what physical layer protocol to use (EST527 automatic connection), you only need to send data when programming, and receive and process the received data (calculation or display) ). So with so many physical connections, the packets are sent and received in a unified standard, and our programming becomes relatively simple. Let's discuss the OBD2 instruction.

 

3, here we only need to care about the 7-byte data (data byte) part of the data message packet.

 

ISO15031-5 definition:

 

Byte meaning

1 MODE represents the type of request data

2 PID parameter identification

3-7 According to different MODE and PID ISO15031-5 has a detailed definition

 

As shown in the figure above, connect the line and turn on the key to ON, do not start the vehicle. No need to make any settings, as long as you send instructions to EST527, EST527 automatically returns the data of the vehicle response.

Example 1: The figure shows: “0100” stands for ISO15031-5 to define the MODE 01 PID 00 command.

>01 00

41 00 BF 9F B9 90

The first byte 41 represents Mode 01 (01+40, standard definition)

The second byte 00 represents PID 00

3-6 bytes is the data sent back by the vehicle about the MODE 01 PID 00 request.

Indicates the bit-by-bit data defined by the other (PID01---PID32) flag supported by mode 00. 1 means support 0 means not supported.

 

Example 2: Request (read) engine water temperature MODE 01 PID 05

 

We simply send 0105 instructions to the vehicle.

>0105

41 05 7B

 

41 stands for MODE 01

05 stands for PID 05

7B is the water temperature value. The decimal value is (7*16+11)123. The water temperature is 123-40=80 degrees.

 

Example 3: Read engine speed rpm MODE 01 PID 0C

 

Also just send to EST527: 010C

 

>01 0C

41 0C 1A F8

1AF8 is a 2-byte hexadecimal value, converted to a decimal number of 6904, 1/4 rpm per division

The speed is 6904/4=1726 rpm

 

Note: The conversion of the above data, and the format is defined in ISO15031-5

 

Read OBD2 DTCs Diagnostic Trouble Codes

 

Reading the fault code is the most commonly used function of the diagnostic instrument. Here is a brief explanation. For details, please refer to the ISO15031-5 text.

Under normal circumstances, you can directly read the current fault code with MODE 03, but here we

 

First use MODE 01 PID 01 to read how many fault codes are present in the ECU.

 

>01 01

41 01 81 07 65 04

>

 

41 01 The previous description of the response code for MODE 01 PID 01,

81 represents the current fault code number. This decimal value is 129, which does not mean that there are 129 fault codes.

81 Its highest MSB represents whether the fault light is lit, and the lower 7 bits represent the number of fault codes.

The hexadecimal algorithm should be 0x81 & 0x7F = 0x01 so it is a fault code. Also, the decimal value is directly reduced by 128.

Namely: 129-128=1;

 

So 81 stands for, the fault light is on, there is a fault code, please refer to the standard text for the data behind 81, and it does not matter if the fault code is read.

 

In this example, EST527 only returns one row of data, but if another control module also attaches a response condition, it is possible to return multiple rows of information.

Common analogy: the engine computer and the automatic gearbox control computer return information at the same time, there will be 2 lines of information, to confirm which computer returns which line

Information, must set the return three-byte header of the OBD message (AT H1 internal command is turned on), check the third byte (source address) in the message header byte to determine

Is the message packet returned by that computer module. I will not discuss it here, but I will discuss it in detail in the other chapters.

 

Now that I have read how many fault codes there are, what is the actual fault code next?

 

Read with OBD2 diagnostic mode MODE 03: simply send 03 to EST527

 

>03

 

Possible return information data is as follows:

43 01 33 00 00 00 00

 

Note: If the number of fault codes is more than 3 or more computer modules, a multi-line message packet will be returned.

 

43 is the response to the MODE 03 request (03+40), the other 6 bytes are the fault code, and 2 bytes represent a fault code.

There are 3 data representing the fault code: 0133 0000 0000, "0000" is the padding data returned by ISO15031 in this mode.

Not the actual fault code.

 

Fault code meaning: ISO definition: The first number of the two-byte fault code (example 0133) is shown in the following table. Now analyze the above fault code 0133:

 

The first number "0" is replaced by "P0" according to the above table. 0133 represents the fault code P0133.

Similarly, if D016 is received, "D" is replaced by U1, then the fault code is U1016;

If the receipt is 1131, the fault code is P1131.

 

Note: The ISO15765 CAN fault code message packet is slightly different from the information returned by J11850 and ISO9141 ISO14230.

When writing a program, note that the information returned by ISO 15765 represents the number of fault codes (DTCs) in the computer module.

See the definition in ISO15031-5 for details.

 

Clear fault code

 

The OBD2 diagnostic mode MODE04 is a function of the reset ECU, and also clears the fault code; after execution, the ECU will:

 

1. The number of reset fault codes is 0.

2, delete all fault codes

3, delete the stored frozen data

4, delete all O2 sensor listening test data

5, delete the data information of the mode MODE06 and MODE 07

 

After resetting your car, due to resetting some data, it may cause abnormal operation in a short time. In order to prevent accidental resetting of the ECU,

ISO15031-5 requires all scanning tools (diagnostics) to add a "confirmation message" before sending the MODE 04 command.

EST 527 does not monitor whether the content of the transmitted message is a reset command.

 

>04

44

>

After sending the 04 command, the vehicle ECU receives the attack and will immediately reset the above content.

Concurrently send back a response message 44 (04+40) of MODE 04.

 

Conclusion

 

ISO14230 ISO9141 requires an initialization process before communication and a periodic handshake signal after connection. These EST527s have been automatically completed, and the OBD2 standard diagnostics are not changed. How to change these parameters:

After reading this, you can start your OBD2 development. In fact, the vendor-specific diagnostic function is almost as simple as that. Why is it called private because it does not expose the application layer protocol. How many processes are developed during development than our OBD2. How to use EST527 to read a dedicated diagnostic command (that is, an application layer protocol) from a dedicated device. Discuss this issue in a diagnostic tool that develops dedicated functions.

The other diagnostic modes of OBD2 are not explained here, and the diagnostic methods are the same. See ISO15031-5 or SAE J1979 for details.

Try more and more, you will find that developing diagnostic programs is so simple.


亚洲欧美日韩在线中文字幕_欧美极品另类_99视频在线精品免费观看18_天天干天天操天天插
国产在线一区二区三区四区 | 亚洲欧美久久久久一区二区三区| 欧美一区二区精美| 免费一级欧美在线大片| 国产精品美女久久久久aⅴ国产馆| 国产专区欧美精品| 久久久精品日韩| 国产精品久久久久久久久婷婷| 亚洲图片欧洲图片av| 男女av一区三区二区色多| 国产欧美视频一区二区三区| 久久av一区二区三区漫画| 欧美日韩一区综合| 亚洲永久视频| 欧美人与性禽动交情品| 尤物网精品视频| 免费不卡在线视频| 国产日产欧美一区| 香蕉乱码成人久久天堂爱免费 | 久久一区二区视频| 国产精品久久久一本精品| 亚洲伊人久久综合| 久久最新视频| 国产综合色在线视频区| 美女久久网站| 精品动漫3d一区二区三区免费| 久久综合久久综合久久综合| 国产欧美一区二区视频| 开元免费观看欧美电视剧网站| 国产欧美一区二区三区国产幕精品| 欧美影视一区| 国产精品一二三四| 久久久久久噜噜噜久久久精品| 国产精品最新自拍| 久久精品一区四区| 国产伦精品一区二区三区视频孕妇| 久久国产精品网站| 国产日产高清欧美一区二区三区| 久久久999| 国产视频一区三区| 欧美~级网站不卡| 伊人久久成人| 欧美美女喷水视频| 亚洲欧美综合| 国产精品私房写真福利视频 | 国产免费成人av| 久久久久久9999| 国产午夜亚洲精品理论片色戒| 久久精品亚洲| 国内成人精品一区| 欧美久久影院| 欧美一区二区三区男人的天堂| 国产精品嫩草99a| 久久综合中文色婷婷| 在线一区二区三区做爰视频网站| 欧美日韩在线视频首页| 久久国产精品亚洲va麻豆| 国产一区二区三区在线观看免费| 美女久久一区| 亚洲视频在线二区| 欧美日韩中文精品| 久久久国际精品| 这里只有视频精品| 国产精品xxxxx| 久久婷婷国产综合精品青草| 伊人狠狠色j香婷婷综合| 欧美视频福利| 浪潮色综合久久天堂| 亚洲深夜影院| 国产精品视频久久一区| 免费日韩av| 亚洲欧美日韩国产中文| 国产一区二区三区四区在线观看| 欧美日本在线看| 久久久久久久久久久久久9999| 一色屋精品视频在线看| 国产精品美女主播在线观看纯欲| 免播放器亚洲一区| 香蕉成人啪国产精品视频综合网| 国产中文一区| 国产精品乱子乱xxxx| 欧美 日韩 国产 一区| 欧美一区二区三区四区在线 | 久久久天天操| 亚洲欧美激情四射在线日 | 欧美专区一区二区三区| 极品少妇一区二区三区| 国产精品青草综合久久久久99 | 国产一区二区无遮挡| 欧美日韩综合在线| 免费成人黄色av| 亚洲欧美三级在线| 精品盗摄一区二区三区| 国产精品入口尤物| 欧美日韩精品免费观看视频| 久热爱精品视频线路一| 新67194成人永久网站| 国产一区视频在线看| 国产精品久久久爽爽爽麻豆色哟哟| 欧美国产丝袜视频| 久久尤物电影视频在线观看| 午夜亚洲激情| 亚洲综合色自拍一区| 狠狠色综合色区| 国产精品一区二区在线观看| 欧美揉bbbbb揉bbbbb| 欧美国产国产综合| 久久综合狠狠| 久久久久久亚洲综合影院红桃 | 久久久久久91香蕉国产| 欧美亚洲视频| 午夜精品成人在线| 亚洲午夜伦理| 在线中文字幕一区| 黄色日韩精品| 韩国v欧美v日本v亚洲v| 国产欧亚日韩视频| 国产欧美日韩亚洲| 国产精品你懂的在线欣赏| 欧美视频中文字幕在线| 欧美日韩亚洲一区二区三区在线| 欧美久久精品午夜青青大伊人| 欧美成人国产| 欧美福利精品| 欧美黄色网络| 欧美精品aa| 欧美日韩mp4| 欧美日韩亚洲综合| 欧美日韩亚洲一区三区| 欧美日韩亚洲一区二| 欧美三级视频在线播放| 欧美日韩在线第一页| 欧美性事在线| 国产精品久久久久毛片软件| 国产精品国码视频| 国产精品日韩专区| 国产日本欧美一区二区三区在线 | 欧美日韩综合另类| 国产精品久久毛片a| 国产精品美女久久| 国产欧美一区二区三区沐欲| 国产亚洲综合在线| 国产综合香蕉五月婷在线| 极品中文字幕一区| 亚洲一区二区精品在线| 亚洲欧美日韩精品久久| 亚欧美中日韩视频| 久久午夜av| 欧美激情精品久久久久久大尺度| 欧美精品在线免费播放| 欧美性色综合| 国产亚洲人成网站在线观看| 精品成人一区二区三区| 亚洲在线观看免费| 久久不射2019中文字幕| 久久久久一区二区| 欧美激情精品久久久久久蜜臀 | 欧美国产三区| 欧美亚洲成人精品| 国产午夜精品麻豆| 亚洲社区在线观看| 久久激情中文| 欧美成人午夜视频| 欧美午夜精品久久久久久人妖| 国产精品视频xxxx| 一区二区三区在线不卡| 亚洲欧美电影在线观看| 久久久久久久综合| 欧美欧美在线| 国产欧美日韩免费| 在线综合视频| 久久精品91久久久久久再现| 免播放器亚洲| 国产精品国产三级国产aⅴ入口| 国产一区二区三区黄视频| 亚洲在线观看免费| 久久婷婷蜜乳一本欲蜜臀| 欧美日韩精品二区| 国产一区91| 午夜精品在线| 欧美国产日韩一区| 国产区亚洲区欧美区| 亚洲午夜在线观看视频在线| 久久精品在线播放| 欧美日韩大片| 狠狠色丁香婷婷综合| 久久激情五月丁香伊人| 欧美日本亚洲| 国模吧视频一区| 久久精品官网| 欧美午夜不卡视频| 在线观看国产成人av片| 久久精品国产亚洲精品| 欧美日韩精品免费观看| 国内精品久久久久影院 日本资源| 性xx色xx综合久久久xx| 欧美激情小视频| 国产一区二区三区在线观看免费| 欧美一区二区观看视频| 欧美精品1区|