【CAN介绍】【第一篇章】
1. CAN简介
• CAN 总线( Controller Area Network Bus )控制器局域网总线
• CAN 总线是由 BOSCH 公司开发的一种简洁易用、传输速度快、易扩展、可靠性高的串行通信总线,广泛应用于汽车、嵌入式、工业控制等领域
• CAN 总线特征:
▶ 两根通信线( CAN_H 、 CAN_L ),线路少
▶ 差分信号通信,抗干扰能力强
▶ 高速CAN ( ISO11898 ): 125k~1Mbps, <40m
▶ 低速CAN ( ISO11519 ): 10k~125kbps, <1km
▶ 异步,无需时钟线,通信速率由设备各自约定
▶ 半双工,可挂载多设备,多设备同时发送数据时通过仲裁判断先后顺序
▶ 11位 /29 位报文 ID ,用于区分消息功能,同时决定优先级
▶ 可配置1~8 字节的有效载荷
▶ 可实现广播式和请求式两种传输方式应答、 CRC 校验、位填充、位同步、错误处理等特性
2. 主流通信协议对比
名称 | 引脚 | 双工 | 时钟 | 电平 | 设备 | 应用场景 |
UART | TX、RX | 全双工 | 异步 | 单端 | 点对点 | 两个设备互相通信 |
I2C | SCL、SDA | 半双工 | 同步 | 单端 | 多设备 | 一个主控外挂多个模块 |
SPI | SCK、MOSI、MISO、SS | 全双工 | 同步 | 单端 | 多设备 | 一个主控外挂多个模块(高速) |
CAN | CAN_H、CAN_L | 半双工 | 异步 | 差分 | 多设备 | 多个主控互相通信 |
3. CAN硬件电路
• 每个设备通过 CAN 收发器挂载在 CAN 总线网络上
• CAN 控制器引出的 TX 和 RX 与 CAN 收发器相连, CAN 收发器引出的 CAN_H 和 CAN_L 分别与总线的 CAN_H 和 CAN_L 相连
• 高速 CAN 使用闭环网络, CAN_H 和 CAN_L 两端添加 120Ω 的终端电阻
• 低速 CAN 使用开环网络, CAN_H 和 CAN_L 其中一端添加 2.2kΩ 的终端电阻
4. CAN电平标准
• CAN 总线采用差分信号,即两线电压差( V CAN_H -V CAN_L )传输数据位
• 高速 CAN 规定:
电压差为0V时表示逻辑1(隐性电平)
电压差为2V时表示逻辑0(显性电平)
• 低速 CAN 规定
电压差为-1.5V时表示逻辑1 (隐性电平)
电压差为3V时表示逻辑 0 (显性电平)