CAN总线的应用越来越广泛,我们可以在汽车电子、工业控制、大型仪器设备等各个领域中看到CAN总线的身影。
CAN总线最早于1986年推出,它是一种国际标准的串行通信协议,全称为Controller Area Network(控制器局域网络)。作为工业现场总线的一种,CAN总线已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。
从OSI(Open System Interconnection,开放系统互联)7层网络模型的角度来看,CAN现场总线仅定义了第1层(物理层)和第2层(数据链路层)。这意味着CAN总线只规定了物理连接和数据传输方面的标准,而上层的网络协议和应用层协议则可以根据具体的需求来定制。
关于CAN及CANOpen的内容,我之前在我的公众号上写了很多文章,您可以在我的主页上搜索相关内容,或者向我后台回复“CAN”来查看更多相关资料。
第二代CAN
CAN FD:CAN with Flexible Data-Rate,翻译为可变速率的CAN。
在经典CAN的基础上增加传输速率,数据域可传输64byte,也就是可变速的功能,是CAN的升级版。
CAN FD 采用了两种方式来提高通信的效率:
-
缩短位时间提高位速率; -
加长数据场长度减少报文数量降低总线负载率。
在 CRC 校验段采用了三种多项式来保证高速通讯下的数据可靠性。
参考官网:
https://www.can-cia.org/can-knowledge/can/can-fd
第一代和第二代CAN区别
1.数据位数不同
-
CAN:一帧数据最长8字节 -
CAN FD:一帧数据最长64字节
2.速度不同
-
CAN:最大1Mbit/s -
CAN FD:大于1Mbit/s
(在仲裁阶段,限制为 1 Mbit/s)
当然,除了数据位的区别,还有可变速率、帧格式等不同,具体可参看官方文档:
www.can-cia.org
第三代CAN
继CAN、 CACN FD之后,在2020年1月,CiA官方推出了全新一代的CAN XL。
CAN XL将提供一个最大2048字节的数据字段。网络层可以将11位优先级字段用于寻址目的,并指示数据字段的内容。
CAN XL帧通过两个CRC(循环冗余校验)进行保护,可以检测到五个随机分布的误码。
CAN XL是一种高度可扩展的通信技术,涉及比特率和数据字段的长度。物理层仍在开发中。目标是达到高达10+ Mbit/s的比特率。
CAN XL针对面向区域的异构网络体系结构进行了优化,这种方案可满足未来车载网络长度的优化要求,减少布线。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !