CAN是控制器局域网络(Controller Area Network, CAN)的简称,是一种能够实现分布式实时控制的串行通信网络。
- 差分传输增加噪声抗扰度,减少噪声辐射,通信距离最远到10km。
- 传输速度最高到1Mbps。
- 无损位仲裁机制,对子系统的故障和电磁干扰具有很强的鲁棒性。
- 多主结构,每个节点包含一个用于CAN总线收发芯片,随意添加CAN总线节点。
- 可以通过id对消息进行优先级排序,以便最高优先级的id不被中断。
CAN总线网络主要挂在CAN_H和CAN_L,各个节点通过这两条线实现信号的串行差分传输,为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120欧姆的终端电阻。
CAN2.0B规范定义了两种互补的逻辑数值:显性和隐性。同时传送显性和隐性位时,总线呈现显性状态;同时传送显性状态位时,总线呈现显性状态;同时传送隐性状态位时,总线呈现隐性状态。显性数值表示逻辑0,隐性数值表示逻辑1。
典型地,CAN总线为隐性(逻辑1)时,CAN_H和CAN_L的电平都为2.5V(电位差为0V);CAN总线为显性(逻辑0)时,CAN_H和CAN_L电平分别为3.5V和1.5V(电位差为2.0V)。