7.CAN总线
约 489 字大约 2 分钟
2025-08-09
一、为什么需要CAN总线
1.1 传统串行通讯的局限性
- 串口: 仅支持点对点,不适合多设备通信
- I2C: 支持多设备,,受限于地址长度,通讯距离短
- SPI:支持全双工通信,但需要额外的CS片选线,复杂度增加
CAN就是为了解决这是问题而产生的
二、CAN总线基础知识
CAN(Controller Area Network)由博世公司开发,是一种多主机、高可靠性的控制器局域网总线,广泛用于汽车、工业自动化和嵌入式系统。
2.1CAN总线的核心特点:
- 多主模式: 所有设备都是平等的, 可以主动发送数据
- 差分信号传输: (CAN_H & CAN_L)线路少,抗干扰能力强
- 仲裁机制: 保证高优先级的数据可以优先传输
- 高可靠性: CRC校验, 错误检查与自动重发等机制
- 无需地址分配: 基于信息ID进行通信, 同时指定数据优先级
- 支持多种传输方式: 广播式和请求式
- 支持不同通信速率:10kbps~1Mbps
2.2 CAN总线的协议标准


- 高速CAN(ISO11898)通信速率:125k-1Mbps,总线长度<10米
- 低速CAN(ISO11519)通信速率10k-125kbps,总线长度≤1000米
- 每个设备都是通过CAN收发器连接到CAN总线
- CAN收发器的作用:信号转换,数据采样,以及数据输出等
2.3 高速CAN硬件连接

- CAN控制器的TX/RX连接收发器的TX/RX(不需要反接),收发器的CAN_L/CAN_H连接CAN总线的CAN_L/CAN_H
- 两端添加120Ω的终端电阻,用于阻抗匹配,以减少回波反射
2.4 高速CAN的电平标准
- CAN_H - CAN_L = 2V : 显性电平
- CAN_H - CAN_L = 0V : 隐性电平
