没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
AUTOSAR CAN Driver(CAN 驱动程
序)
CAN 通讯功能模块的实现逻辑如下:
本文介绍的就是 BUSDriver 这里指 CANdriver 模块
该驱动模块位于 MCAL 层
1.简介以及功能概述
在 CAN driver 模块主要将要介绍 CAN 驱动模块的功能、配置以及 API。
该模块是底层的一部分,执行硬件的访问,并向上层提供一个硬件独立的 API。唯一一个可以
访问该 CAN 驱动模块的上层模块是 CANIF 模块。
该模块为发起传输、调用 Canif 模块的回调函数来通知事件提供服务,它是独立于硬件的。此
外,它还提供控制属于同一 CAN 硬件单元(CAN Hardware Unit)的 CAN 控制器(CAN
controller)的行为和状态服务。
多个 CAN 控制器可以由一个 CAN driver 模块控制,只要它们是属于同一个 CAN 硬件控制单
元。
(简单地说,CAN 模块属于一部分的最底层内容,其作用是执行硬件访问和为上层提供独立
的硬件接口(这里能访问 CAN 模块的上层只有 CanIf 模块))。
2.专业术语
上述总结中 CAN L-SDU 是 CAN L-PDU 当中的 DATA(既是其中包含的数据单元)
2.1 Priority Inversion(优先级反转)
Inner priority inversion
如果只使用一个发送缓冲区,内部优先级反转可能会发生。由于低优先级,存储在缓冲区中的
消息要等到“总线上的流量平静下来。在等待的时间内,该消息可以阻止由同一微控制器产生
的高优先级消息在总线上传输。
Outer priority inversion
在一些 CAN 实现中可能会出现外部优先级倒置问题。假设 CAN 节点希望发送具有高优先级
的连续消息包,其存储在不同的消息缓冲器中。如果 CAN 网络上这些消息之间的帧间间隔长
于 CAN 标准定义的最小间隔,则第二个节点能够开始传输较低优先级的消息。 CAN 模块的
内部处理时间必须足够短,以便发送具有最小帧间间隔的连续消息,以避免进行外部优先级倒
置。
2.2 CAN Hardware Unit(CAN 硬件单元)
一个 CAN 硬件单元可能由一个或者多个 CAN 控制器组成(控制器可能是位于芯片内部或者
是也可以作为同一类型的外部独立设备,具有公共或单独的硬件对象(Hardware Objects))
如下图所示,CAN 硬件单元由两个 CAN 控制器连接两个物理通道组成:
3.相关文档
3.1 输入的文档(input documents)
• [1] Layered Software Architecture AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf
• [2] General Requirements on Basic Software Modules
AUTOSAR_SRS_BSWGeneral.pdf
• [3] General Requirements on SPAL AUTOSAR_SRS_SPALGeneral.pdf
• [4] Requirements on CAN
AUTOSAR_SRS_CAN.pdf
• [5] Specification of CAN Interface AUTOSAR_SWS_CANInterface.pdf
• [6] Specification of Default Error Tracer AUTOSAR_SWS_DefaultErrorTracer.pdf
• [7] Specification of ECU State Manager AUTOSAR_SWS_ECUStateManager.pdf
• [8] Specification of MCU Driver
AUTOSAR_SWS_MCUDriver.pdf
• [9] Specification of Operating System
AUTOSAR_SWS_OS.pdf
剩余66页未读,继续阅读
资源评论
hanseraaa
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功