引言
在现代汽车电子、工业自动化等领域,CAN(Controller Area Network)总线凭借其高可靠性、实时性和抗干扰能力,成为设备间通信的核心技术之一。本文将从协议核心特性到物理层实现细节,带您全面理解CAN总线的工作原理。
一、CAN协议简介
1.1 什么是CAN总线?
CAN是一种多主(Multi-Master)串行通信协议,由德国博世公司于1983年开发,最初用于解决汽车中复杂线束问题。其核心设计思想是通过非破坏性仲裁机制实现高效通信,确保多个节点可同时竞争总线而不会丢失数据。
低速CAN(ISO11519)通信速率 10~125Kbps,总线长度可达 1000 米。
高速CAN(ISO11898)通信速率 125Kbps~1Mbps,总线长度 ≤40 米。
下图为CAN 的连接示意图
1.2 CAN的应用场景
CAN协议因其高效、可靠的特点,被广泛应用于多个领域:
- 汽车电子:ECU(发动机控制单元)、传感器、仪表盘等互联。
- 工业控制:PLC、机器人、生产线设备通信。
- 航空航天:机载设备数据传输。
- 船舶领域:用于实现船舶各种设备的可靠通信,包括远程控制、安全监测、航程分析、巡回检测等系统。
- 智能家居:连接各种智能设备,如照明设备、空调系统、安防系统等,实现设备的互联互通。
- 智能医疗:连接医疗设备,如监护仪、呼吸机等,实现设备间的快速通信
1.3 CAN的核心优势
- 高可靠性:CRC校验、错误帧检测与自动重传机制。
- 实时性:基于优先级的消息仲裁(ID越小优先级越高)。
- 抗干扰能力:差分信号传输抵御共模噪声。
二、CAN物理层详解
物理层是CAN协议的基础,定义了电气特性、信号传输方式和网络拓扑结构。
CAN网络通常由CAN控制器、CAN收发器和双绞线组成。
- CAN控制器:负责处理数据的收发和协议转换。
- CAN收发器:负责将控制器的数字信号转换为差分信号进行传输,同时也负责将总线上的差分信号转换
为数字信号供控制器处理。 - 终端电阻:在高速CAN总线的两端分别连接一个电阻,称为终端电阻。终端电阻的主要作用是匹配总线阻抗,提高
信号质量,减少回波反射。一般来说,终端电阻的阻值为120Ω。
2.1 电气特性
- 差分信号传输:
CAN总线使用CAN_H和CAN_L两条线传输差分信号。- 显性状态(逻辑0):CAN_H电压≈3.5V,CAN_L≈1.5V,压差2V。
- 隐性状态(逻辑1):CAN_H与CAN_L均为2.5V,压差0V。
- 通过差分电压的对比,接收端可有效抑制电磁干扰(EMI)。
显性电平在通信中具有优先权,能够覆盖隐性电平,确保数据的正确传输。
隐性电平则作为总线的空闲或监听状态存在,等待有节点发送数据。
- 传输速率与距离:
速率(bps) 最大传输距离 1M 40m 500k 100m 125k 500m
2.2 物理层标准
- ISO 11898:
- ISO 11898-2(高速CAN):支持1Mbps,用于汽车动力总成。
- ISO 11898-3(低速容错CAN):支持125kbps,具备短路/断路容错能力,用于车身控制。
2.3 线缆与连接器
- 双绞线:降低电磁辐射,提高抗干扰性。
- 线缆阻抗:典型值120Ω(需匹配终端电阻)。
- 常见连接器:DB9、OBD-II(汽车诊断接口)。
2.4 故障容错机制
- 短路保护:若CAN_H或CAN_L对地/电源短路,节点自动进入“总线关闭”状态,避免影响整体网络。
- 断路检测:部分控制器支持断线检测并触发告警。
2.5 CAN控制器与收发器
后期将使用该模块,对CAN总线进行学习练习。以下为模块的实物图与原理图,
实物图
原理图
结语
CAN协议通过精巧的物理层设计与强大的错误处理机制,在复杂电磁环境中实现了稳定通信。随着CAN FD(灵活数据率)和CAN XL等新标准的推出,这一经典技术仍在持续进化,继续为智能设备互联提供坚实支撑。
参考:CAN入门 (瑞萨科技)
微信交流群: