控制器局域网(Controller Area Network, CAN)是汽车电子系统中应用最广泛的实时串行通信协议。本文从技术原理出发,系统阐述CAN总线的物理层特性、数据链路层规范、帧结构、仲裁机制与错误处理策略,并在此基础上介绍CAN FD及CAN XL的演进,为读者提供一份严谨、结构化的技术参考。
1.引言
现代汽车集成了数十乃至上百个电子控制单元(ECU),分布于动力、底盘、车身及信息娱乐等各个领域。为在强电磁干扰的恶劣环境下实现高可靠、低延时的实时数据交换,德国博世公司于1986年推出CAN总线协议,并被先后纳入ISO 11898及ISO 11519系列国际标准。CAN总线采用多主竞争式访问机制,以差分信号传输和逐位仲裁为基础,在有限的带宽内实现了确定性通信,成为车载网络的核心骨干。
2.物理层特性
CAN总线遵循ISO 11898-2(高速CAN)和ISO 11898-3(低速容错CAN)等物理层规范。高速CAN采用特性阻抗为120 Ω的双绞线作为传输介质,最大传输速率可达1 Mbit/s,此时总线长度限制约40 m;当速率降至125 kbit/s时,传输距离可延伸至500 m以上。
物理层采用差分电压传递逻辑状态:当CAN_H与CAN_L电压差约为2 V时,总线呈显性(逻辑0);当电压差接近0 V时,总线呈隐性(逻辑1)。显性电平能够覆盖隐性电平,这一特性是后续仲裁机制的基础。此外,终端节点必须在总线两端各并联120 Ω终端电阻,以抑制信号反射,确保阻抗匹配。
3. 数据链路层与帧类型
CAN协议依照开放系统互连(OSI)参考模型,主要定义了物理层和数据链路层。数据链路层进一步划分为逻辑链路控制(LLC)子层与媒体访问控制(MAC)子层。LLC子层负责报文滤波、过载通知及恢复管理,MAC子层负责帧封装、仲裁、应答、错误检测与故障界定。
CAN总线定义了四种帧类型:
数据帧(Data Frame):承载节点发送数据的帧,分为标准格式(11位标识符)和扩展格式(29位标识符)。
远程帧(Remote Frame):请求发送具有相同标识符的数据帧,其远程传输请求位(RTR)为隐性。
错误帧(Error Frame):由检测到总线错误的节点发送,包含错误标志和错误界定符。
过载帧(Overload Frame):用于在连续数据帧或远程帧之间提供附加延时。
数据帧内部结构按位序划分,包括帧起始、仲裁场、控制场、数据场(0~8字节)、CRC场、应答场和帧结束。帧起始为单个显性位,用于同步所有节点。仲裁场由标识符和RTR位构成,标识符数值越小,报文优先级越高。控制场包含标识符扩展位(IDE)、数据长度码(DLC)。CRC场采用15位循环冗余校验码,以生成多项式 \(x^{15}+x^{14}+x^{10}+x^{8}+x^{7}+x^{4}+x^{3}+1\) 保证数据完整性,其后跟随隐性CRC界定符。应答场由应答间隙和应答界定符组成,正确接收数据的节点会在应答间隙写入显性位以表明成功接收。帧结束由7个连续的隐性位构成。
4. 总线仲裁机制
CAN采用非破坏性逐位仲裁策略。当多个节点同时开始发送时,各节点在发送仲裁场的同时监测总线电平。若某节点发送隐性位而监测到显性位,则判定自身失去仲裁,立即转入接收状态。由于显性电平可覆盖隐性电平,标识符较小的节点将持续占用总线而不破坏已发送数据。该机制保证了高优先级报文在最坏情况下的实时响应时间可被精确计算,从而满足硬实时系统要求。
5. 错误处理与故障界定
CAN具备五级错误检测机制:
位错误(Bit Error):节点发送位与总线回读位不一致(仲裁场和应答场除外)。
填充错误(Stuff Error):在需要位填充的场(帧起始至CRC序列)内,检测到6个连续相同电平。
CRC错误(CRC Error):接收端计算的CRC序列与发送端不一致。 格式错误(Form Error):固定格式场出现非法电平。
应答错误(Acknowledgment Error):发送节点在应答间隙未检测到显性位。
每个CAN控制器内嵌发送错误计数器与接收错误计数器,根据错误计数将节点状态划分为错误主动、错误被动和总线关闭三种。处于错误主动状态时可正常参与通信并发送主动错误标志;错误被动状态下仅能发送被动错误标志;当发送错误计数超过255时进入总线关闭状态,节点脱离总线。这种分级管理机制能有效隔离永久性故障节点,保证总线整体可用性。
6. 高层协议与标准化诊断
CAN本身仅定义物理层与数据链路层,实际应用中需配合高层协议。在汽车领域,基于CAN的ISO 15765-2(DoCAN)传输层协议规定了多帧传输机制,支撑统一诊断服务UDS(ISO 14229-1)。CAN标识符与数据帧格式在AUTOSAR等软件架构中被系统化配置,形成网络管理、信号交互的标准化模板。此外,CANopen(CiA 301)等协议在工业自动化中广泛应用,进一步扩展了CAN的适用边界。
7. 速率演进:CAN FD与CAN XL
随着高级驾驶辅助系统及自动驾驶技术发展,1 Mbit/s的经典CAN带宽难以承载传感器大数据流和高效软件刷写需求。CAN FD(Flexible Data-rate)在物理层兼容经典CAN的前提下,在数据场及CRC场将速率提升至最高5 Mbit/s甚至8 Mbit/s,并将单帧有效载荷扩展至64字节。其采用改进CRC算法(CRC 17或CRC 21)以适配更长数据场。
最新的CAN XL规范则面向异构网络融合,将最大数据场长度扩展至2048字节,支持10 Mbit/s及以上速率,并引入新的帧头部结构及可选的安全校验字段。CAN XL保持了与CAN FD及经典CAN在物理层上的向后兼容性,为汽车骨干网从CAN向以太网架构过渡提供了平滑演化路径。
8. 车载应用与结语
在整车电子电气架构中,CAN总线依据功能域划分多条子网:动力CAN(PT-CAN)承载发动机、变速箱、电池管理等实时控制报文,通信周期常为毫秒级;底盘CAN汇聚防抱死制动、电子稳定程序等安全攸关系统的信号交互;车身CAN则负责灯光、门锁、空调等低速控制任务,部分场景亦采用LIN总线作为补充。随着域集中式与区控制器架构的推进,CAN仍将作为边缘实时通信的核心载体,与车载以太网互补共存。
综上,CAN总线以其出色的实时性、强大的错误处理能力及成熟的生态体系,将持续在汽车电子领域发挥不可替代的作用。理解其底层机制与演进路径,是设计高可靠车载通信系统的必要前提。