ELM327 OBD to RS232 Interpreter
Total Page:16
File Type:pdf, Size:1020Kb
ELM327 OBD to RS232 Interpreter Description Features Almost all of the automobiles produced today • Power Control with standby mode are required, by law, to provide an interface for the • RS232 baud rates to 500 kbps connection of diagnostic test equipment. The data transfer on these interfaces follow several standards, • Automatically searches for protocols but none of them are directly usable by PCs or smart • Fully configurable with AT commands devices. The ELM327 is designed to act as a bridge between these On-Board Diagnostics (OBD) ports • Low power CMOS design and a standard RS232 interface. In addition to being able to automatically detect and interpret nine OBD protocols, the ELM327 also Connection Diagram provides support for high speed communications, a PDIP and SOIC low power sleep mode, and the J1939 truck and bus (top view) standard. It is also completely customizable, should you wish to alter it to more closely suit your needs. MCLR OBD Tx LED The following pages discuss all of the ELM327’s Vmeasure OBD Rx LED features in detail, how to use it and configure it, as J1850 Volts RS232 Tx LED well as providing some background information on J1850 Bus+ RS232 Rx LED the protocols that are supported. There are also Memory CAN Rx schematic diagrams and tips to help you to interface Baud Rate CAN Tx to microprocessors, construct a basic scan tool, and LFmode ISO L to reduce power consumption. VSS ISO K XT1 VDD Applications XT2 VSS • Diagnostic trouble code readers VPW In RS232 Rx ISO In RS232 Tx • Automotive scan tools PWM In PwrCtrl / Busy • Teaching aids J1850 Bus- IgnMon / RTS Block Diagram 4.00 MHz Memory MCLR Baud Rate 6 XT1 9 10 XT2 5 1 LFmode 7 Vmeasure 2 A/D RS232Rx 18 RS232 Command Converter Interface RS232Tx 17 and Protocol Interpreter ISO 15765-4 ISO 9141-2 SAE J1850 SAE J1939 ISO 14230-4 PWM & VPW PwrCtrl / Busy 16 Power IgnMon / RTS 15 Control 23 24 21 22 12 3 4 14 13 11 25 26 27 28 OBD interfaces status LEDs ELM327DSH Elm Electronics – Circuits for the Hobbyist 1 of 76 www.elmelectronics.com ELM327 Contents Electrical Information Pin Descriptions........................................................................... 3 Unused Pins.................................................................................5 Ordering Information.................................................................... 5 Absolute Maximum Ratings......................................................... 5 Electrical Characteristics..............................................................6 Using the ELM327 Overview...................................................................................... 7 Communicating with the ELM327................................................ 7 AT Commands............................................................................. 9 AT Command Summary...............................................................9 AT Command Descriptions........................................................ 11 Reading the Battery Voltage...................................................... 27 OBD Commands........................................................................ 28 Talking to the Vehicle.................................................................29 Interpreting Trouble Codes........................................................ 31 Resetting Trouble Codes........................................................... 32 Quick Guide for Reading Trouble Codes................................... 32 Bus Initiation...............................................................................33 Wakeup Messages.....................................................................33 Selecting Protocols.................................................................... 34 OBD Message Formats..............................................................35 Setting the Headers................................................................... 37 Monitoring the Bus..................................................................... 40 CAN Messages and Filtering..................................................... 41 Multiline Responses................................................................... 42 CAN Message Formats..............................................................44 Restoring Order..........................................................................45 Advanced Features Altering Flow Control Messages................................................ 46 Using CAN Extended Addresses............................................... 47 SAE J1939 Messages................................................................48 Using J1939............................................................................... 50 The FMS Standard.....................................................................53 Programmable Parameters........................................................ 54 Programmable Parameter Summary......................................... 55 Using Higher RS232 Baud Rates...............................................59 Setting Timeouts - AT ST and AT AT Commands..................... 61 Power Control............................................................................ 62 Design Examples Microprocessor Interfaces..........................................................64 Example Applications.................................................................65 Modifications for Low Power Standby Operation....................... 70 Misc. Error Messages and Alerts.........................................................72 Outline Diagrams....................................................................... 74 Copyright and Disclaimer........................................................... 74 Index.......................................................................................... 75 ELM327DSH Elm Electronics – Circuits for the Hobbyist 2 of 76 www.elmelectronics.com ELM327 Pin Descriptions MCLR (pin 1) A momentary (>2µsec) logic low applied to this input return and a linefeed character. If it is at a low level, will reset the ELM327. If unused, this pin should be lines will be terminated by a carriage return only. connected to a logic high (VDD) level. This behaviour can always be modified by issuing an AT L1 or AT L0 command. Vmeasure (pin 2) This analog input is used to measure a 0 to 5V VSS (pin 8) signal that is applied to it. Care must be taken to Circuit common must be connected to this pin. prevent the voltage from going outside of the supply levels of the ELM327, or damage may occur. If it is XT1 (pin 9) and XT2 (pin 10) not used, this pin should be tied to either VDD or VSS. A 4.000 MHz oscillator crystal is connected between these two pins. Loading capacitors as required by J1850 Volts (pin 3) the crystal (typically 27pF each) will also need to be This output can be used to control a voltage supply connected between each of these pins and circuit for the J1850 Bus+ output. The pin normally outputs common (Vss). a logic high level when a nominal 8V is required (for Note that this device has not been configured for J1850 VPW), and a low level for 5V (for J1850 operation with an external oscillator – it expects a PWM), but this can be changed with PP 12. If this crystal to be connected to these pins. Use of an switching capability is not required for your external clock source is not recommended. Also, application, this output can be left open-circuited. note that this oscillator is turned off when in the Low Power or ‘standby’ mode of operation. J1850 Bus+ (pin 4) This active high output is used to drive the VPW In (pin 11) J1850 Bus+ Line to an active level. Note that this This is the active high input for the J1850 VPW data signal does not have to be used for the Bus- Line (as signal. When at rest (bus recessive) this pin should was the case for the ELM320), since a separate be at a low logic level. This input has Schmitt trigger J1850 Bus- drive output is provided on pin 14. wave shaping, so no special amplification is required. Memory (pin 5) This input controls the default state of the memory ISO In (pin 12) option. If this pin is at a high level during power-up or This is the active low input for the ISO 9141 and reset, the memory function will be enabled by ISO 14230 data signal. It is derived from the K Line, default. If it is at a low level, then the default will be and should be at a high logic level when at rest (bus to have it disabled. Memory can always be enabled recessive). No special amplification is required, as or disabled with the AT M1 and AT M0 commands. this input has Schmitt trigger wave shaping. Baud Rate (pin 6) PWM In (pin 13) This input controls the baud rate of the RS232 This is the active low input for the J1850 PWM data interface. If it is at a high level during power-up or signal. It should normally be at a high level when at reset, the baud rate will be set to 38400 (or the rate rest (ie. bus recessive). This input has Schmitt that has been set by PP 0C). If at a low level, the trigger wave shaping, so no special amplification is baud rate will always be 9600. required. LFmode (pin 7) J1850 Bus- (pin 14) This input is used to select the default linefeed mode This active high output is used to drive the J1850 to be used after a power-up or system reset. If it is at Bus- Line to an active (dominant) level for J1850 a high level, then by default messages sent by the PWM applications. If unused, this output can be left ELM327 will be terminated with both a carriage open-circuited. ELM327DSH Elm Electronics – Circuits