dufaxing To be a better man

CAN协议基础

2017-11-29


CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差来确定总线的电平,信号是以两线之间的“差分”电压形式出现,总线电平分为显性电平和隐性电平。

CAN总线采用两种互补的逻辑数值”显性”和”隐性”。”显性”数值表示逻辑”0”,而”隐性”表示逻辑”1”。当总线上同时出现“显性”位和“隐性”位时,最终呈现在总线上的是“显性”位。

在“隐性”状态下,VCAN_H和VCAN_L被固定与平均电压电平,Vdiff近似为零,此时VCAN_H和VCAN_L的标称值为2.5V。“显性”位以大于最小阀值的差分电压表示,此时VCAN_H的标称值为3.5V,VCAN_L的标称值为1.5V。

数据帧

结构上由7个段组成,其中根据仲裁段ID码长度的不同,分为标准帧(CAN2.0A)和扩展帧(CAN2.0B)。

数据帧由发送单元使用,用来发送信息给接收单元,这是用户操作的基本帧。
数据帧有7个域组成。图15显示了数据帧的结构。
(1)帧起始(SOF):这个域表示数据帧的开始。
(2)仲裁段:这个域表示一个帧的优先级
(3)控制段:这个域表示保留位和数据字节数
(4)数据段:这是数据内容,0-8个字节的数据能被发送
(5)CRC段:这个域用于检查帧的传输错误。
(6)ACK段:是对帧已经被正常接收的一个证实。
(7)帧结束:指示数据帧结束

帧起始 与 帧结束

帧起始与帧结束用于界定一个数据帧,无论是标准数据帧还是拓展数据帧都包含这两个段。


仲裁段

  • 总线仲裁


控制段


数据段


CRC段


ACK段

参考资料


Comments

Content