Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
The SAE J2366-4 standard, issued in 2002, defines the Thin Transport Layer (TTL) for the Intelligent Transportation Systems (ITS) Data Bus (IDB). Designed for embedded vehicle systems, this lightweight protocol operates over CAN-based networks and provides reliable data delivery through frame grouping, acknowledgement mechanisms, and resynchronization procedures. This article covers the core concepts, frame formats, timer management, and practical design insights drawn from the standard.
The TTL uses several frame types to transport data efficiently. A single message can be sent in one frame (DATAFRAMESINGLE) or split across multiple frames using DATAFRAMESTART, DATAFRAMECONT, and DATAFRAMEEND. For error recovery, the DATAFRAMERESYNC frame helps resynchronize nodes. Control frames like ACK and NAK provide positive and negative acknowledgements.
🛠️ Design Insight: The thin transport layer is intentionally lightweight, leveraging CAN’s existing arbitration and error detection. Frame grouping reduces overhead by sending multiple frames in a burst, improving throughput for longer messages.
Frame grouping allows a sender to transmit a sequence of frames (a frame group) without waiting for individual acknowledgements. After the group is sent, the receiver sends a single ACK or NAK. This reduces bus arbitration overhead and improves efficiency. The Frame Group Acknowledge Timer (TMaxAck) defines the maximum wait time for an acknowledgement.
If a node loses synchronization due to lost frames, the protocol provides mechanisms to recover. Using the DATAFRAMERESYNC frame and associated timers, nodes can re-align their state machines and continue reliable communication.
Three key timers govern the operation of the thin transport layer, ensuring predictable behavior and bus release in case of failures.
| Timer | Purpose | Effect of Expiry |
|---|---|---|
| Frame Group Acknowledge Timer (TMaxAck) | Maximum time sender waits for an ACK after completing a frame group. | If no ACK received, sender may retransmit or initiate resynchronization. |
| Inactivity Timer (TInactivity) | Time receiver waits before releasing the bus after receiving a frame group. | If no new frames arrive, receiver frees resources. |
| Frame Group Timer (TFrameGroup) | Maximum time between frames within a group. | If gap exceeds timer, receiver assumes end of group and processes received data. |
Diagnostic counters such as BrdcastMsgErrCntr, NAKRcvCntr, and NAKTxCntr help track error rates and support network health monitoring.
⚠️ Common Mistake: Incorrectly setting the Frame Group Timer can cause premature timeouts, leading to unnecessary resynchronization or dropped messages. Always base TFrameGroup on the maximum expected transmission delay in the system.
It combines positive acknowledgements (ACK), negative acknowledgements (NAK), and a resynchronization procedure. Multi-frame messages are grouped and acknowledged as a unit, and errors trigger retransmission or recovery steps defined in the protocol.
A NAK contains a reason code identifying the error. The sender must retransmit the affected frames or the entire frame group, depending on the error type. Ignoring NAKs can lead to node desynchronization.
Long messages are split into multiple data frames: a START frame followed by one or more CONT frames and an END frame. Each frame carries a sequence number and length info so the receiver can reassemble the original message correctly.
While the standard assumes CAN as the underlying data link layer, the protocol principles are generic. However, specific timer values and frame addressing are optimized for CAN characteristics such as arbitration and bus length.
🔍 For deeper implementation details, refer to the full SAE J2366-4 document, which includes exact frame word formats, transport primitives, and diagnostic counter requirements.