Communication Stack in AUTOSAR is a set of modules like COM (Services Layer), PDU Router(Services Layer), Bus Specific Interface Modules (ECU Abstraction Layer) e.g. CanIf, LinIf, FrIf, etc., External Bus Drivers (ECU Abstraction Layer), Internal Bus Drivers (MCAL Layer). Modules listed here are very basic modules in the Communication Stack. There are modules like the Bus Specific State Manager, Network Manager and Transport Protocol modules in the communication stack but they will be described in a separate set of articles.
Generic Communication Stack
Note : Some of the missing modules in the above figure will be taken in the coming articles.
TP – Transport Protocol, NM – Network Manager, Trcv – Transceiver, Ext. – External, Asic – Application Specific Integrated Circuit
Before discussing about the Communication Stack let me take some of the basic terms used in the Communication Stack.
What is a PDU?
Protocol Data Unit as it stands for is a data structure containing an SDU (Service Data Unit) and a PCI (Protocol Control Information). An SDU is the data passed by the upper layer for transmission and extracted from the PDU during reception. A PCI basically contains the source and destination information for the PDU to be exchanged between layers and modules.
A PDU is packed into a structure (SDU + PCI) at the COM layer and is transmitted to the lower layer in the Communication Stack. At every layer during transmission, a PDU from the upper layer acts as an SDU for the lower layer. A PCI is added at the lower layer to this SDU and it is transmitted to the lower layer.
At the receiver side, the received PDU is unpacked by separating the SDU and PCI and passing the SDU to the upper layer which acts as a PDU for that layer.
Signal, Signal Group and Group Signal
Signal in AUTOSAR is a message. Signal Group is a set of signals to be transmitted at the same instance and the signals packed in a Signal Group are known as Group Signals.
AUTOSAR COM is a module between the RTE and the PDU Router. It is responsible for providing a Signal level access to the application layer and a PDU level access to the lower layers independent of the protocol. It packs the signals to a PDU at the transmitter and unpacks the received PDU to provide a signal level access to the application at the receiver. At the PDU level, COM is responsible for grouping of the PDU’s, starting and stopping of the PDU groups.
COM groups the signals in a Signal Group for them to be transmitted at once.
COM is responsible for a signal/signal group level gatewaying. It maps a received signal/signal group to a transmit signal/signal group to be gatewayed.
It is also responsible for filtering, byte order conversion and sign extension of the signals.
PDU Router is a module responsible for routing the PDU to the respective Bublog/s Specific Interface modules. Above the PduR module all the PDU’s are protocol independent and below PduR all the PDU’s are routed to the protocol specific modules.
PduR is also responsible for PDU level gatewaying i.e. transmitting the received PDU from one Bus Specific Interface module to other Bus Specific Interface module. Gatewaying can also be done when a PDU is to be routed from one controller to another over the same protocol.