Specifications
9 of 19ELM323DSD Elm Electronics – Circuits for the Hobbyist
< http://www.elmelectronics.com/ >
Bus Initiation
Both the ISO 9141-2 and ISO 14230-4 (KWP2000)
standards require that the vehicle’s OBD bus be
initialized before any communications can take place.
The ISO 9141 standard allows for only a slow (2 to 3
second) process, while ISO 14230 allows for both the
slow method, and a faster alternative. In either case,
once the bus has been initiated, communications must
take place at least once every five seconds, or the bus
will revert to a low-power ‘sleep’ mode.
The ELM323 takes care of this bus initiation and
the periodic sending of ‘keep-alive’ or ‘wakeup’
messages for you – it is automatic and requires no
input from the user. The ELM323 will not perform the
bus initiation until the first message needs to be sent,
however, and it will do so by first attempting the slow
method, and if that fails then trying the fast. During the
automatic initiation process, the following message will
be displayed:
BUS INIT: ...
with the three dots appearing as the slow initiation
process is carried out. This will be followed by either
the expression ‘OK’ to say it was successful, or else
an error message to indicate that there was a problem.
(The most common error encountered is in forgetting
to turn the vehicle’s key to ‘ON’ before attempting to
talk to the vehicle.)
Once initiated, the ELM323 does what is required
to keep the bus alive, without any intervention from the
user. If you have installed monitoring LEDs, you will be
able to see that automatic messages are being sent
every few seconds in order to create bus activity.
If the user does not wish to use the two step
automatic bus initiation process, they can specify that
only the Slow Initiation, or only the Fast Initiation, be
attempted, by issuing the commands AT SI or AT FI
respectively. Note that the three dots are only printed
during a slow initiation, so if AT FI is issued, they will
not appear.
The chart at the right shows the automatic bus
initiation process in more detail:
yes
KWP
or
ISO
?
Lock/set the
keep-alive headers
print ERROR
Try a slow init
any
response
?
any
response
?
yes
no
no
yes
no
Try a fast init
Bus is alive so
resume activities
print OK
need to initialize
the bus
Figure 2. Initializing the Bus
ELM323