ELM 329 Скачать руководство пользователя страница 12

12 of 83

ELM329

ELM329DSC

Elm Electronics – Circuits for the Hobbyist

www.elmelectronics.com

AT Command Descriptions

<CR>

[ repeat the last command ]

Sending a single carriage return character causes

the ELM329 to repeat the last command that it
performed. This is typically used when you wish to
obtain updates to a value at the fastest possible rate -
for example, if you send 01 0C to obtain the engine
rpm, you need only send a carriage return character
each time you wish to receive an update.

Do not use ‘AT’ before this command.

. [1 - 8 bytes] 

[ send bytes with the 11 bit ID ]

If your currently active protocol uses a 29 bit ID,

there may be times when you would like to send a
single message that has an 11 bit ID. This command is
used for that.

A single period (‘.’) followed by 1 to 8 data bytes

will cause the ELM329 to send those data bytes along
with the currently defined 11 bit ID. The data will be
sent exactly as provided - no formatting bytes or filler
bytes will be added, and the number of data bytes sent
will be the same as what you provide (so if you need to
send 8 bytes as for ISO 15765, then you must provide
all 8 of them). The default value used for the 11 bit ID
is 7DF, but this may be changed with the AT SH xyz
command. See the ‘Mixed ID (11 and 29 bit) Sending’
section for more information.

A protocol must be active before you can use this

command, as the ELM329 needs to know the current
baud rate, etc., but it does not have to be a 29 bit one.
That is, you may use this ‘dot’ command with an 11 bit
ID protocol, for example, if you needed to send
unformatted data along with ISO 15765 formatted data
(but the current firmware only allows you to define one
11 bit ID/header).

Do not use ‘AT’ before this command.

: [1 - 8 bytes] 

[ send bytes with the 29 bit ID ]

If your currently active protocol uses an 11 bit ID,

there may be times when you would like to send a
single message that has a 29 bit ID. This command is
used for that.

A single colon (‘:’) followed by 1 to 8 data bytes

will cause the ELM329 to send those data bytes along
with the currently defined 29 bit ID. The data will be
sent exactly as provided - no formatting bytes or filler
bytes will be added, and the number of data bytes sent
will be the same as what you provide (so if you need to
send 8 bytes as for ISO 15765, then you must provide
all 8 of them). The default value used for the 29 bit ID
is 18 DB 33 F1, but this may be changed with the
AT SH xxyyzz or AT SH wwxxyyzz commands. See
the ‘Mixed ID (11 and 29 bit) Sending’ section for more
information.

A protocol must be active before you can use this

command, as the ELM329 needs to know the current
baud rate, etc., but it does not have to be an 11 bit
one. That is, you may use this ‘colon’ command with a
29 bit ID protocol, for example, if you needed to send
unformatted data along with ISO 15765 formatted data
(but the current firmware only allows you to define one
29 bit ID/header).

Do not use ‘AT’ before this command.

AT0AT1 and AT2

[ Adaptive Timing control ]

After an OBD request has been sent, the ELM329

waits to see if any responses are coming from the
vehicle. The maximum time that it waits is set by the
AT ST hh setting, but this setting is purposely a little
longer than it needs to be, in order to ensure that the
IC will work with a wide variety of vehicles. Although
the setting is adjustable, many people do not have the
equipment or experience that it would take to
determine an optimal value.

The Adaptive Timing feature automatically sets the

timeout value for you, to a value that is based on the
actual response times that your vehicle is responding
in. As conditions such as bus loading, etc. change, the
algorithm learns from them, and makes appropriate
adjustments. Note that it always uses your AT ST hh
setting as the maximum setting, and will never choose
one which is longer.

There are three adaptive timing settings that are

available for use. By default, Adaptive Timing option 1
(AT1) is enabled, and is the recommended setting.
AT0 is used to disable Adaptive timing (so the timeout

The following describes each AT Command that the
current version of the ELM329 supports, in a little more
detail. Many of these commands are also described
further in other sections:

Содержание 329

Страница 1: ...ure it as well as providing some background information on the protocols that are supported There are also schematic diagrams and circuit construction tips Power Control with standby mode High speed RS232 interface Automatically searches for protocols Fully configurable with AT commands Pin compatible with the ELM327 Low power CMOS design Diagnostic trouble code readers Automotive scan tools Teach...

Страница 2: ...rouble Codes 31 Quick Guide for Reading Trouble Codes 31 Selecting Protocols 32 OBD Message Formats 33 Setting the Header ID Bits 35 ISO 157645 4 Message Types 37 Multiline Responses 38 Multiple PID Requests 39 Receive Filtering the CRA command 40 Using the Mask and Filter 41 Monitoring the Bus 42 Mixed ID 11 and 29 bit Sending 43 Restoring Order 44 Advanced Features Using Higher RS232 Baud Rates ...

Страница 3: ...s Compatibility with the ELM327 70 Modifications for Low Power Standby Operation 70 Maximum CAN Data Rates 71 Microprocessor Interfaces 73 Example Applications 74 Figure 9 A CAN to USB Interpreter 75 Figure 10 Parts List for Figure 9 76 Figure 11 A Low Speed RS232 Interface 77 Figure 12 A High Speed RS232 Interface 77 Figure 13 An Alternative USB Interface 78 Misc Information Error Messages and Al...

Страница 4: ... If it is at a high level during power up or reset the baud rate will be set to 38400 or the rate that has been set by PP 0C If at a low level the baud rate will always be 9600 bps LFmode pin 7 This input is used to select the default linefeed mode to be used after a power up or system reset If it is at a high level then by default messages sent by the ELM329 will be terminated with both a carriag...

Страница 5: ...ion voltage or by a pushbutton If either bit 7 or bit 2 of PP 0E are 0 this pin will function as an active low Request To Send input This can be used to interrupt the OBD processing in order to send a new command or if connected to ignition positive to highlight the fact that the ignition has been turned off Normally kept at a high level this input is brought low for attention and should remain so...

Страница 6: ...ith PP20 CAN Tx pin 23 and CAN Rx pin 24 These are the two CAN interface signals that must be connected to a CAN transceiver IC see the Example Applications section for more information If unused pin 24 must be connected to a logic high VDD level RS232 Rx LED pin 25 RS232 Tx LED pin 26 OBD Rx LED pin 27 and OBD Tx LED pin 28 These four output pins are normally high and are driven to low levels whe...

Страница 7: ...o note 1 below Characteristic Minimum Typical Maximum Conditions Units Supply voltage VDD 4 2 5 0 5 5 V VDD rate of rise 0 05 V ms Average current IDD 12 mA Input logic levels 0 8 3 0 V Output low voltage Output high voltage current sink 10 mA current source 10 mA see note 2 AT RV to beginning of response ELM329 device only does not include any load currents Schmitt trigger input thresholds Brown ...

Страница 8: ...ompt character It indicates that the device is in the idle state ready to receive characters on the RS232 port If you did not see the identification string you might try resetting the IC again with the AT Z reset command Simply type the letters A T and Z spaces are optional then press the return key AT Z That should cause the LEDs to flash again and the identification string to be printed If you s...

Страница 9: ...s you prefer as no one method is faster or better The ELM329 also ignores space characters and all control characters tab etc so they can be inserted anywhere in the input if that improves readability One other feature of the ELM329 is the ability to repeat the last command AT or OBD when only a single carriage return character is received If you have sent a command for example 01 0C to obtain the...

Страница 10: ... the values Also one should be aware that for the on off types of commands the second character is the number 1 or the number 0 the universal terms for on and off The remainder of this page and the next page following provide a summary of all of the commands that the current version of the ELM329 recognizes A more complete description of each command begins on page 12 10 of 83 ELM329 ELM329DSC Elm...

Страница 11: ...ific Commands protocols 6 to F 1 8 bytes send bytes with the 11 bit ID 1 8 bytes send bytes with the 29 bit ID CA is there CAN Activity at pin 11 CEA turn off CAN Extended Addressing CEA hh use CAN Extended Address hh CAF0 CAF1 Automatic Formatting off or on CF hhh set the ID Filter to hhh CF hhhhhhhh set the ID Filter to hhhhhhhh CFC0 CFC1 Flow Controls off or on CM hhh set the ID Mask to hhh CM ...

Страница 12: ...nd those data bytes along with the currently defined 29 bit ID The data will be sent exactly as provided no formatting bytes or filler bytes will be added and the number of data bytes sent will be the same as what you provide so if you need to send 8 bytes as for ISO 15765 then you must provide all 8 of them The default value used for the 29 bit ID is 18 DB 33 F1 but this may be changed with the A...

Страница 13: ...omputer control It is not intended for casual experimenting if you wish to change the baud rate from a terminal program you should use PP 0C Since some interface circuits are not able to be operated at high data rates the BRD command uses a sequence of sends and receives to test the interface with any failure resulting in a fallback to the previous baud rate This allows several baud rates to be te...

Страница 14: ...Formatting on CAF1 is the default setting for the ELM329 CEA turn off the CAN Extended Address The CEA command is used to turn off the special features that are set with the CEA hh command CEA hh set the CAN Extended Address to hh Some CAN protocols extend the addressing fields by using the first of the eight data bytes as a target or receiver s address This type of formatting does not comply with...

Страница 15: ...lue to messages and to determine the protocol Any bits provided in excess of the five required are ignored and not stored by the ELM329 it only uses the five least significant bits of this byte The default value for these priority bits is hex 18 which can be restored at any time with the AT D command CRA reset the CAN Rx Addr The AT CRA command is used to restore the CAN receive filters to their d...

Страница 16: ...en experimenting with other protocols however it may be useful to be able to see what the data lengths are The D0 and D1 commands control the display of the DLC digit the headers must also be on in order to see this digit When displayed the single DLC digit will appear between the ID header bytes and the data bytes The default setting is determined by PP 29 DM1 monitor for DM1s The SAE J1939 Proto...

Страница 17: ...hown by the ELM329 but may be of interest especially if you receive multiple responses and wish to determine what modules they were from Turning the headers on with AT H1 actually shows more than just the header bytes you will see the complete message as transmitted including the PCI bytes and the CAN data length code DLC if it has been enabled The current version of this IC does not display the C...

Страница 18: ...39 Timer Multiplier to 1 This command sets the J1939 AT ST time multiplier to 1 reversing any changes made by JTM5 JTM1 is the default setting It has no effect for non J1939 protocols JTM5 J1939 Timer Multiplier to 5 When using a J1939 protocol it is occasionally useful to be able to set the AT ST time to values longer than one second The JTM5 command will multiply the AT ST setting by a factor of...

Страница 19: ...ps the monitoring will always be discarded and will not affect subsequent commands All messages that are received by the ELM329 will be printed as found even if the CAN auto formatting is on Normally the automatic formatting will clean up what is displayed hiding errors improperly formatted messages etc but when monitoring you will see all messages that pass through the receive filter and the erro...

Страница 20: ...nitoring a system that uses 11 bit CAN at 33 3 kbps If you do not want any special formatting this means a value of 11000000 C0 hex for PP 2C while 33 3 is 500 15 so 15 decimal or 0F hex is needed for PP 2D Send these values to the ELM329 in one command AT PB C0 0F then monitor AT MA If you want to try another protocol for example 500 kbps J1939 then simply close the current protocol and send anot...

Страница 21: ...d display of the messages returned by the vehicle If responses have been turned off the IC will not wait for a reply from the vehicle after sending a request and will return immediately to wait for the next RS232 command the ELM329 does not print anything to say that the send was successful but you will see a message if it was not R0 may be useful to send commands blindly when using the IC for a n...

Страница 22: ...mmand often provides a slightly faster way to change an extended ID In addition it provides compatibility with the large ELM327 software base The header bytes ID bits in a message are normally assigned values for you and depending on your application may never require adjusting but there may be occasions when it is desirable to change them particularly if experimenting with physical addressing If ...

Страница 23: ...connect For example if you think that your vehicle is ISO 15765 4 11 bit ID and 250 kbaud you may send the AT SP A8 command to tell the ELM329 to try protocol 8 first then automatically search for another if that fails There is one problem with using this command the message that you provide is sent using the protocol that you specify without regard to what baud rate the bus is actually operating ...

Страница 24: ...ll be set according to PP 20 For more details on how to use these commands see page 59 TP h Try Protocol h This command is identical to the SP command except that the protocol that you select is not immediately saved in internal memory so does not change the default setting Note that if the memory function is enabled AT M1 and this new protocol that you are trying is found to be valid that protoco...

Страница 25: ...Z command but does not include the power on LED test Users may find this a convenient way to quickly start over without having the extra delay of the AT Z command it is about 1000x faster than AT Z If using variable RS232 baud rates ie AT BRD commands it is preferred that you reset the IC using this command rather than AT Z as AT WS will not affect the chosen RS232 baud rate and AT Z will Z reset ...

Страница 26: ...er and you find that it reads 12 47V The ELM329 is a little high at 12 6V and you would like it to read the same as your meter Simply calibrate the ELM329 to the measured voltage using the CV command AT CV 1247 OK Note that you should not provide a decimal point in the CV value as the ELM329 knows that it should be between the second and the third digits At this point the internal calibration valu...

Страница 27: ...g 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 wo...

Страница 28: ...h and then the IC should respond with ELM329 v2 1 followed by a prompt character At this point you may choose a protocol that the ELM329 should connect with but it is usually best to simply select protocol 0 which tells the IC to search for one AT SP 0 That s all that you need to do to prepare the ELM329 for communicating with a vehicle and often you do not even need to do that most times you can ...

Страница 29: ...is not coming Simply add a single hex digit after the OBD request bytes the value of the digit providing the maximum number of responses to obtain and the ELM329 does the rest For example if you know that there is only one response coming for the engine temperature request that was previously discussed you can now send 01 05 1 and the ELM329 will return immediately after obtaining only one respons...

Страница 30: ...rs on with AT H1 which then shows the ID bits associated with the message Having determined the number of codes stored the next step is to request the actual trouble codes with a mode 03 request there is no PID needed 03 A response to this could be 43 01 03 02 The 43 in the above response simply indicates that this is a response to a mode 03 request The next byte the 01 says that 1 trouble code fo...

Страница 31: ...quest this would have to be the duty of a software interface if one is written As stated to actually erase diagnostic trouble codes one need only issue a mode 04 command A response of 44 from the vehicle indicates that the mode request has been carried out the information erased and the MIL turned off Some vehicles may require a special condition to occur eg the ignition on but the engine must not...

Страница 32: ... 15765 4 CAN 11 500 Now the ELM329 will try protocol 6 but will then automatically begin searching for another protocol should the attempt to connect with protocol 6 fail as might happen when you try to connect to your friend s vehicle The Set Protocol commands cause an immediate write to the internal EEPROM before even attempting to connect to the vehicle This write is time consuming affects the ...

Страница 33: ...SEARCHING message followed by a response after which you can ask the ELM329 what protocol it found by sending AT DP The ELM329 always searches in the order set by the protocol numbers ie 6 7 8 etc Note that the IC only appears to provide some support for protocols 1 to 5 but it never actually sends messages using them all searches start with protocol 6 The automatic search works well with OBDII sy...

Страница 34: ...ure 3 see Figure 4 below The main difference between the two is really only the structure of the header as CAN does not have distinct bytes but rather has groups of bits For this reason CAN headers are generally known as ID bits and not headers We use the terms interchangeably however as so many people are familiar with our other OBD chips the ELM320 ELM322 ELM323 and ELM327 which use the term OBD...

Страница 35: ...used for the messages The second way is to change the values in two steps In this method the ELM329 splits the 29 bits into a CAN Priority byte and three header bytes This makes it a little quicker to change only one portion of the header usually it is the priority bits that do not change The two are then combined by the ELM329 into a 29 bit value that it is able to use To set the header in this w...

Страница 36: ...CU using its physical address as shown here AT SH 7E0 OK 01 00 7E8 06 41 00 BE 3F B8 13 00 01 05 7E8 03 41 05 46 00 00 00 00 When experimenting with different headers you should be aware that the ELM329 only sees replies that pass through the receive filter Since the above replies were of the 7En form which is used by the standard functional OBDII replies the responses matched the default criteria...

Страница 37: ...rmally more than adequate As an example the serial number for a vehicle is a multiframe response 0902 014 0 49 02 01 31 44 34 1 47 50 30 30 52 35 35 2 42 31 32 33 34 35 36 The line that begins with 0 is called the First Frame The length 014 was actually extracted from that line by the ELM329 and printed on the first line as shown Following the First Frame line are two Consecutive Frames that begin...

Страница 38: ...e vehicle identification serial number To do this requires first assembling the 17 data bytes in order 31 44 34 47 50 30 30 52 35 35 42 31 32 33 34 35 36 The above data values actually represent the ASCII codes for all the characters of the VIN so the final step is to convert those codes into the actual characters that they represent ASCII tables are freely available on the web and may be used to ...

Страница 39: ...h CAN ISO 15765 4 Up to six parameters may be requested at once and the reply is one message that contains all the responses For example let us say that you need to know engine load 04 engine coolant temperature 05 manifold pressure 0B and engine rpm 0C on a regular basis You could send four separate requests for them 01 04 then 01 05 then 01 0B etc or you could put them all into one message like ...

Страница 40: ...nly the OBD replies sent by the engine to the scan tool you would say AT CRA 18 DA F1 10 and again the ELM329 makes the necessary changes for you Perhaps you do not care which device is sending the information but you want all messages that start with 18 DA and are being sent to the scan tool For this use the character X to tell the ELM329 that you do not care what value a digit has AT CRA 18 DA F...

Страница 41: ...rns for the binary numbers from 8 to F you will see that the only thing in common is that the most significant bit is always set That is the mask will have a value of 1000 since only that one bit is relevant and you do not care what the other bits are The filter needs to be assigned a value that has a 1 in the first position but we do not care what is in the other three positions We will use 0 s i...

Страница 42: ...nteract with the CAN network and cause problems In the extreme case the ELM329 might even have internal problems and report an ERR94 When monitoring it is always best if you can select the protocol for the ELM329 If you know that you are looking at a J1939 network simply tell the ELM329 to set the protocol to A AT SP A or if you have an 11bit 500kbps ISO15765 system tell it AT SP 6 The SP command ...

Страница 43: ... the ELM329 however An alternative is to define your own protocol using the Programmable Parameters for the User protocols Actually protocol B provides a quick way to do this AT PB C0 02 OK is all that is needed to set up a 250 kbaud protocol that has an 11 bit ID variable data length send and no formatting The above discussion showed how to set options to modify existing protocols or to create a ...

Страница 44: ...One such surprise will occur if you are connected to a vehicle using one protocol but the saved default protocol is a different one In this case the ELM329 will close the current session and then change the protocol to the default one exactly as instructed If the AT D does not bring the expected results it may be necessary to do something more drastic like resetting the entire IC There are a few w...

Страница 45: ...CP2102 is shown in Figure 13 If planning to use the higher baud rates a USB interface should be seriously considered No matter what type of connection you use to bring your ELM329 data out the ELM329 will see it as a serial connection As shipped the ELM329 can be used at data rates of either 9600 baud or 38400 baud the voltage level at pin 6 during power up or reset determines the rate used While ...

Страница 46: ...cter but if there is a problem the PC sends nothing The ELM329 is meanwhile waiting for a valid carriage return character to arrive If it does within 75 msec the proposed baud rate is retained and the ELM329 says OK at this new rate If it does not see the carriage return the baud rate reverts back to the old rate Note that the PC might correctly output the carriage return at this new rate but the ...

Страница 47: ...ry different delays The physical measurement of the time is not easy either it requires expensive test equipment just to make one measurement To help with this the ELM329 includes a feature called Adaptive Timing Adaptive Timing actually measures the response times for you averages several readings and then adjusts the AT ST time to a value that should work for most situations It is enabled by def...

Страница 48: ...ter groups Each parameter group is assigned a parameter group number or PGN that uniquely defines that packet of information Often the parameter groups consist of eight bytes of data which is convenient for CAN messages but they are not restricted to this Many of the PGNs and the data within them the SPNs are defined in the J1939 71 document and manufacturers also have the ability to define their ...

Страница 49: ...address command or simply define it with the header Headers ID bits are assigned using the Set Headers command All 29 bits may be assigned at once as shown below or they may be set in two steps using the AT CP and AT SH commands The two step process may be useful if you only want to change some of the ID bits rather than all of them the priority values only rarely change so it s often quicker to u...

Страница 50: ... again as that may be the problem Restore the timer multiplier to normal with AT JTM1 Once the J1939 protocol is selected the ELM329 is ready for a command The first one that we will use is called a DM1 or diagnostic message 1 which provides the currently active diagnostic trouble codes DM1 is one of more than 50 predefined diagnostic messages and is special in that it is the only one that is broa...

Страница 51: ...enient way to show the actual J1939 information in the header Note that version 1 0 of the ELM329 always assumed that the Extended Data Page EDP bit was 0 when printing formatted output as shown above Beginning with v2 0 the ELM329 now displays both the EDP and the DP bits the EDP should always be 0 for J1939 but other protocols do use this bit If you prefer to see the ID bits separated into bytes...

Страница 52: ...be directed to the engine so don t forget to change the headers if you wish to again make global requests Note that the AT SH command allows you to change the source or tester address at will so be careful with this as addresses should really be negotiated using the method described in J1939 81 and you might conceivably choose an address that is already in use The current version of the ELM329 doe...

Страница 53: ...adecimal value ie the 012 shown means that there are 18 bytes of data The one line that shows the total number of data bytes is actually called a Connection Management or TP CM message It has a specific format but the only bytes that are typically relevant are those that provide the total message size in bytes In order to see the other bytes you must turn CAN Auto Formatting off AT CAF0 and then r...

Страница 54: ...uses a 250 kbps data rate so the easiest way to get started is to select the ELM329 s predefined protocol A This is done with the set protocol to A command AT SP A When you are finished and want to use the ELM329 for standard OBDII protocols don t forget to send the AT SP 0 command to reset it Many of the PGNs used for NMEA 2000 have values that are greater than 65535 so the DP bit is usually set ...

Страница 55: ...the Wakeup Message is accomplished with either the Wakeup Data AT WD or the Wakeup Message AT WM commands They are exactly the same we ve kept the WM that the ELM327 used and the WD is new The ELM329 does not format the data provided in any way and it does not pad it out to 8 bytes Whatever you provide will be used exactly as you present it For example sending AT WD 01 3E OK with the 11 bit exampl...

Страница 56: ...d for those that need complete control over their Flow Control messages To use it simply define the CAN ID header and data bytes that you require to be sent in response to a First Frame message Note that if you try to set the mode before defining these values you will get an error AT FC SM 1 You must set the headers and data first AT FC SH 7E8 OK AT FC SD 30 00 00 OK and then you can set the mode ...

Страница 57: ...d the other lines are being sent to the vehicle s module at address 04 The ELM329 is able to handle these types of messages but does require some setup For example if the messages use 11 bit IDs with ISO 15765 formatting and the baud rate is 50 kbps then the PB command to configure protocol B is AT PB 81 0A OK Next we ll want to receive all messages with an ID of 7C0 and send with an ID header of ...

Страница 58: ... before any test message can be sent The diagram below shows how the logic works It may seem a little complicated but what it really says is that for the default settings a send is allowed if the input signal frequency matches the CAN setting or if there appears to be no signal In addition if the user is trying a non standard OBD frequency but a standard frequency is received a send will not be al...

Страница 59: ...ally supported by single wire CAN transceiver ICs and the mode inputs most often used for each TM M1 pin 21 M0 pin 22 Mode 0 1 2 3 Sleep High Speed High Voltage Wakeup Normal 0 0 1 1 1 1 0 0 The ELM329 provides two output pins M0 and M1 that may be used to set the modes for a single wire CAN transceiver After every reset or AT D command the level at pins 21 and 22 will be set according to PP 20 No...

Страница 60: ...e is all that is need for this Reading the level at an input is simply a matter of sending the appropriate AT command For pin 12 send AT IN1 0 and the ELM329 reports the logic level at the input the 0 in this case Similarly the level at pin 13 is read with AT IN2 1 The Control output pin 4 may be set to a high or low level at any time with the AT C command To set the Control output high simply sen...

Страница 61: ...t bit 7 of PP 0E be set to 1 for them to function which it is by default The first method is with an AT command Simply send AT LP at the prompt AT LP and the ELM329 will go to the low power mode after a one second delay which gives the controlling circuit a little time to perform some housekeeping tasks When the ELM329 goes to the low power mode it first turns all five LED outputs off then switche...

Страница 62: ...elay debounce timer to be sure that the low level is a legitimate key off and not just noise spikes As with the previous two methods when the low power mode is initiated the ELM329 will send an alert message LP ALERT wait 2 seconds and will then begin low power mode The AT IGN command can always be used to read the level at pin 15 regardless of the setting of the PP 0E enable bits This may be used...

Страница 63: ...tings are not altered by the wakeup they were all reset with v1 0 The settings that remain unchanged are Figure 7 Returning to Normal Operation 63 of 83 ELM329DSC Elm Electronics Circuits for the Hobbyist www elmelectronics com ELM329 Low Power Mode continued AT0 AT1 AT2 CAF0 CAF1 CEA CFC0 CFC1 CSM0 CSM1 D0 D1 E0 E1 JTM1 JTM5 H0 H1 L0 L1 M0 M1 R0 R1 S0 S1 In addition the protocol number is not res...

Страница 64: ...and This simply prints a list of all of the PPs their current value and whether they are on enabled N or off disabled F For an ELM329 v2 1 IC with only the headers enabled as discussed above the summary table would look like this AT PPS 00 FF F 01 00 N 02 FF F 03 19 F 04 01 F 05 FF F 06 F1 F 07 09 F 08 FF F 09 00 F 0A 0A F 0B FF F 0C 68 F 0D 0D F 0E 9A F 0F F8 F 10 FF F 11 FF F 12 FF F 13 FF F 14 ...

Страница 65: ...ce 06 OBD Source Tester Address Not used for J1939 protocols F1 R 07 I Last Protocol to try during automatic searches 09 PP Description Values Default Type 01 Printing of header bytes AT H default setting D 03 NO DATA timeout time AT ST default setting setting value x 4 096 msec 00 to FF 19 102 msec D 09 Character echo AT E default setting R 0A Linefeed Character 0A R 00 Perform AT MA immediately ...

Страница 66: ...ect and send line ends R 0D 00 to FF 0E 9A 10011010 00 to FF Power Control options Each bit of this byte controls an option as follows b7 Master enable 0 off 1 on if 0 pins 15 and 16 perform as RTS and Busy must be 1 to allow any low power functions b6 Pin 16 full power level 0 low 1 high normal output level is inverted when in low power mode b5 Auto LP RS232 control 0 disabled 1 enabled allows lo...

Страница 67: ...P CAN control 0 disabled 1 enabled allows low power mode if the CAN activity stops b6 Auto LP CAN timeout 0 2 mins 1 10 mins no CAN activity timeout setting b5 Auto LP CAN warning 0 disabled 1 enabled if enabled says ACT ALERT 1 minute before timeout b4 Active LED 0 off 1 flashes setting during low power if there was CAN activity on pin 11 b3 Previous CAN 0 required 1 ignored wakeup on CAN activit...

Страница 68: ...future leave set to 0 b3 Wiring Test 0 bypass 1 perform Certain wiring conditions may cause problems This allows a quick test which weeds out some problems b2 reserved for future leave set to 0 b1 reserved for future leave set to 0 b0 reserved for future leave set to 0 29 Printing of the CAN data length DLC digit when printing header bytes AT D0 D1 default setting D FF OFF 00 ON FF OFF 2C E0 11100...

Страница 69: ...nd may be used to display the actual baud rate 2F 0A 50 Kbps 01 to 40 Protocol C USER2 baud rate divisor See PP 2B for a description R 30 31 01 500 Kbps 00 to FF 01 to 40 Protocol D USER3 CAN options See PP 2C for a description Protocol D USER3 baud rate divisor See PP 2B for a description R R 42 01000010 32 33 06 95 2 Kbps 00 to FF 01 to 40 Protocol E USER4 CAN options See PP 2C for a description...

Страница 70: ...r the Active LED is set to flash or not has very little influence on this current it uses an average of about 25 µA Similarly the CAN Monitor typically only uses about 20 µA during low power operation so does not appreciably affect the total current This is a very low current and should be suitable for most applications It would be difficult to reduce it further than that but you may be able to do...

Страница 71: ...e a considerable time depending on what formatting options you have chosen and the baud rate that you select The diagram below shows these processes grouped into blocks The times shown are typical and as you can see vary with both the length of the CAN message and the CAN baud rate When a message arrives the ELM329 moves quickly to move the received bytes from the special CAN registers so that the...

Страница 72: ...00k 11 bit 500k 28 38 29 bit 250k 26 56 messages in the buffer if the bus loading is at 40 as shown This storage is more than enough for almost all OBD requests the only time that you might get into trouble is if you are monitoring all messages on the bus AT MA with no filters set In that case you would need to be sure that you are removing bytes as fast as they are being generated Note that there...

Страница 73: ...may simplify the flow of data for you if you turn the low power feature off The interface consists of two pins an input an an output The input is called request to send RTS and it is used to interrupt the ELM329 just the same as tapping a key on the keyboard when using a terminal program The output pin Busy is used by the ELM329 to tell your system that it is processing data To use the handshaking...

Страница 74: ...ip MCP2561 is used in our circuit but most major manufacturers also produce CAN transceiver ICs look at the Microchip MCP2551 the NXP PCA82C251 the Texas Instruments SN65LBC031 the infineon TLE7250G and the Linear Technology LT1796 to name only a few Be sure to pay attention to the voltage limits depending on the application you may have to tolerate 24V not just 12V Also note that some transceiver...

Страница 75: ... 4 5 6 7 8 MCP2561 329 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 U1 5V R6 470Ω L1 L4 L6 PWR R7 100Ω R8 100Ω C7 560pF C8 560pF R9 470KΩ R10 100KΩ C10 0 01µF U2 R5 470Ω 5V 5V C9 0 1µF Active L5 Battery Positive 16 Signal Ground 5 5V C3 0 1µF D1 U3 LP2950 C4 10µF 10V C2 2 2µF 50V C1 0 1µF 50V R11 4 7KΩ USB Interface mini B 5V D3 3 TxD 5 SG 1 DCD 4 DTR 6 DSR 7 RTS 8 CT...

Страница 76: ...he need for a negative supply This circuit is limited to data rates of about 57 6 kbps but has the advantage that it uses commonly available components and does not require a special integrated circuit The circuit of Figure 12 is useful if you wish to make a high speed RS232 interface It uses a MAX3222E integrated circuit that only needs a few capacitors in order to function These capacitors are u...

Страница 77: ...19 20 21 22 5V 329 2 RxD RS232 Interface DB9F 5V 5V 3 TxD 5 SG 1 DCD 4 DTR 6 DSR 7 RTS 8 CTS 4 7KΩ 10KΩ 10KΩ 1N4148 1N4148 0 1µF 4 7KΩ 10KΩ 2N3906 2N3904 Figure 11 A Low Speed RS232 Interface 57 6 kbps 5V 10 11 12 13 14 15 16 17 18 19 20 21 22 5V 329 2 RxD RS232 Interface DB9F 3 TxD 5 SG 1 DCD 4 DTR 6 DSR 7 RTS 8 CTS 0 1µF 5V 0 1µF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 0 47µF U4 0 47µF 0 47...

Страница 78: ...32 system directly to USB we show the CP2102 by Silicon Laboratories www silabs com here It has proven to be fairly easy to connect and use These ICs provide a very simple and relatively inexpensive way to bridge between RS232 and USB and as you can see require very few components to support them If using the CP2102 we do caution that it is very small and difficult to solder by hand so be prepared...

Страница 79: ...te DATA ERROR There was a response from the vehicle but the information was incorrect or could not be recovered DATA ERROR There was an error in the line that this points to either from an incorrect checksum or a problem with the format of the message the ELM329 still shows you what it received There could have been a noise burst which interfered possibly a circuit problem or perhaps you have the ...

Страница 80: ...etting but it may occur if monitoring and there are messages found that are not being acknowledged or that contain bit errors The entire message will be displayed as it was received if you have filters set the received message may not agree with the filter setting Try a different protocol or a different baud rate SEARCHING This will be displayed when a message has been provided for transmitting bu...

Страница 81: ...P package It is used for through hole applications The ELM329SM package shown at right is also sometimes referred to as 300 mil and is often called an SOIC package We have chosen to simply refer to it as an SM surface mount package The drawings shown here provide the basic dimensions for these ICs only Please refer to the following Microchip Technology Inc documentation for more detailed informati...

Страница 82: ...T ALERT 79 Active LED 4 60 67 Altering Flow Control Messages 56 Applications Example 74 78 AT Commands 10 AT Command Descriptions 12 25 Summary 10 11 B Battery Voltage 26 Baud Rates Using Higher RS232 45 46 Block Diagram 1 Brownout Reset 7 80 BUFFER FULL 79 Bus FMS Standard 54 C CAN ERROR 79 CAN Extended Addresses Using 57 CAN Message Formats 33 34 CAN Messages and Filtering 40 41 CAN Monitor 60 6...

Страница 83: ...69 types 65 Protocols Selecting 32 33 Q Quick Guide for Reading Trouble Codes 31 R Reading the Battery Voltage 26 Reading Trouble Codes Quick Guide for 31 Resetting Prog Parameters 65 Trouble Codes 31 Responses Multiline 38 39 Restoring Order 44 RS232 Baud Rates Using Higher 45 46 RX ERROR 80 S Selecting Protocols 32 33 Setting the ID Bits Headers 35 36 Setting Timeouts AT ST commands 47 Specify t...

Отзывы: