CAN总线
·





一、什么是 CAN
CAN = Controller Area Network,控制器局域网,1986 年博世推出,专为汽车多 ECU 通信设计,现在大量用于工程机械、工控、光伏、机器人。 核心特点:差分信号、多主竞争、容错强、布线简单。
硬件层物理结构
- 两根差分线:CAN_H(高)、CAN_L(低)
- 空闲:CAN_H≈2.5V,CAN_L≈2.5V,压差≈0V → 隐性电平 1
- 发送数据:CAN_H≈3.5V,CAN_L≈1.5V,压差≈2V → 显性电平 0
- 终端电阻 总线两端各 120Ω 电阻,匹配阻抗防止信号反射; 只有首尾 ECU 接,中间节点不加。
- 拓扑:总线型,不允许星型长线分支,否则通信不稳定。
二、核心机制:多主逐位仲裁(无固定主机 / 总裁)
CAN 没有唯一主机,所有节点地位平等,任意节点可主动发报文。
- 报文 ID 越小,优先级越高;
- 多个节点同时发时,逐位比对 ID,发 1 的节点遇到总线 0 会立刻停止发送,退出竞争;
- 不会冲突丢包,高优先级报文优先传输。
三、两种标准帧格式
1. CAN 2.0A 标准帧(11 位 ID)
多用于车身、简单工控,ID 范围:0~0x7FF
2. CAN 2.0B 扩展帧(29 位 ID)
车载动力、诊断常用,ID 范围极大
CAN FD(升级)
兼容 CAN2.0,数据段从 8 字节扩到 64 字节,波特率可分段(仲裁段低速、数据段高速)
四、报文结构(最简理解)
ID + RTR (远程帧标志) + DLC (数据长度) + Data [0~8]
- 数据帧:带数据,ECU 互相传传感器 / 控制信号
- 远程帧:只发 ID,请求对应节点上传数据(现在车载很少用)
五、通信特点
- 无地址,基于 ID 通信 不指定目标设备,广播发送;所有节点接收,硬件过滤 ID 再决定是否处理,效率极高。
- 错误检测 + 自动重发 CRC 校验、位校验、填充校验;出错节点自动重发,持续报错会自动离线保护总线。
- 抗干扰强 差分传输,电磁干扰同时叠加两根线,压差不变,适合车内复杂电磁环境。
六、车载典型 CAN 网段划分
- 动力 CAN:500kbps,发动机、变速箱、BMS、ABS,高实时性
- 车身 CAN:125kbps,车窗、车灯、中控、座椅
- 诊断 CAN/OBD:500kbps,诊断仪读写 ECU、刷写程序
- CAN FD:新能源电池、域控制器大数据交互
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)