CanIf的下层模块主要是CAN驱动程序CanDrv。由于CanIf在AUTOSAR BSW架构中的地位,它与CanDrv有着密切的关系。CanDrv只提供对CAN控制器的硬件抽象访问,但是CanDrv会检测和处理CAN控制器的事件,并将这些事件通知到CanIf。CanIf将CanSm的操作模式请求传递给相应的底层CAN控制器。 CanDrv提供了标准化的L-PDU,以确保Can...
AUTOSAR基础软件中的通讯,前文已经介绍过COM模块、PduR模块、CanTp模块和IpduM模块,今天介绍硬件抽象层的CAN接口模块—— CanIf模块。 1 位置和作用 如图1所示,CAN接口模块(下文简“CanIf”)位于底层CAN驱动(CanDrv)、CAN收发器(CanTrcv)和上层通信服务层(CanSm、CanNm)、CAN传输协议(CanTp)、PDU路由器(Pd...
如果前一个传输请求成功完成,CanDrv会通过调用CanIf_TxConfirmation()将其通知给CanIf。 如果对于CAN控制器,启用了全局总线镜像CanIfBusMirroringSupport和激活调用CanIf_EnableBusMirroring(), CanIf将会调用Mirror_ReportCanFrame()对每一帧传输控制器确认CanIf_TxConfirmation(),提供存储内容和实际的ID。 调用回调函数...
AUTOSAR:AUTOmotive Open System Architecture, 汽车开放系统架构 CAN:Controller Area Network, 控制器局域网 NM:Network Management, 网络管理 NM PDU:Network Management protocol data unit, 网络管理协议数据单元 CanIf:CAN Interface CAN接口 CanNm:CAN Network Management CAN网络管理 CBV:Control Bit Vector 控制比...
二、说明 一个CAN控制器总是对应于一个物理通道。允许连接总线侧连接物理通道。无论CanIf模块都将分别...
CAN IF为上层模块提供接收提示,发送请求,发送确认等通信功能以及为网络管理服务的控制器模式切换,设置波特率,WakeUp等功能。 CANTP实现依据ISO15765-2标准规范中定义的CAN总线数据在传输层的数据接收发送功能,包括数据的发送拆包、接收数据重组、数据流控和错误处理机制。
可以翻译需要的CAN通讯服务。由于障碍检测SWC不需要任何硬件资源,因此不需要BSW服务。另一方面,与硬件相关的SWC(例如,发黄和红色的LED)需要数字I / O服务。modeManagerInit所需的服务是ECU管理功能,用于执行ECU,计时器和通信的初始化。另外,任务创建和计划需要OS服务。Com,PduR,CanIf和Can connumodules用于实现CAN...
Read函数;CAN Driver模块的Can_MainFunction_Read函数将访问CanController(硬件)的寄存器,如前面文章所述的仲裁寄存器,数据寄存器和数据长度寄存器,并读取这些寄存器的数据;数据读取结束后,这时继续调用CAN Interface模块的CanIf_RxIndication函数,这样数据从CAN Driver模块传给了上一层的CAN Interface模块;CAN ...
一种为DBC配置好,导入自动生成。另一种,可以在EcuC模块手动添加模块后,在CanIf模块添加所需PDU。
AUTOSAR体系结构定义了通信系统的各个具体的传输层(CanTp、包含LinIf的LinTp、FlexRayTp)。因此,CAN传输层仅涵盖了CAN传输协议的细节。 CAN传输层拥有一个接口,该接口连接一个单独的下层CAN接口层和一个单独的上层PDU Router模块。 根据AUTOSAR发布的计划,该CAN传输层规范包含下面的限制: ...