
60 of 83
ELM329DSC
Elm Electronics – Circuits for the Hobbyist
www.elmelectronics.com
ELM329
The CAN Monitor (pin 11)
Version 2.0 of the ELM329 introduced a CAN
monitor module that could be used to control the
switching to and from the Low Power mode. The
module uses an internal counter that is dedicated to
continually monitoring the CAN receive signal, so it is
able to catch even the shortest burst of CAN activity.
The CAN Monitor count is monitored by the
firmware, and is typically checked every 20 msec to
see if there has been any activity. The logic looks for
eight or more counts (which would be about 400 Hz if
the signal were continuous), before it considers the
input to be active. Should activity stop, this can initiate
the Low Power mode of operation, if PP 0E and PP 0F
are set for this (see the Low Power Mode section for
details).
The firmware also checks the CAN Monitor count
regularly while in the Low Power mode. It looks for a
change from no CAN activity to some and may cause
a switch to the normal (full power) mode, if allowed to
do so. Permission is by setting the b3 bit in PP 0F, or
by there being a CAN signal present prior to entering
into the Low Power state.
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).
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 send:
>AT C1
and to set it low, send:
>AT C0
After a system reset (power on, MCLR, AT Z or
AT WS), the Control output is always initialized to a
low level.
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, as long as the electrical limits
aren’t exceeded. You may wish to control a buzzer,
perhaps an LED, or to monitor a switch input or
voltage level - it’s up to you.
Although this module is called a CAN Monitor, the
signal presented to it does not have to be from a CAN
system. If you prefer, you might connect something
else to it, such as a tachometer or speedometer signal.
As long as you restrict the voltage swing at the input
pin, almost any signal can be connected. The CAN
Monitor input (pin 11) has a very high input
impedance, has schmitt trigger waveshaping,
advances the counter on the rising edge of the
waveform, and can detect pulses as narrow as 30
nsec.
Note that this input also performs a dual function.
Should no CAN activity be detected on the pin prior to
switching to Low Power mode, the continuous flashing
of the Active LED while in Low Power mode will be
determined by the logic level on the pin (high = flash
for 16 msec every 4 seconds, low = off). If there was
CAN activity, then PP 0F bit 4 controls the LED
flashing.