AUTOSAR_SWS_CANDriver
AUTOSAR_SWS_ CAN Driver 简介和功能概述 该规范指定了 AUTOSAR 基础软件模块 CAN 驱动程序(在本文档中称为“Can 模块”)的功能、 API 和配置。 CAN 模块属于最低层,执行硬件访问并向上层提供独立于 硬件 的 API 。 唯一可以访问 CAN 模块的上层是 Can If 模块(另请参阅 SRS _ SPAL _12092)。 CAN 模块提供启动传输的服务,并调用 Can If 模块的回调函数来通知 事件 ,独立于 硬件 。 此外,它还提供控制属于同一 CAN 硬件 单元的 CAN 控制器 的行为和状态的 服务 。 只要属于同一个 CAN 硬件 单元, 多 个 CAN 控制器 就可以由单个 CAN 模块控制。 有关 CAN 控制器 和 CAN 硬件 单元的详细描述,请参见首字母缩略词和缩写章节以及[5]中的图表。 首字母缩略词和缩写 优先级反转 如果只使用单个传输 缓冲区 ,则可能会发生内部 优先级 反转。 由于 优先级 较低,存储在 缓冲区 中的 消息 会等待,直到“总线上的流量平静下来”。 在等待期间,此 消息 可能会阻止同一微控制器生成通过总线传输的更高 优先级 的 消息 。 外部 优先级 反转问题可能出现在某些 CAN 实现中。 假设 CAN 节点希望传输一组具有高 优先级 的连续 消息 ,这些 消息 存储在不同的 消息 缓冲区 中。如果 CAN 网络上这些 消息 之间的 帧间空间 大于 CAN 标准定义的 最小 空间,则第 二 个节点能够开始传输较低 优先级 的 消息 。 最小 帧间空间 由 间歇字段 确定,该字段由 3 个隐性 bit 组成。 之前由于另一条 消息 的传输而处于待处理阶段的 消息 ,将在总线空闲期间开始被传输,最快可紧随 间歇字段 之后,从 间歇字 段 之后的第 一 个 bit 开始。 例外情况是,具有待传输的 消息 的节点会将 间歇字段 的第三个 bit 解释为显性 bit ,并以此 bit 作为帧的起始位,开始传输帧的第一个标识符位,而无需先传输 SOF 位。 CAN 模块的内部处理时间必须足够 短 ,以发送具有最小 帧间空间 的连续 消息 ,以避免在上述所有情况下出现外部 优先...
评论
发表评论