这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » 重温CAN通讯中的数据帧

共2条 1/1 1 跳转至

重温CAN通讯中的数据帧

专家
2024-02-16 15:21:32   被打赏 50 分(兑奖)     打赏

数据帧帧的构成

1.png

一、帧起始(标准、扩展格式相同)

表示帧开始的段。1 个位的显性位。

2.png

总线上的电平有显性电平和隐性电平两种。

总线上执行逻辑上的线时,显性电平的逻辑值为“0”,隐性电平为“1”

显性具有优先的意味,只要有一个单元输出显性电平,总线上即为显性电平。并且,隐性具有包容的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强。)

二、仲裁段:

3.png

【注】 

*1  ID

    标准格式的 ID 11 个位。从 ID28 ID18 被依次发送。禁止高 7 位都为隐性。(禁止设定:ID=1111111XXXX

    扩展格式的 ID 29 个位。基本 ID ID28 ID18,扩展 ID ID17 ID0 表示。基本 ID 和标准格式的 ID 相同。禁止高 7 位都为隐性。(禁止设定:基本 ID=1111111XXXX

三、控制段

控制段由 6 个位构成,表示数据段的字节数。标准格式和扩展格式的构成有所不同。

4.png

【注】 

*1  保留位(r0r1

    保留位必须全部以显性电平发送。但接收方可以接收显性、隐性及其任意组合的电平。

*2 数据长度码(DLC

    数据长度码与数据的字节数的对应关系如表 8 所示。

    数据的字节数必须为 08 字节。但接收方对 DLC = 915 的情况并不视为错误。

5.png

四、数据段(标准、扩展格式相同)

数据段可包含 08 个字节的数据。从 MSB(最高位)开始输出

6.png

五、CRC 段(标准/扩展格式相同)

CRC 段是检查帧传输错误的帧。由 15 个位的 CRC 顺序*1 1 个位的 CRC 界定符(用于分隔的位)构成。

7.png

【注】 

*1 CRC 顺序

    CRC 顺序是根据多项式生成的 CRC 值,CRC 的计算范围包括帧起始、仲裁段、控制段、数据段。

 接收方以同样的算法计算 CRC 值并进行比较,不一致时会通报错误。

六、ACK

ACK 段用来确认是否正常接收。由 ACK (ACK Slot)ACK 界定符 2 个位构成。

8.png


【注】

*1 发送单元的 ACK

发送单元在 ACK 段发送 2 个位的隐性位。

*2 接收单元的 ACK

接收到正确消息的单元在 ACK (ACK Slot)发送显性位,通知发送单元正常接收结束。这称作发送 ACK”或者返回 ACK”

发送 ACK 的是在既不处于总线关闭态也不处于休眠态的所有接收单元中,接收到正常消息的单元(发送单元不发送 ACK)。所谓正常消息是指不含填充错误、格式错误、CRC 错误的消息。

七、帧结束

9.png





关键词: 菜鸟学单片机     CAN数据帧    

院士
2024-07-04 12:08:15     打赏
2楼

学习了,谢谢分享。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]