CAN总线是由德国Bosch公司于1983年开发的多主、差分串行通信协议,专为汽车电子系统设计,现已成为工业控制、航空航天等领域的核心通信标准。其核心优势在于高可靠性、实时性、抗干扰能力及多节点通信能力,适用于复杂电磁环境和关键任务系统。
---
一、CAN总线的核心特性
1. 通信机制
- 多主架构:所有节点均可主动发送数据,通过非破坏性仲裁解决冲突(基于ID优先级)。
- 差分信号:采用CAN_H和CAN_L双绞线传输,逻辑状态由电压差定义:
- 显性电平(0):CAN_H - CAN_L ≥ 0.9V(总线被拉低)。
- 隐性电平(1):CAN_H - CAN_L ≤ 0.5V(总线处于高阻态)。
- 广播通信:消息通过ID标识内容,所有节点接收但仅需节点处理相关ID。
2. 协议特性
- 帧类型:
- 数据帧:携带数据(标准帧11位ID,扩展帧29位ID)。
- 远程帧:请求其他节点发送特定ID数据。
- 错误帧:节点检测错误时主动中断通信。
- 过载帧:通知总线延迟处理下一帧。
- 错误检测:
- CRC校验:15位循环冗余校验码。
- 位填充:每5个相同位插入1个补码位,确保同步。
- 双重错误处理:节点可进入“错误被动”或“总线关闭”状态。
3. 性能参数
- 波特率:典型值10kbps~1Mbps(CA