AUTOSAR COM
Big and variable-size data
So far a packet was a few bytes of fixed size. Three special cases remain: data too big for one frame, data whose size changes, and data COM should just pass through untouched.
1. Too big for one frame
What the bus carries in one go is called a frame. A classic CAN frame holds 8 bytes of data, a CAN FD frame up to 64. A packet that is bigger cannot travel in one piece.
COM does not cut it up itself. It marks the packet as "big", and a helper below COM, the transport protocol, splits it into several frames and puts it together again on the other side.
Try it
For COM, a big packet behaves a little differently:
- Sending takes time. While the pieces are going out, COM leaves the packet's content alone. If the same packet is triggered again before it is finished, that extra send is skipped and an error is reported.
- Receiving can fail halfway. If the pieces do not all arrive, COM treats every signal in that packet like an invalid value (lesson 7).
2. Size that changes
A text or a list may be 3 bytes long one time and 20 the next. COM supports one kind of signal for this: a row of bytes with a changing length. A maximum length is fixed in advance.
It must be last
The changing signal sits at the very end of its packet, behind all fixed-size signals.
The length is not sent
The packet simply gets shorter or longer. The receiver works out the signal's length from the length of the packet it received.
3. The fast lane
Sometimes the data is already a finished block of bytes, made by another part of the software. This is common for service data on Ethernet. COM has nothing to pack, convert or filter. For such packets COM offers a fast lane: it passes the block straight through, in both directions, without keeping a copy.
| In the fast lane, COM still does | and no longer does |
|---|---|
| Minimum gap, timeouts and messages, switching on and off, big packets in pieces | Packing signals, byte order, update-bits, invalid values, filters, timers |
There is no timer and no "triggered" here: the application says "send this now" each time.
Check yourself
Optional. Answer from memory.
The AUTOSAR words
| Plain word here | AUTOSAR word |
|---|---|
| Frame | L-PDU |
| Big packet, big signal | Large I-PDU, large signal. The packet's type is TP instead of NORMAL. |
| Transport protocol | TP, for example CAN TP |
| Signal with changing size | Dynamic length signal (type UINT8_DYN) |
| Fast lane | Large Data Path |
Source: AUTOSAR COM specification, R25-11, sections 7.4, 7.5 and 7.6 (SWS_Com_00662, 00863, 00838, 00753, 00757, 00758, 00914). The frame counts in the toy are a lower bound: the transport protocol adds a few bytes of its own to each frame.