CAN通讯协议的数据帧、远程帧

CAN数据帧

数据帧用于发送单元向接收单元发送数据。数据帧由7个段构成:

  1. 帧起始:表示数据帧开始的段
  2. 仲裁段:表示该帧优先的段
  3. 控制段:表示数据字节数及保留位的段
  4. 数据段:数据的内容,可以发送0~8个字节的数据
  5. CRC段:检查帧的传输错误的段
  6. ACK段:便是确认正常接收的段
  7. 帧结束:表示数据帧结束的段在这里插入图片描述

数据帧-起始段

表示帧开始的段。1 个位的显性位。
在这里插入图片描述

数据帧-仲裁段

表示数据的优先级的段,标准格式和扩展格式在此的构成有所不同。
在这里插入图片描述

数据帧-控制段

控制段由 6 个位构成,表示数据段的字节数。标准格式和扩展格式的构成有所不同。
在这里插入图片描述

  • 保留位 (r0、r1)
    保留位必须全部以显性电平发送。但接收方可以接收显性、隐性及其任意组合的电平。
  • 数据长度DLC
    数据长度码与数据的字节数的对应关系如下表所示。
    数据的字节数必须为 0~8 字节。但接收方对DLC = 9~15 的情况并不视为错误。
数据字节数数据长度码------------------
------------------DLC3DLC2DLC1DLC0
0DDDD
1DDDR
2DDRD
3DDRR
4DRDD
5DRDR
6DRRD
7DRRR
8RDDD
  • D是显性电平
  • R是隐性电平

数据帧-数据段

数据段可包含 0~8 个字节的数据。从MSB(最高位)开始输出。
在这里插入图片描述

数据帧-CRC段

CRC 段是检查帧传输错误的帧。由15 个位的CRC 顺序*1 和1 个位的CRC 界定符(用于分隔的位)构成。
在这里插入图片描述

  • CRC顺序
    CRC 顺序是根据多项式生成的CRC 值,CRC 的计算范围包括帧起始、仲裁段、控制段、数据段。
    接收方以同样的算法计算 CRC 值并进行比较,不一致时会通报错误。

数据帧-ACK段

ACK 段用来确认是否正常接收。由ACK 槽(ACK Slot)和ACK 界定符2 个位构成。
在这里插入图片描述

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

数据帧-结束段

帧结束是表示该该帧的结束的段。由 7 个位的隐性位构成。
在这里插入图片描述

CAN远程帧(遥控帧)

接收单元向发送单元请求发送数据所用的帧。遥控帧由 6 个段组成。遥控帧没有数据帧的数据段。

  1. 帧起始:表示数据帧开始的段
  2. 仲裁段:表示该帧优先的段
  3. 控制段:表示数据字节数及保留位的段
  4. CRC段:检查帧的传输错误的段
  5. ACK段:便是确认正常接收的段
  6. 帧结束:表示数据帧结束的段
    在这里插入图片描述
  • 剩下以后更新
  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CAN(Controller Area Network,控制器局域网)总线协议是一种广泛应用于工业自动化、汽车电子等领域的串行通讯协议。其格式如下: <img src="https://img-blog.csdnimg.cn/20200925125252655.png" width="400"> CAN总线协议的分为标准和扩展两种,其中标准包含11位标识符,扩展包含29位标识符。在CAN总线上,所有节点都可以同时发送和接收数据,因此需要在中包含发送方和接收方的信息。 格式的具体解释如下: 1. 起始符(SOF):一个固定的位模式,表示的起始。 2. 报文控制(CTRL):包含几个控制位,如IDE、RTR等。其中IDE表示标识符的类型,0表示标准,1表示扩展;RTR表示远程请求,0表示数据帧,1表示远程请求。 3. 标识符(ID):11位或29位的标识符,用于区分不同的CAN消息。 4. 控制域(CTL):包含几个控制位,如DLC、EDL等。其中DLC表示数据长度,即数据域的字节数;EDL表示数据长度是否扩展,0表示标准数据帧,1表示扩展数据帧。 5. 数据域(DATA):0~8字节的数据。 6. CRC:用于校验数据是否正确。 7. 确认位(ACK):由接收方发送的确认信息,表示数据是否正确接收。 8. 结束符(EOF):一个固定的位模式,表示的结束。 以上就是CAN总线协议的格式。在实际应用中,节点之间通过CAN总线进行数据交换,通过解析中的各个字段,可以判断消息的发送方、接收方、数据内容等信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值