1  初识CAN通信

        说起CAN通信,可能很多人都比较陌生,但实际上我们却一直在和它打交道。随着家用汽车的普及,我们开车过程中的每次刹车、每次踩油门,甚至每次的开车门、开车窗,其实都是CAN通信的应用。

      【公众号dotNet工控上位机:thinger_swj】

从0到1:开启CAN通信学习(一)-LMLPHP

从0到1:开启CAN通信学习(一)-LMLPHP

2  CAN基础概念

        CAN 是Controller Area Network 的缩写,是ISO国际标准化的串行通信协议。1986年,为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,德国电气商博世公司开发了面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。

        现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。CAN总线协议是建立在OSI七层参考模型的基础上的,但是它的模型结构只有三层,即物理层、数据链路层和应用层,CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议中的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、CRC校验及优先级判别等工作。

CAN总线有以下特点:

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

  • 网络上的节点信息会分成多种不同的优先级,可以满足不同的实时性要求。

  • 采用非破坏性位仲裁机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点则不受影响继续传输。

  • 以点对点、一点对多点及全局广播来进行数据传输。

  • 直接通信距离最远可达10KM。

  • 通信速率最高可达1MB/S。

  • 点数实际可达110个。

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

  • 每帧信息都有CRC校验及其他检错机制,数据出错率较低。

  • 通信介质可采用双绞线、同轴电缆及光纤,一般采用廉价的双绞线即可。

  • 节点在错误严重的情况下,具有自动关闭总线的功能,切换与总线之间的联系,以使总线上的其他操作不受影响、

3  CAN通信与RS-485通信区别

        RS-485总线也是现在工业现场应用非常广泛的总线协议之一,因此我们可以结合RS-485通信来更好地了解CAN通信,具体表现在以下几方面:

  • 通信距离:RS-485总线最大传输距离是1.2KM,CAN总线最大传输距离是10KM。

  • 输速率:RS-485总线传输速率为300-10M bps,CAN总线传输速率为5K-1M bps。

  • 网络结构:RS-485总线网络构成为主从式集散控制系统,CAN总线可以实现点对点、一对多及全局广播的形式来发送接收数据。

  • 网络容量:RS-485总线网络的一条通信最大可接255个节点,CAN总线实际节点可达110个或更多。

  • 通信方式:RS-485总线网络很难实现实时通信,CAN采用非破坏性技术,并结合位仲裁机制,可以大大节省总线冲突裁决时间。

  • 通信可靠性:RS-485总线网络的容错与检错能力较差,CAN总线在错误严重的情况下,具有自动关闭总线的功能。

  • 公众号dotNet工控上位机:thinger_swj】

   

07-29 15:02