![0?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/c2d6ea4c642bf7cd26b1baca84f84471.png)
首先,小猿给大家拜个晚年,祝各位猿友在新的一年里,工作顺利,技术长进,家庭和睦,
在刚刚过去的一年,CAN总线有了飞跃的发展,也就是我们要讲的CAN FD(CAN with Flexible Data-Rate)
CAN FD简介
CAN FD(CAN with Flexible Data-Rate), 随着通信技术的进步,总线技术的广泛应用,对总线带宽和传输速率提出了更高的要求,传统的CAN最高可以到1M数据场只有8字节已经难以满足日益增加的需求,早在11年博世公司就提出了CANFD用以替代传统的CAN中心,但是直到15年才通过国际标准化组织认可,并通过ISO11898-1:2015标准草案。CANFD 继承了CAN总线的绝大多数的特性,如同样的物理层,双线串行通讯协议,基于非破坏性仲裁技术,分布式实时控制,可靠的错误处理和检测机制等,但是CANFD弥补了CAN总线在总线带宽和数据长度的不足。
国际CAN会议
国际CAN会议international CAN Conference (iCC)是世界各地的CAN开发者,专家共同讨论交流的平台,在2015年的第十五届iCC大会上,焦点就是CANFD,
CANFD 协议帧
为了区别传统的CAN帧结构和CANFD帧结构,以前保留的一个位被使用,称为FDF(FD Frame),如果这一位是隐性,代表CAN FD帧, 如果是显性代表传统CAN 帧。新引入的BRS(Bitrate switch)位代表是否采用高速率。ESI (error state indicator) 错误状态指示位。
SOF =start-of-frame, CRC = cyclic redundancy check, ACK = acknowledgement, EOF =end-of-frame, IMF = intermission field
CAN FD标准帧和扩展帧结构如下,需要注意的一点是CAN FD不支持远程帧。
RRS = remote request substitution, SRR = substitute remoterequest, IDE = identifier extension, FDF = flexible data rate format, d =dominant, r = recessive, r0 = reserved
在CAN FD中对数据长度域是如何规定的如下图所示:
t-theme-font:minor-fareast;mso-hansi-font-family:Arial;mso-fareast-language:ZH-CN'>帧。新引入的BRS(Bitrate switch)位代表是否采用高速率。ESI (error state indicator) 错误状态指示位。
这里在多提一点,我们曾经在公众号里介绍过SAE J1939协议,那么随着CAN FD标准的发布,CIA兴趣小组计划扩展传统的J1939协议数据链路层将会在Cia602-2中发布,尤其是在传输协议,广播消息等,更新的cia602-2草案将兼容AUTOSAR标准。对CANOpen协议标准也会更新。
CANFD对CRC的部分也进行了更新,有兴趣的猿友可以深入研究下,这里不在赘述。据报道,已经有NXP,mirochip,英飞凌等芯片厂商推具有CANFD的芯片,相信在接下来的纪念CANFD一定会飞跃推广。
文中图片来源http://www.can-cia.org网站。特此声明
嵌入式
程序猿
嵌入式程序猿致力于打造程序猿工程师交流分享的精品移动平台,欢迎各位猿友加入和分享。微信搜索嵌入式程序猿添加关注,或者长按下方二维码,选择识别图中二维码添加关注。