CAN FD 链路协议详细说明
本文基于 Bosch CanFD 协议
Can Fd 为串行通讯协议,高效支持分布式实时控制,高灵活性。为了实现设计的透明性和实现的灵活性,CAN-FD根据ISO/OSI参考模型被细分为不同的层。
Data Link Layer
数据链路层主要用于处理帧信息,主要由以下两个子层组成
-
Logical Link Control(LLC)
LLC对应于节点的控制器主机接口,负责消息过滤、过载通知和恢复管理。它的范围是- 决定MAC子层接收到的消息将被实际接受
- 提供数据传输和远程数据请求服务
- 向MAC子层提供消息以进行传输
- 提供恢复管理和过载通知的方法。
-
Medium Access Control(MAC)
MAC子层负责消息帧、仲裁、确认,错误检测和信号发送。它由一个名为Fault Confinement 管理实体进行监督它是一种自我检查机制,用于区分短扰动永久性的失败。在MAC子层中,决定总线是否空闲用于启动新的传输或接收是否刚刚开始。MAC子层表示CAN FD协议的核心。这是MAC子层的本质,没有修改的自由。
Physical Layer
物理层处理Bit并定义信号如何实际传输,因此处理Bit 时序、Bit编码和同步。在本规范不定义物理层的电驱动器/接收器特性,以便允许传输介质和信号级实现为其应用进行优化。
Massage Transfer
Frame Formats
- CAN BASE Format: 11位长标识符和恒定比特率
- CAN Extended Format: 29位长标识符和恒定比特率
- CAN FD BASE Format: 11位长标识符和双比特率
- CAN FD Extended Format: 29位长标识符和双比特率
Frame Types
- Data Frame:
- Remote Frame:
- Error Frame:
- Overload Frame:
Data Frame
-
Start of frame(SOF)
用于标记 Data frames, Remote Frames。
站点只允许在总线空闲时开始传输(参见帧间空间)。所有站点必须同步到由首先开始传输的站点的帧开始(参见硬同步)引起的前沿。 -
Arbitration Field