【工业通讯】CAN基础内容详解(一)

概念

CAN(Controller Area Network)总线就是网络系统的控制器区域,想象汽车像身体一样,那么CAN就相当于人体的神经系统,协助人体进行各部分的沟通。以此类推,节点或者车内电子控制单元,都是由CAN总线连接起来的。在汽车系统中,在电控单元数量繁多的配置下,CAN标准就是一个便利工具,通过它,电控单元之间可以相互通信,不需要复杂多样的接线来实现,所有的外围器件都可以挂接在该总线上。设置CAN最初的目的就是减少线束的数量,允许任一电控单元与整个系统通信,同时不会使车载电脑负载。

CAN总线是一种有效支持分布式控制或实时控制的串行通信网络。

本文说的CAN即是一种总线,也是一种协议。所以说,我们常听见CAN总线,也常听见CAN协议。
在这里插入图片描述

特点

CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。

(1)可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。

(2)网络上的节点(信息)可分成不同的优先级,可以满足不同的实时要求。ID值越小,优先权越高。CAN通信基于标识符进行优先排列就能够让最高优先级标识符的通讯免于中断;

(3)非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据。

(4)可以点对点、一点对多点(成组)及全局广播等几种传送方式接收数据。

(5)数据传输距离远,最远长达10Km、数据传输速率高,最高高达1Mbps;一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。一般作为CAN收发器时,同一网络中允许挂接110个节点。CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。当信号传输距离达到10K时,CAN 仍可提供高达50Kbit/s的数据传输速率。

(6)具有错误检测、错误通知和错误恢复功能。所有单元都可以检测错误(错误检测功能),检测出错误的单元会立即同时通知其他所有单元(错误通知功能),正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。

(7)节点数实际可达110个。

(8)采用短帧结构,每一帧的有效字节数为8个。

(9)每帧信息都有CRC校验及其他检错措施,数据出错率极低。

(10)通信介质可采用双绞线,同轴电缆和光导纤维,一般采用廉价的双绞线即可,无特殊要求。

(11) 数据在整个系统范围内具有一致性。

(12)仲裁失败或传输期间被故障损坏的帧能自动重发。

(13)节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其他操作不受影响,脱离总线的节点不影响总线的正常工作。但是CAN总线如果传输的信息过多,就会造成数据堆积,发生过载现象。

由于CAN总线上述的这些特点,它凭借着可靠、实时、经济和灵活的优势在其他行业也得到了广泛的应用,从汽车电子到工业控制慢慢普及,目前已成为全球范围内最重要的现场总线之一。

OSI模型与CAN的关系

国际标准化组织(ISO)对通信系统进行了更详细的划分:
在这里插入图片描述
下图为OSI模型与CAN的关系:
在这里插入图片描述
CAN-bus的规范定义了ISO规范中的物理层和数据链路层;一些国际组织定义了应用层,例如CiA组织的CANopen、ODVA组织的DeviceNet等;也有一些用户根据需求自行设计应用层。ISO/OSI模型与CAN-bus的对应关系详见下图:
在这里插入图片描述
设备之间所谓的通信,其实是相同层次间的信息沟通,例如物理层与物理层的信息交换,应用层与应用层的信息交换,层与层之间是互相独立的。正是基于这种层次化的结构,才使得大家能各司其职,高效而又相互独立的工作。
————————————————
版权声明:本文为CSDN博主「工业通讯__HongKe」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47677928/article/details/106090050

猜你喜欢

转载自blog.csdn.net/hongke_Tech/article/details/106252076