控制器局域网总线(Controller Area Network,简称CAN或CAN-BUS),是德国博世(Bosch)公司于20世纪80年代为解决现代汽车中众多电子控制单元(ECU)之间的数据交换问题而开发的一种串行通信协议。它将遍布车身的数十甚至上百个ECU——如发动机控制器、ABS、安全气囊、电动门窗等——连接在两条数据线上,使它们能够高效、可靠地共享信息。
CAN总线的核心思想是用“一线多用”取代“一线一用”的传统布线方式。它的工作具有以下几个关键特点:
多主工作方式:网络上的任何一个节点(ECU)都可以在任意时刻主动向其它节点发送信息,没有主从之分。例如,发动机ECU可以随时将转速信息放到总线上,而无需等待被询问。
非破坏性仲裁:当多个节点同时发送信息时,CAN协议会根据报文的优先级进行仲裁。低优先级的节点会主动退出发送,而高优先级的节点不受影响,这保证了如刹车信号等关键指令总能被优先传输。最快能在134微秒内传输完毕。
报文滤波与广播:CAN总线采用面向内容的编址方案。一个节点发送的信息会被广播到所有节点,其他节点通过报文滤波判断是否接收,实现点对点、一点对多点等灵活的通信方式。
为了平衡成本和效率,汽车上的CAN总线通常根据应用场景划分为不同速率等级:
高速CAN:速率可达500 kb/s,用于连接对实时性要求高的系统,如发动机控制单元、ABS、安全气囊等。
低速CAN:速率为100 kb/s,用于连接中控锁、电动门窗、座椅调节等对速度要求不高的车身舒适系统。
传统CAN总线的最高理论速率为1 Mb/s,每个数据帧最多可携带8个字节的数据,在面对高级驾驶辅助系统(ADAS)等日益增长的数据量时,逐渐成为瓶颈。
为应对新的需求,博世于2011年发布了升级版本CAN FD(CAN with Flexible Data-Rate)。
CAN FD在保留传统CAN主要特性的基础上,实现了两大关键提升:
传输速率提升:数据场部分速率可达2 Mbit/s甚至5 Mbit/s,而仲裁场仍使用标准速率以保证兼容性。
数据场加长:将每帧的有效数据场从8个字节大幅提升至64个字节,有效降低了总线负载率。
这一改进使CAN FD能更好地承载来自摄像头、雷达等传感器的海量数据,并与车载以太网一同构成了现代智能汽车的网络骨架。
CAN总线长期占据汽车车载网络的核心地位,但已面临明确的物理限制:高负载率可能导致网络拥堵,影响信息传输的可靠性。现代智能网联汽车的架构正从传统的按功能域划分,向按物理位置的“中央计算+区域控制”架构演进。在这种新架构下,CAN FD总线仍被广泛用于连接区域控制器与其下属的传感器和执行器,而更高的数据吞吐需求则由车载以太网承担。
需要强调的是:CAN总线属于底层硬件通信网络,是汽车一切智能化功能(如ADAS、自动驾驶)的基础支撑。它的设计是复杂的系统工程,其可靠性和实时性对行车安全至关重要,但并不能替代驾驶员对车辆的控制与观察。