什么是CAN总线?

接口/总线/驱动

1117人已加入

描述

在之前的文章中,小编介绍了几种常见的短距离无线通信传输技术和低功耗广域网络(LPWAN),后面的几期文章将分享常见的有线传输方式,如CAN总线、串口通信、USB通信等。

有线传输方式

第一期:CAN总线

什么是CAN?

CAN是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车车载产业中,出于对车载安全性、舒适性、方便性、低功耗、低成本等等的要求,各种各样的电子控制系统被开发了出来。由于这些电子控制系统之间通信所用到的数据类型、对可靠性的要求都不尽相同,而且由多条总线构成的情况也非常多,线束的数量也随着构成情况而增加。

为适应“适当减少线束的数量”、“通过多个LAN,进行对大量数据间的高速数据通信”的需求,1986年德国电气商博世公司开发出了面向汽车行业的CAN通信协议。此协议推出之后,CAN通过ISO11898及ISO11519进行了标准化,成为了欧洲已在汽车行业网络控制系统内的标准协议。

CAN总线的数据格式

CAN-bus通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔。

CAN

数据帧:结构上由7个段组成,其中根据仲裁段ID码长度的不同,分为标准帧(CAN2.0A)和扩展帧(CAN2.0B)。标准帧为11位,扩展帧为29位。这也是我们在使用中接触最多的格式。

CAN

远程帧:与数据帧相比没有数据段,结构上由7个段组成。当你需要总线上的一个节点向你发送数据,使用次节点的ID,发送一帧远程帧。远程帧最大的好处就是只需要一帧的时间就能完成一次双向交互。

错误帧:虽然CAN总线是可靠性很高的总线,但是依然会出错:CAN总线上会出现5种错误。

过载帧:当某个节点没有做好接收下帧数据将发送过载帧通知节点。

帧间隔:只存在于数据帧与远程帧之间,用于帧之间的分离。

CAN总线的通信特点

CAN总线是德国BOSCH从80年代初为了解决现代汽车中众多控制、测试系统之间的数据交换,从而开发出来的一种串行数据通信协议,它是可以用双绞线、同轴电缆或光导纤维来作为通信介质的一种多主总线。通信速率最高可达1Mbps。

CAN

(1)可在各节点之间实现自由通信:CAN协议的一个最大特点是废除了传统的站地址编码,取而代之的是对通信数据块进行编码。采用这种方法的优点是,在理论上,CAN构成的网络节点个数是不受限制的。数据块的标识符可由11位或29位二进制数组成,因此可以定义2或2个以上不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。

(2)结构简单:只有2根线与外部相连,并且内部集成了错误探测和管理模块。

(3)数据纠错:采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作,每帧数据都有CRC校验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境下使用。

(4)完成对通信数据的成帧处理:CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可以完成对通信数据的成帧处理,包括数据位填充、数据块编码、循环冗余检验、优先级判别等等。

CAN 的高性能和可靠性的特点现已被了解认同,并且被广泛地应用在工业自动化、船舶、医疗设备、工业设备自动化等行业。CAN总线俨然是当今自动化领域技术发展的大热之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间的实时、可靠的数据通信提供了强大有力的技术支持。

 

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分