Skip to content

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

2.3 高速CAN硬件连接

image-20250809013423894
image-20250809013423894
  • 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 : 隐性电平
image-20250809014202395
image-20250809014202395