| Electronic Components Datasheet Search |
|
ELM329LP Datasheet(PDF) 28 Page - ELM Electronics |
|
|
|||||||||||||||||||||||||||||
ELM329LP Datasheet(HTML) 28 Page - ELM Electronics |
|
28 / 87 page ![]() OBD Commands If the bytes that you send to the ELM329 do not begin with the letters ‘A’ and ‘T’, they are assumed to be OBD commands for the vehicle. Each pair of ASCII bytes will be tested to ensure that they are valid hexadecimal digits, and will then be combined into data bytes for transmitting to the vehicle. Commands to the vehicle are actually sent embedded in a data packet. The packet consists of header bytes (ie CAN ID bits), as well as checksum and other bits as defined by the ISO standards. The ELM329 adds these extra bits and bytes to your message as required - you do not normally have to even consider them. If you do want to change the ID bits or data lengths at some point, there is a mechanism to do so (see the ‘Setting the Header / ID Bits’ section). Most OBD commands are only one or two bytes in length, but some can be longer. The current version of the ELM329 will accept up to eight data bytes to be sent (there is no way to send any more bytes with this version). Attempts to send more than eight bytes will result in an error – the entire command is then ignored and a single question mark printed. Hexadecimal digits are used for all of the data exchange with the ELM329 because it is the data format used most often in the OBD standards. Most mode request listings use hexadecimal notation, and it is the format most frequently used when results are shown. With a little practice, it should not be very difficult to deal in hex numbers, but some people may want to use a table such as Figure 1, or keep a calculator nearby. Dealing with the hex digits can not be avoided - eventually all users need to manipulate the results in some way (combining bytes and dividing by 4 to obtain rpm, dividing by 2 to obtain degrees of advance, converting temperatures, etc.). As an example of sending a command to the vehicle, assume that A6 (or decimal 166) is the command that is required to be sent. In this case, the user would type the letter A, then the number 6, then would press the return key. These three characters would be sent to the ELM329 by way of the RS232 port. The ELM329 would store the characters as they are received, and when the third character (the carriage return) was received, would begin to assess the other two. It would see that they are both valid hex digits, and would convert them to a one byte value (the decimal value is 166). The header/ID bytes would then be added, and the complete message would then be sent to the vehicle. Note that the carriage return character is only a signal to the ELM329, and is never sent to the vehicle. After sending the command, the ELM329 listens on the OBD bus for replies, looking for ones that are directed to it. If a message address matches, the received bytes will be converted to ascii characters and sent on the RS232 port to the user, while messages received that do not have matching addresses will be ignored. The ELM329 will continue to wait for messages addressed to it until there are none found in the time that was set by the AT ST command. As long as messages continue to be received, the ELM329 will continue to reset this timer, and look for more. Note that the IC will always respond to a request with some reply, even if it is to say ‘NO DATA’ (meaning that there were no messages found, or that some were found but they did not match the receive criteria). 28 of 87 ELM329L ELM329L DSA Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com Figure 1. Hex to Decimal Conversion Hexadecimal Number Decimal Equivalent 0 1 3 2 4 5 6 0 1 3 2 4 5 6 7 7 8 8 9 9 A 10 B 11 C 12 D 13 E 14 F 15 |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |