在当今电子技术飞速发展的时代,CAN 接口在嵌入式系统中扮演着至关重要的角色。2025 年 5 月 28 日的相关科普信息中,对 CAN 接口进行了全面解析。CAN,即 Controller Area Network,也就是控制器区域网络,它是一种广泛应用于车辆、电力系统、工业设备等嵌入式系统的半双工异步串行通信协议和物理接口。
CAN 作为一种事件驱动的通信协议,采用非主从结构,所有节点都具备发送和接收数据的能力,无需主控节点。它支持多主机通信,拥有优先级和冲突解决机制,能够实现高效的数据传输。CAN 仅需两根信号线,通常采用双绞线,且传输的是差分信号。差分信号传输信息具有抗干扰能力强的显著优点,能有效抑制外部电磁干扰,这在复杂的工业环境等场景中尤为重要。
CAN 通信的工作原理依赖于 CAN 接口的组件,包括 CAN 控制器、CAN 收发器和 CAN 总线。CAN 收发器的作用是将普通信号转化为差分信号,从而提高抗干扰能力和输出可靠性。CAN 总线的工作电压通常为 5V 或 3.3V,而通信的关键在于 CAN_High 和 CAN_Low 两根总线间的电压差。

CAN 协议经过 ISO 标准化后有两个标准,分别是 ISO11898 标准和 ISO11519 - 2 标准。其中标准 ISO11519 - 2 - 1994 已被 ISO11898 - 3 - 2006 代替,即符合标准 ISO11898 - 3 的产品也是符合 ISO11519 - 2 标准的产品;ISO11898 - 2 - 2016 更新并替代了 ISO11898 - 2:2003、ISO11898 - 5:2007 和 ISO11898 - 6:2013。这两个标准对于数据链路层的定义相同,但物理层不同。当 CAN 收到一个低电平信号,CAN_High 输出 3.5V,CAN_Low 输出 1.5V,两者的电压差是 2V,此时表示逻辑 0,也称显性电平;当 CAN 收到一个高电平信号,CAN_High 和 CAN_Low 输出均为 2.5V,电压差是 0V,此时表示逻辑 1,也称隐性电平。

为满足不同通信需求,CAN 协议定义了多种帧类型,包括数据帧、远程帧、错误帧、过载帧、帧间隔等。其中常见的帧类型是数据帧,又分为标准数据帧和扩展数据帧。在正常工作时 CAN 总线上可能会挂载很多设备,如果两个设备同时发送信息,就会发生冲突。为了避免总线冲突,需由总线仲裁机构合理地控制和管理系统中需要占用总线的申请者。报文的优先级是通过对 ID(识别码)的仲裁来确定的,CAN 总线上有两种电平状态,如果总线上同时出现显性电平和隐性电平,总线的状态会被置为显性电平,CAN 正是利用这个特性进行仲裁。
除了标准 CAN,还有一种 CAN FD,它的全称是 Flexible Data Rate,译为可变速率的 CAN。CAN 和 CAN FD 是两种不同的总线标准,它们都是基于 CAN 技术实现的,但有明显的区别。CAN 是一种多点总线,可用于连接许多设备,而 CAN FD 是一种更的多点总线,能提供更高的传输速率和更高的传输容量。CAN 的传输容量为 8 字节,而 CAN FD 的传输容量可以达到 64 字节;CAN 的传输速率为 1Mbps,而 CAN FD 的传输速率可以达到 8Mbps。