ISO-TP (ISO 15765-2)
ISO-TP is most commonly used for OBD diagnostic messages and UDS (Unified Diagnostic Services).
The following subset of the specification is supported:
ISO-TP Normal (11/29 bit) addressing mode (other addressing modes not supported)
Single-frame transmissions (with 4 and 8 bit length field)
Multi-frame transmissions (with 12 and 32 bit length field)
Segmentation with and without padding
Assembly of payloads up to 8192 bytes
Example (normal addressing)
Node A wants to transmit a 20 byte payload to Node B on a CAN-bus supporting 8 byte payloads. To do so, the payload needs to be segmented, transmitted and reassembled.
Below lists the normal-addressing configuration.
Transmit ID |
Receive ID |
|
---|---|---|
Node A (A) |
123 |
456 |
Node B (B) |
456 |
123 |
The payload to transmit is: 000102030405060708090A0B0C0D0E0F10111213
. The transmission of the segmented payload and the flow-control messages are listed below.
Direction |
ID |
Payload |
Frame type |
Info |
---|---|---|---|---|
A > B |
0123 |
|
FF |
DL: 20, Segment: |
B > A |
0456 |
|
FC |
FS: Continue-to-send, BS: 1 |
A > B |
0123 |
|
CF |
SN: 1, Segment: |
B > A |
0456 |
|
FC |
FS: Continue-to-send, BS: 1 |
A > B |
0123 |
|
CF |
SN: 2, Segment: |
Node-B reassembles the full payload once the final segment is received.