EasyManua.ls Logo

ELM 329 - Page 72

ELM 329
83 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
72 of 83
ELM329
ELM329DSC Elm Electronics – Circuits for the Hobbyist
www.elmelectronics.com
Maximum CAN Data Rates (continued)
500 kbps message with an 11 bit ID, the ELM329
finishes with time to spare. Since ISO15765-4
specifies that messages must be 8 data bytes in length
(filler bytes are added as needed) these times do
represent the typical situation, with a 40% bus load.
Actually, from these numbers the ELM329 should be
able to handle 100% bus loading (which is not a
practical situation).
Once the ELM329 has placed all of the properly
formatted bytes into the RS232 transmit buffer, it is up
to the controlling computer to fetch them in a timely
fashion. If the bytes are removed too slowly, the buffer
will continue to fill as new OBD messages arrive, and
will eventually become full. It does not matter how big
the buffer is, if the rate of removing bytes from the
buffer is slower than the rate of putting them into the
buffer, it will eventually fill up. When the buffer is full,
you will see the dreaded ‘BUFFER FULL’ message,
and you will have to start over.
The ELM329 transmit buffer is 512 bytes in size.
Considering that some bytes will be sent while new
messages are being stored, this means that you can
typically save:
38.4k 115.2k 500k
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 are
no numbers shown for 500 kbps as the buffer will not
fill up in that case.
The rate at which OBD messages occur depends
on the ‘bus loading’. This is a utilization factor that is
very similar to the duty cycle for a square wave signal.
Ideally, bus loading should be less than about 30%,
but as vehicles become more complex, this is very
difficult to do. Some vehicles are reportedly seeing
70% bus loads.
When people ask us then, ‘What data rate can the
ELM329 support?’ the answer is not easy, and
depends on many factors. Certainly, there will be
situations in which the IC is not able to get the data out
as fast as you’d like, but that is often due to serial port
limitations (whether through a poor choice of baud
rates, or by hardware limitation). If you are simply
obtaining standard OBD information, there is really no
need to choose a high baud rate, as the ‘buffer’ takes
care of temporary data storage for you. If you are
trying to ‘push the envelope’, then hopefully this
discussion has helped to give you the necessary
background information.