基于基于AutoSAR架构的架构的CAN通讯简介通讯简介
01基于AutoSAR CAN通讯过程简介
随着汽车电子化与自动驾驶的发展,AutoSAR汽车开放式系统架构得到越来越多的重视与应用。继之前对AutoSAR进行简介
之后,本文进一步深入对基于AutoSAR的CAN通讯进行介绍。
如下图1所示为常见AutoSAR基础框架,其中红框部分为与通讯相关的部分,包括LIN、CAN、Eth等。
图1 AutoSAR基础框架
CAN总线通讯取消地址编码的方式,采用消息编码的方式,总线上各个节点都能收到总线发出的消息。各个节点根据ID判断
是否为自身所需要的消息进行接收。总线到应用层之间的消息传递以及数据转换过程如下:
1、总线上只能传递高低电平的物理信号,CAN收发器(软件上包含CAN Driver,CAN transceiver,Driver for CAN ASIC)
将总线传递过来的差分电平转换为逻辑电平(TTL电平)(发送时相反)生成二进制码流;CAN收发器将二进制码流发送给
CAN控制器(软件上包含CAN Interface)。(数据链路层)
2、CAN控制器将在二进制码流的基础上生成CAN帧(CAN帧最大传输数据为8byte,此处不详细介绍CAN帧结构以及种
类),同时进行位填充、添加CRC校验、应答检查等操作(发送时类似)。(网络层)
3、通讯服务在收到下层传递过来的CAN帧消息之后进行解析提取、处理CAN帧中包含的信号,通过路由转发给需要的模块。
(交互层)
02 PDU简介
在介绍完基本数据流向之后,介绍一个重要概念:PDU。PDU是AutoSAR通讯过程中一个重要的概念,全称:协议数据单元
(protocol data unit),是数据传输的基本单位。在不同的架构层有不同的PDU分为以下几种:
I-PDU(交互层)
N-PDU(网络层)
L-PDU(数据链路层)
PDU包含PCI和SDU两部分,PCI包含源地址和目标地址信息,SDU是数据信息。如下图2所示为PDU基本组成。