CAN总线定义
CAN是控制器局部网络,所有节点挂靠在同一条总线上,通过总线进行数据交换。

CAN总线状态
CAN控制器根据两根线的电位差来判断总线。
总线有两种状态,显性( 0)和隐形(1),显性优先级大于隐性。
CAN通讯机制
CAN发送信号

CAN接收信号
注:RxD代表接收报文,TxD代表发送报文。
CAN数据格式
CAN数据帧分为标准数据帧和扩展数据帧,两者区别如下。
仲裁段可以决定报文的优先级,判断谁先发送。
数据段表示报文携带的功能含义,如刹车信号、挡位状态等,每个数据段由8格字节组成。
CAN网络
消息和信号
一条消息可以有多个信号。
报文 ID 是用于唯一标识一条报文的。报文 ID 主要用于确定报文的类型及其优先级。接收节点根据 ID 来决定是否处理这条报文。在同一时刻,CAN 总线上不能有两条具有相同 ID 的报文同时存在。
DBC文件
DBC是Database CAN的缩写,代表CAN的数据库文件,一种常用的保存通信矩阵文件的格式。
数据帧内容推算
信号的含义是由DBC文件预定好的,数字节从前往后数,数bit位从后往前数,一位十六进制的数值可以被换算成4位二进制的值。