欢迎光临散文网 会员登陆 & 注册

CAN协议学习总结

2023-08-27 10:49 作者:菜的要扣脚  | 我要投稿

CAN总线是一种用于在不同的ECU(电子控制单元)之间传输数据的线,CAN总线协议是一种ISO 国际标准化的串行通信协议,有 ISO-11898 和 ISO-11519两个系列。其定义有:

  • ISO-11898 定义了通信速率为 125 kbps ~1Mbps 的高速 CAN 通信标准,属于闭环总线,传输速率可达1Mbps,总线长度 ≤ 40米,如图1。

  • ISO11519 定义了通信速率为 10~125 kbps 的低速 CAN 通信标准,属于开环总线,传输速率为40kbps时,总线长度可达1000米,如图1。

图1 开环总线与闭环总线

高速CAN和低速CAN,如下图2。


图2 高速CAN和低速CAN

CAN通讯速率(位速率)与CAN总线长度的关系大致如下图3。


图3 CAN通讯速率(位速率)与CAN总线长度的关系

CAN总线上,信号表现为电压形式,通过CAN_H和CAN_L线上的电位差来表示CAN信号,分为显性电平(dominant)和隐性电平(recessive)两种类型。其中显性电平规定为逻辑0,隐性电平则为逻辑1。电位如图4。

图4  ISO-11898 (高速CAN)和ISO-11519(低速CAN)的CAN信号定义
图5 帧结构
图6 帧信息

FF:1为扩展帧,0为标准帧

RTR:1为远程帧,0为数据帧

保留:保留位需填零,不可置1

B3~B0:标识数据帧长度

远程帧无数据字段(帧)

数据,长度 8 字节,有效长度通过帧信息的 B3~B0 位来表示,不足补 00h

扩展帧 ID:0x00000123

标准帧 ID:0x0123


例:

85 12 34 56 78 12 34 56 78 00 00

0x85 表示帧格式为扩展帧,帧类型为数据帧,数据长度为 5 

后四位表示 CAN ID 为 12345678

最后 8 位为数据区,有效长度为 5,其余位补齐 0


05 00 00 06 78 12 34 56 78 00 00 00 00

0x05 表示帧格式为标准帧,帧类型为数据帧,数据长度为 5

00 00 06 78 表示 ID 为 0678

12 34 56 78 00 00 00 00 为数据区,有效长度为5

CAN协议学习总结的评论 (共 条)

分享到微博请遵守国家法律