AUTOSAR 发展历史
AUTOSAR CP
AUTOSAR AP
AUTOSAR通信栈位于运行时环境(RTE)与微控制器抽象层(MCAL)之间,其可以简化ECU间的通信服务,
实现不同类型或速率总线间的数据交互。在AUTOSAR通信栈中,位于服务层的有通信模块(Communication,
Com),诊断通信管理模块(Diagnositic Communication Manager,Dem)、协议数据单元路由模(Protocol Data Unit Router,PduR),协议数据单元复用模块(I-PDU Multiplexer,IpduM)、总线相关的传输模块(如CanTp,LinTp等)以及通信与网络管理相关的模块;位于ECU抽象层的是与总线相关的接口模块(如CanIf,LinIf等);位于微控制器抽象层的是与总线相关的驱动模块(如Can,Lin等)
AUTOSAR通讯栈对应用层隐藏了与总线相关的协议和报文的属性,以基本的CAN为例:发送数据机制为
RTE->COM->PduR->Canif->CANDriver ,过程如下:
Com模块获取应用层的信号,经过封装为I-PDU (Interaction Layer Protocol Data Unit)发送到PduR模块
PduR模块路由协议中所指定的I-PDU目标接收模块,将接收的I-PDU经过处理发送给Canif
Canif将信号以L-PDU(Data Link layer Protocol Data Unit)的形式发送给CAN驱动模块
AUTOSAR CAN 通讯模型
COM模块
Com模块位于RTE与PduR之间,其主要功能有:
每个Com I-PDU 需要设定I-PDU的传输方向(ComIPduDirection)、信号处理方式 ComIPduSignalProcessing、类型 ComIPduSignalRef等
PDUR
PduR模块是主要为通讯接口模块,传输协议模块、诊断通讯服务管理模块以及通讯模块提供I-PDU的路由服务,它在通讯协议中起着承上启下的作用,为上层服务基础软件和应用层屏蔽网络细节,使得上层基础软件模块和应用层不用关心运行于那种总线网络之上。同时,PduR模块提供了基于I-PDU的网关功能,使得不同总线之间的通信成为可能
I-PDU 交互层对应的PDU CANTP层往上的都采用的I-PDU
N-PDU 网络层对应的PDU canif与TP层依赖关系 采用N-PDU
L-PDU 数据链路层对应的PDU Driver 与canif之间的依赖关系为L-PDU
CAN 通讯从硬件到软件的全过程
CAN 发送数据时数据流向
CAN接收数据时数据流向
AUTOSAR CP文档 地址