1. CAN 总线协议的介绍
控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。
参考资料:CAN总线协议_百度百科 (baidu.com)
2. CAN 总线的工作原理
CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。 [1] CAN与I2C总线的许多细节很类似,但也有一些明显的区别。当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。
当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。
参考资料: CAN总线协议_百度百科 (baidu.com)
3. CAN总线特征
1. CAN线消息发送是 1对多,广播模式的发送,每个节点都可以发送信息。
2. CAN信息发送时 有一个标识符, 所有的节点接收这个消息根据标志符来决定是否接收这个消息。
3. 数据一致性应确保报文在CAN里同时被所有节点接收或同时不接收,这是配合错误处理和再同步功能实现的。
4. 优先权 由发送数据的报文中的标识符决定报文占用总线的优先权。标识符越小,优先权越高。
5. 仲裁(Arbitration) 只要总线空闲,任何节点都可以向总线发送报文。如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。通过使用标识符的逐位仲裁可以解决这个碰撞。仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显性”电平,那么这个单元就失去了仲裁,必须退出发送状态。
6. 总线状态 总线有“显性”和“隐性”两个状态,“显性”对应逻辑“0”,“隐性”对应逻辑“1”。“显性”状态和“隐性”状态与为“显性”状态,所以两个节点同时分别发送“0”和“1”时,总线上呈现“0”。 (就是一个总线上 两个节点 一个节点发0 , 一个发1, 总线传输的信息总是 0)
7. 故障界定(Confinement) CAN节点能区分瞬时扰动引起的故障和永久性故障。故障节点会被关闭。
8. 应答接收节点对正确接收的报文给出应答,对不一致报文进行标记。
9. CAN通讯距离最大是10公里(设速率为5Kbps),或最大通信速率为1Mbps(设通信距离为40米)。
10. CAN总线上的节点数可达110个。通信介质可在双绞线,同轴电缆,光纤中选择。
11. 报文是短帧结构,短的传送时间使其受干扰概率低,CAN有很好的校验机制,这些都保证了CAN通信的可靠性。
12. CAN总线 需要终端电阻,终端电阻大小由线的长度决定。
参考文章 :CAN总线协议_百度百科 (baidu.com)
4. CAN 总线的引脚
序号 | 名称 |
1 | CAH_H |
2 | CAN_L |
5. 国产的 CAN收发器
资料链接: SIT1044T_SIT1044T采购信息-立创电子元器件商城 (szlcsc.com)
6. 推荐阅读的文章
1. CAN总线终端电阻 链接:CAN总线要有两个120Ω终端电阻的原因和工作原理_终端电阻为什么是120欧-CSDN博客
2. CAN 协议发送的数据的解释 链接:一口气从零读懂CAN总线。 - 知乎 (zhihu.com)
3. CAN 总线硬件电路设计 链接:CAN总线入门(硬件部分)-电子工程专辑 (eet-china.com)
4. CAN 总线的设计结构 链接:详解CAN总线:什么是CAN总线? - 知乎 (zhihu.com)
5. 可以看看的文章 :CAN总线(一)——CAN总线是什么,在哪用,怎么用?_口袋里のInit的博客-CSDN博客