Page 1 of 1
General ELM327 lore
Posted: Wed Oct 23, 2024 10:03 pm
by jeff
Want to document stuff I'm learning about ELM327 as I continue reading the specifications. Gonna use this thread to do so.
First up, what is ATPBE101
all about?
Cross-referencing with the ELM327 standard, ATPBE101
: Sets protocol B parameters to E101, which corresponds to a bitmask of 1110_0001 equating to:
- 11-bit CAN-ID
- Variable DLC (i.e. frames can be any length)
- Receive both 11-bit and 29-bit CAN-ID
- Use the ISO 15765-4 data format
the 01 is the baud divisor rate of 01, which comes out to 500 / 1 = 500. So...in essence it's the same as doing
ATSP6,
i.e. ISO 15765-4 CAN (11 bit ID, 500 kbaud)
Re: General ELM327 lore
Posted: Fri Oct 25, 2024 6:56 am
by jeff
What's the deal with ATFCSD07300800
and its cousin, ATFCSD300000
?
From https://en.wikipedia.org/wiki/ISO_15765-2:
The initial byte contains the type (type = 3) in the first four bits, and a flag in the next four bits indicating if the transfer is allowed (0 = Continue To Send, 1 = Wait, 2 = Overflow/abort). The next byte is the block size, the count of frames that may be sent before waiting for the next flow control frame. A value of zero allows the remaining frames to be sent without flow control or delay. The third byte is the Separation Time (ST), the minimum delay time between frames. ST values up to 127 (0x7F) specify the minimum number of milliseconds to delay between frames, while values in the range 241 (0xF1) to 249 (0xF9) specify delays increasing from 100 to 900 microseconds. Note that the Separation Time is defined as the minimum time between the end of one frame to the beginning of the next. Robust implementations should be prepared to accept frames from a sender that misinterprets this as the frame repetition rate i.e. from start-of-frame to start-of-frame. Even careful implementations may fail to account for the minor effect of bit-stuffing in the physical layer.
So if we break ATFCSD07300800
down, we get:
- 07: Is the extended address prefix, seems to be commonly used for BMW-like vehicles.
- 3: Indicates we're in flow control.
- 0: Continue to send.
- 08: Block size of 8.
- 00: Separation Time = 0
- 3: Indicates we're in flow control.
- 0: Continue to send.
- 00: Allows the remaining frames to be sent without flow control or delay.
- 00: Separation Time = 0