2.6 通信栈
AUTOSAR通信栈的概貌如下图:
AUTOSAR中的通信栈包含以下这些部分: 2.6.1 CAN · AUTOSAR CAN
AUTOSAR CAN模型如下图:
· CAN驱动
CAN驱动为上层使用者提供统一的接口——CAN接口。CAN驱动尽可能合理地隐藏了相关CAN控制器的硬件专用性。
CAN驱动是最底层的一部分,为上层执行对硬件的访问和提供硬件无关的API。上层中唯一能够访问CAN驱动的是CAN接口。
如果几个CAN控制器属于相同的CAN硬件单元,那么它们能够由CAN驱动来控制。 一个CAN控制器总是与一个物理通道相关联。它被允许与总线上的物理通道相连接,不管CAN接口是否将相关的CAN控制器分别对待。 · CAN接口(硬件抽象)
CAN接口提供标准化的接口,通过ECU的CAN总线系统来支持通信。其API与专用CAN控制器及其通过CAN驱动层的访问无关。CAN接口能够通过统一的接口访问一个或多个CAN驱动。
CAN接口仅能用于CAN通信,并且是为操作一个或多个底层CAN驱动而专门设计。涵盖不同CAN硬件单元的几个CAN驱动模块由一个在CAN驱动规范中指定的通用接口来表示。CAN之外(也就是LIN)的其他协议不支持。
· CAN传输层
CAN传输层是位于PDU路由和CAN接口模块之间的模块。其主要作用是分割和合并大于8字节的CAN I-PDU。
根据AUTOSAR基本软件体系结构,CAN传输层提供的服务有:
? 发送方向的数据分割; ? 接收方向的数据合并; ? 数据流控制;
? 分割期间内的错误检测。
AUTOSAR体系结构定义了通信系统的各个具体的传输层(CanTp、包含LinIf的LinTp、FlexRayTp)。因此,CAN传输层仅涵盖了CAN传输协议的细节。 CAN传输层拥有一个接口,该接口连接一个单独的下层CAN接口层和一个单独的上层PDU Router模块。
根据AUTOSAR发布的计划,该CAN传输层规范包含下面的限制:
- CAN传输层仅运行在事件触发模式中,
- 没有传送/接收撤消。
· CAN收发器驱动
CAN收发器驱动负责处理ECU上的CAN收发器,依据的是与整个ECU当前状态相关的总线专用NM的状态。
CAN收发设备驱动的目标:CAN收发设备驱动抽象使用CAN收发设备硬件芯片。它向更高层提供硬件无关接口。它也可以通过MCAL层的API从ECU设计中抽象出来,访问CAN收发设备硬件。
CAN收发设备硬件必须提供功能和接口,以映射到AUTOSAR CAN收发设备驱动的运行模式模型上。
下层驱动(SPI和DIO)使用的API必须同步。不支持同步行为的下层驱动的实现不能与CAN收发设备驱动一起使用。 2.6.2 COM · AUTOSAR COM
AUTOSAR COM层位于RTE和PDU路由器之间。它来源于OSEK_COM标准。AUTOSAR COM提供了信号网关功能。
COM与其它模块的依赖关系如下图所示:
· COM Manager
COM Manager(COM管理)是基本软件Basic Software(BSW)的一个组件。它是囊括了下层通信服务的控制的资源管理。
COM Manager控制的基本软件模块(BSW)与通信相关,而不是与软件组件或可运行实体相关。
COM Manager从通信请求者那里收集总线通信访问请求,并协调总线通信访问请求。 COM Manager的目标是:
(1)为用户简化总线通信栈的使用。这包括了总线通信栈的初始化和简化的网络管理处理。
(2)协调与多个软件组件(在一个ECU上)无关的总线通信栈(允许信号的发送和接收)的可用性。
(3)临时性取消信号的发送以阻止ECU唤醒通信总线。
(4)控制ECU的一个以上的通信总线通道,这通过为每个通道实现一种状态机制来实现。
(5)提供使ECU保持总线处于“静默通信”模式。
(6)通过分配对请求通信模式必需的所有资源来简化资源管理。
COM Manager包含以下基本功能:
无通信状态 状态机制 静默通信状态:网络释放状态、预备总线睡眠状态 完全通信状态:网络请求状态、准备睡眠状态 状态期间范围 扩展功能 通信阻止:总线唤醒阻止、静默通信模式的限制、无通信模式的限制 总线通信管理 网络管理依赖 CAN总线关闭处理CAN Bus Off handling 网络起动指示Network Start Indication 总线错误管理 传输故障例外 网络超时例外 测试支持需求 阻止完全通信请求计数器 错误分类 错误检测 错误通知 非功能性需求 · AUTOSAR COM与OSEK COM的比较
根据通信部分提供的功能,对比两者在相同功能上的API,以及两者各自所特有的API,由于AUTOSAR COM较之OSEK COM,多出了一个COM Manager,即通信管理模块部分,所以整个AUTOSAR COM Manager为AUTOSAR标准所特有,下面先对两者的相同功能部分作比较。 1、相同功能及服务 (1)启动与控制服务
OSEK AUTOSAR