CANFD总线协议
1.帧起始
与经典CAN类似,CAN FD数据帧的第1位也是“SOF(Start Of Frame,帧起始)”,显性电平(逻辑0)
2.仲裁域
与经典CAN类似,不过将“RTR”位替换为“RRS”位。RRS是英文“Remote Request Substitution(远程请求替换)”的缩写,该位替代了远程帧请求位,并且在CAN FD中永远保持显性(逻辑0)。这就意味着CAN FD中没有远程帧.
这里的ldentifier就是CANDB中的消息ID
3.控制域
保留了经典CAN的IDE/r1、r0和DLC,增加了FDF、BRS和ESI三个位,如下图中的绿色部分:
其中:
-
IDE(Identifier Extension):扩展帧标识。当该位为隐性(逻辑1)时表示扩展帧,显性(逻辑0)表示标准帧。
-
FDF(FD Format Indicator):FD帧标识。当该位为隐性(逻辑1)时表示CAN FD帧,显性(逻辑0)表示经典CAN帧。
-
res:保留位。
-
BRS(Bit Rate Switch):位速率切换位。当该位为隐性(逻辑1)时仲裁相和数据相使用不同的传输速率。
-
ESI(Error State Indicator):错误状态标识。当该位为隐性(逻辑1)时表示发生错误。
当该位为隐性(逻辑1)时表示发生错误。 -
DLC(Data Length Code):数据长度编码,共有4位,用来表示数据的实际长度(字节)。DLC0是DLC的第0位,DLC3是其第3位。四位二进制数最大可以表示的数值为15。因此,对于经典CAN数据长度最大8字节来说,数据长度编码可以顺序编号,如下面的表格所示.
但是CAN FD希望能最大传输64字节的数据,这样数据编码就不能采用顺序增长的方式,必须进行定义。为了与经典CAN兼容,8字节以前的数据是相同,以后的编码采用下面的定义:
本文作者:caseyzz
本文链接:https://www.cnblogs.com/caseyzq/p/18670692
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示