车载网络技术–CAN总线入门(1)
本文章参考:
趋近于完美的通讯 CAN总线!4分钟看懂!_哔哩哔哩_bilibili
CAN总线入门书
车载网络技术分类
- CAN总线 控制器局域网总线 车身/控制系统用LAN协议, 最大速度1Mbit/s, 推动单位:Bosch, ISO
- LIN总线 局域网总线 车身/控制系统用串行LAN协议, 最大速度20Kbit/s, 推动单位:LIN协议会
- FlexRay总线 局域网总线 重视安全、按用途分类的LAN协议, 最大速度100Mbit/s, 推动单位:BMW
- MOST总线 信息通讯协议, 最大速度22.5Mbit/s, 推动单位:MOST及其合作组织
- IDB-C 以CAN为基础的LAN协议, 250Kbit/s 推动的那位:IDM论坛
车载总线的特点:
1. 减少线束
2. 电子信息传送
3. 改善了车辆模块灵活性
4. 数据共享,减少了通信成本
5. 安全性高,可靠性高
总线按照拓扑结构可以划分为:星型、总线、环型
总线按照传输介质可以划分为:双绞线(一般用这个)、同轴电缆、光纤
总线按照通信方式可以划分为:单工、半双工、全双工
车载网络要求:
- 采用串行总线拓扑;
- 结点可以动态改变
- 抗干扰能力强
- 差错检测和处理
- 实时性要求高
- 故障
- 成本
CAN总线的了解
Controller Area NetWork BUS 控制器局域网总线。 ISO 11898 和 ISO11519 标准定义了 CAN 总线的规范.、
CAN 是一种高速的总线,主要用于汽车、电动车、摩托车、飞机等多种车辆的通信。CAN 总线由一组控制器和一组接收器组成,控制器负责发送数据,接收器负责接收数据。CAN 总线的通信速率为 250Kbps,数据帧的长度为 8 字节。CAN 总线的主要特点是:
- 两根通信线(CAN_H, CAN_L), 线路少,无需共地
- 差分信号通信,抗干扰能力强
- 高速CAN(ISO11898):125k~1Mbps, <40m
- 低速CAN(ISO11519):10k~125kbps, <1km
- 异步,无需时钟线,通信速率由设备各自约定
- 半双工,可以挂载多设备,多设备同时发送数据时可以通过仲裁判断先后顺序
- 11位/29位地址,用以区分消息功能,同时决定优先级
- 可配置1~8字节的有效载荷
- 可实现广播式和请求式两种传输方式
- 拥有应答、CRC检验、位填充、位同步、错误处理等特性。
相较于其他主流通信协议而言:
UART通信主要用于点对点通信,I2C和SPI通信协议则主要用于一主多从的场景。因此如果有多个主控单元相互通信,CAN总线就比较适合用了。
CAN 总线的结构
CAN 总线由一组控制器和一组接收器组成,控制器负责发送数据,接收器负责接收数据。控制器和接收器之间通过一根总线连接。CAN 总线的结构如下图所示:
闭环CAN总线的终端电阻的作用:
- 防止回波反射,如果不加终端电阻,信号波形会在线路终端发射,进而干扰原始信号;
- 没有设备操作时,终端电阻会将两条线的电压收紧至电压一致状态。
CAN 总线电平标准
- CAN总线采用差分信号,即两线电压差( V C A N _ H − V C A N _ L V_{CAN\_H} - V_{CAN\_L} VCAN_H−VCAN_L)表示数据位
- 高速CAN规定:
- 电压差为0V时,表示逻辑1(隐性电平)
- 电压差为2V时,表示逻辑0(显性电平)
- 低速CAN规定:
- 电压差为-1.5V时,表示逻辑1(隐性电平)
- 电压差为+3V时,表示逻辑0(显性电平)
CAN总线通信机制
帧的种类
数据帧、远程帧(遥控帧)、错误帧、过载帧、帧间隔
- 数据帧:用于发送单元向接收单元发送数据的帧;(包含标准帧和扩展帧)
- 遥控帧:用于接收单元向具有相同ID的发送单元请求数据的帧;
- 错误帧:用于当检测出错误时向其他单元通知错误的帧;
- 过载帧:用于接收单元通知其尚未做好接收准备的帧;
- 帧间隔:用于将数据帧及遥控帧与前面的帧分离开的帧。
帧的格式
优先级判别
- 总线空闲时,最先开始发送消息的单元获得发送权;
- 多个单元同时发送时,发送单元从仲裁段第一位开始仲裁,连续输出显性电平最多的单元继续发送;
- 相同ID的数据帧和遥控帧竞争时,数据帧先发送(即RTR位决定)
- 标准帧和扩展帧在相同ID下,标准帧先发送;
错误种类
时发送时,发送单元从仲裁段第一位开始仲裁,连续输出显性电平最多的单元继续发送;
2. 相同ID的数据帧和遥控帧竞争时,数据帧先发送(即RTR位决定)
3. 标准帧和扩展帧在相同ID下,标准帧先发送;
错误种类
小结
本文介绍了CAN总线入门的一些概念知识。
如果您觉得我写的不错,麻烦给我一个免费的赞!如果内容中有错误,也欢迎向我反馈。