本文中,DigiKey介绍了CAN总线通信的特性及工作原理,其在汽车领域广泛应用,采用有线差分双线传输数据,显性0优先,节点断线不影响其他节点运行,且通过广播无地址、ID定优先级的方式实现数据传输。
1. 概念引入
CAN代表控制器局域网。这类通信应用于多种系统内部,最常见的是汽车领域。这些系统通常由有线控制器(微处理器/微控制器)组成,彼此之间进行通信。虽然存在支持无线通信的协议和方法,但有线方式更为普遍。与SPI、I2C、USB等类似格式不同,CAN总线采用截然不同的数据通信格式。
2. 差分信号与电平定义
CAN总线基于差分电压电平工作:
双线:使用两条同步传输数据的通信线缆。分别称为
‑ CAN高(Hi)
‑ CAN低(Lo)
电平:具有不同电压电平,由各控制器(称为CAN节点)解析。
‑ CAN高通常测量值为2.5V至3.75V
‑ 而CAN低为2.5V至1.25V
状态:
‑ 当两条线均为 2.5V时,信号称为"隐性",对应二进制值1。
‑ 当CAN高达3.75V且CAN低至1.25V时,信号称为"显性",对应二进制值0。逻辑:从数字逻辑角度看(0为低电平,1为高电平),这种设定可能显得反常,但该协议优先识别0值而非1值。因此驱动逻辑与常规数字逻辑解读相反。
3. 基础接线图
该协议的接线方式具有独特特性。
容错:相比单线协议,CAN总线的优势在于节点断开时不影响其他节点运行。若某节点的CAN高或CAN低线路切断,系统仍能向其他节点传输数据。某些系统在主线路故障时可沿单线传输数据,但这取决于厂商(并非所有系统都能在CAN高或CAN低线路故障时工作)。
性能:线路切断会降低系统性能,因为120欧姆电阻具有双重作用。
‑ 首先提供高低电平差分
‑ 同时为高频系统匹配阻抗
运行:该协议在差分电压下运行最佳。
双绞线:也具备双重功能。
‑ 其一,可阻挡外部电磁干扰
‑ 其二,有助于解决协议高速传输时的电磁干扰问题
4. 广播与优先级机制
注意这里没有其他线路,这意味着数据包(消息)会同时发送给所有节点。
寻址:CAN消息数据帧中没有"地址",但数据帧内设有方法来确定每个节点接受或拒绝哪些信息。
优先级:同时通过用户定义的特定消息实现优先级区分。数据必须设置特定比特位以避免与其他消息冲突,因此优先级是CAN总线解决该问题的关键。
文章来源:DigiKey