ELM329
CAN (Single Wire) Transceiver Modes
The ELM329 was designed with two wire CAN
(OBDII) applications in mind, but there is no reason
that it can not be used for single wire CAN applications
(SAE J2411, etc.), as well. The data format remains
much the same on the CAN networks - it is really the
physical interface that differs.
Single wire CAN transceiver chips are available
and should be used when connecting the ELM329 to
single wire CAN networks. These ICs usually provide
mode inputs which are used to change the state of the
device - to put it into low power sleep mode, set the
output to high voltage (12V) mode, etc. The table
below shows the four modes typically supported by
single wire CAN transceiver ICs, and the mode inputs
most often used for each.
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. Note that firmware v1.0 set these
pins to a low level (mode = sleep) when the IC went to
low power mode, but the ELM329 no longer changes
the setting while in low power mode.
The M0 and M1 pin levels are controlled with the
Transceiver Mode commands. For example, if you
wish to put the transceiver into the high voltage
wakeup mode, simply send;
>AT TM 2
OK
and to restore the mode to normal, send:
TM
#
M1
M0
>AT TM 3
OK
Mode
(pin 21) (pin 22)
0
1
2
3
0
0
1
1
0
1
0
1
Sleep
If you do not require these pins for a single wire
CAN application, they may be used as general
purpose outputs., much like the Control output.
High Speed
High Voltage Wakeup
Normal
Control Module Operation
The ELM329 provides two general purpose inputs
and one general purpose output that you may use for
your own control applications.
The two inputs are provided for monitoring signals
that you connect. They both have Schmitt trigger
wave-shaping on the input so can accommodate even
the slowest moving signals. These inputs should also
be protected from voltages which exceed the supply
limits (usually a series resistance is all that is need for
this).
The Control output (pin 4) may be set to a high or
low level at any time with the AT C command. After a
power on reset, the Control output is always reset to a
low level.
To set the Control output high, simply send:
>AT C1
and to set it low, send:
>AT C0
Reading the level at an input is simply a matter of
sending the appropriate AT command. For pin 12,
send:
Note that the Control output can also be selected
to show the internal CAN activity signal (as determined
by the CAN Monitor at pin 11). Simply set PP 0F bit 0
to ‘1’ in order to enable it.
There are no restrictions on how you use these
inputs and the output. You may wish to control a
buzzer, perhaps an LED, or to monitor a switch input,
or voltage level - it’s up to you.
>AT IN1
0
and the ELM329 reports the logic level at the input (‘0’
in this case). Similarly, the level at pin 13 is read with:
>AT IN2
1
ELM329DSB
Elm Electronics – Circuits for the Hobbyist
www.elmelectronics.com
56 of 76