CAN总线基础知识汇总

1. CAN总线信号使用查分电压传送,不用接地,两条信号线称为“CAN_H”和“CAN_L”,静态时均为2.5V左右,此时的状态表示为逻辑“1”,也可以叫做“隐性”;显性时,通常电压值为:CAN_H=3.5V,CAN_L=1.5V。
2. 可连接的单元总数理论上是没有限制的。
3. CAN总线的数据帧结构

CAN总线基础知识汇总

4. 多主控制:在总线空闲时,所有单元都可以发送消息(多主控制)。万一有两个以上单元要同时发送数据怎么办?

CAN ID :标识符(Identifier即:ID)决定优先级,所以ID不是发送的目的地址,而是表示访问总线的消息的优先级。ID值越低,报文的优先级越高。

5. IDE

0:标准帧,标准 ID 11位
1:扩展帧,标准 ID + 扩展 ID 29位

6. RTR

0:数据帧,发送数据
1:扩展帧,数据场必须为空,被请求节点通过 ID 场的辨识来响应,发送被请求的帧到总线上(例:BCM需要知道车门的状态,一个远程帧过去,车门把自己的状态发回来)

7. DLC

数据长度表示段,有效值为0~8。

8. Data[8]

发送数据,8个字节。

9. CAN2.0A 和 CAN2.0B有什么区别(标准帧和扩展帧有什么区别)

CAN2.0A 是CAN协议的PART A部分,此部分定义了11Bit的标识区
CAN2.0B是CAN协议的PART B,定义了29Bit的标识区,其它部分与CAN2.0A 一样。
为什么会出现CAN2.0A 和 CAN2.0B呢?其实主要是为了解决地址不够用的尴尬。
标准帧的帧ID长度是11位,地址范围是:000~7FF,扩展帧;
扩展帧的帧ID长度是29位,地址范围是:0000 0000 ~ 1FFF FFFF。