ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

CAN总线的‘门牌号’和‘载货量’:CAN2.0A、CAN 2.0B、CAN FD一文讲透

CAN总线的‘门牌号’和‘载货量’:CAN2.0A、CAN 2.0B、CAN FD一文讲透 可以把它们理解为CAN总线从“小社区”到“大都市”再到“智慧城市”的两次关键升级。这几种协议的核心区别在于“门牌号”标识符ID的长度和“道路容量”数据载荷与速率。而关于兼容性情况并非简单的“是”或“否”需要分情况讨论。 核心区别速览特性CAN 2.0ACAN 2.0BCAN FD发布时间1991年1991年2012年博世2015年ISO帧格式/“门牌号”标准帧(11位标识符)标准帧(11位) 和扩展帧(29位)支持11位和29位标识符“门牌号”总数2048个超过5.3亿个 (2²⁹)同CAN 2.0B数据载荷/“载货量”最多8 字节最多8 字节最多64 字节通信速率/“限速”最高1 Mbps最高1 Mbps可变速率仲裁段最高1 Mbps数据段最高8-12 Mbps本质定义了基础格式在2.0A基础上增加了扩展格式在2.0B基础上全面提升了速度和数据量 细节差异与兼容性详解1. CAN 2.0A vs. CAN 2.0B“门牌号”的扩容CAN 2.0A (标准帧)就像一个只有2048个门牌号的小区。当汽车电子系统越来越复杂这些“门牌号”很快就不够用了。CAN 2.0B (扩展帧)为了解决问题CAN 2.0B将“门牌号”扩展到了29位提供了超过5.3亿个地址几乎是用不完的。兼容性如何答案是“向下兼容向上不兼容”。CAN 2.0B 设备可以理解 CAN 2.0A 设备一个符合2.0B规范的设备既能发送也能接收2.0A的标准帧。CAN 2.0A 设备无法理解 CAN 2.0B 设备如果一个只支持2.0A的设备收到一个带有29位ID的扩展帧它会报告一个错误。因此在一个同时存在两种设备的网络中必须让所有2.0B设备都工作在“2.0A模式”下只发送11位ID的标准帧。关于“主动”与“被动”你可能会看到“CAN 2.0B主动”和“CAN 2.0B被动”的说法。这描述的是CAN控制器对扩展帧的处理方式2.0B 主动能主动地发送和接收标准帧和扩展帧。2.0B 被动只能发送和接收标准帧对于扩展帧则会忽略但不会报错。2. CAN 2.0 vs. CAN FD从“乡道”到“高速路”CAN FD (CAN with Flexible Data-Rate) 是一次更大规模的升级它继承了CAN 2.0的绝大多数特性但核心目标是提速和扩容。“载货量”大增每帧数据从8个字节提升到64个字节。“车速”可调引入可变速率机制。在总线仲裁阶段使用最高1 Mbps的经典速率在数据传输阶段则切换到最高8 Mbps甚至更高的速率。兼容性如何答案是“反向兼容但非完全对等”。CAN FD 节点可以理解 CAN 2.0 节点一个CAN FD设备可以完全像一个经典的CAN 2.0节点一样工作并能识别和接受CAN 2.0的帧。CAN 2.0 节点无法理解 CAN FD 节点当一个经典的CAN 2.0节点收到一个CAN FD的特殊帧时它会将其视为错误并破坏该帧。这意味着不能简单地将CAN FD节点和CAN 2.0节点混在一个网络中并期望CAN FD节点能发挥其高速、大数据的优势。在混合网络中CAN FD节点可以发送传统CAN帧但一旦它试图发送CAN FD帧就会导致传统节点报错。 总结升级路径核心变化兼容性关系CAN 2.0A → CAN 2.0B“门牌号”扩容(11位 → 29位)2.0B设备向下兼容2.0A反之则不兼容。CAN 2.0 → CAN FD“扩容”“提速”(8字节/1Mbps → 64字节/8Mbps)CAN FD设备向下兼容CAN 2.0反之则不兼容。总的来说CAN总线的演进路径非常清晰CAN 2.0A提供了基础的通信能力。CAN 2.0B通过扩展ID解决了设备数量问题并保持了对2.0A的兼容。CAN FD通过提升速度和数据载荷解决了带宽问题它对CAN 2.0是反向兼容的但混合组网时功能会受限。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进