一帧CAN FD报文位数
根据CAN FD帧结构组成,可以算出一帧CAN FD报文位数:
CAN FD报文位数 = 帧起始(1位)+ 仲裁段(13/32位)+ 控制段(8位)+ 数据段(0~512位)+ CRC段(28/33位)+ ACK段(2位)+ 帧结束(7位)
影响报文位数主要为仲裁段(帧ID长度)和数据段(CRC段受数据段长度影响)。通过帧类型、帧长度组合出不同情况报文位数:
标准帧,数据0字节
帧起始(1位)+ 仲裁段(13位)+ 控制段(8位)+ 数据段(0位)+ CRC段(28位)+ ACK段(2位)+ 帧结束(7位)= 59位
标准帧,数据64字节
帧起始(1位)+ 仲裁段(13位)+ 控制段(8位)+ 数据段(512位)+ CRC段(33位)+ ACK段(2位)+ 帧结束(7位)= 576位
扩展帧,数据0字节
帧起始(1位)+ 仲裁段(32位)+ 控制段(8位)+ 数据段(0位)+ CRC段(28位)+ ACK段(2位)+ 帧结束(7位)= 78位
扩展帧,数据64字节
帧起始(1位)+ 仲裁段(13位)+ 控制段(8位)+ 数据段(512位)+ CRC段(33位)+ ACK段(2位)+ 帧结束(7位)= 590位
精品专栏仲裁域和数据域位数
由于CANFD采用了双波特率形式:标准波特率(也称仲裁域波特率)和数据域波特率,所以帧结构中不同段采用的波特率也不同。
仲裁域波特率所占位数帧起始(1位)+ 仲裁段(13位)+ 控制段的EDL、r0、BRS(3位)+ ACK段(2位)+ 帧结束(7位)
数据域波特率所占位数控制段的ESI、DLC(5位)+ 数据段(0~512位)+ CRC段(28/33位)
主要说明的是,BRS位和CRC界定符位均同时使用了两个波特率:
BRS位:由**仲裁域波特率 * 仲裁域采样点 + 数据域波特率 * (1 - 仲裁域采样点)**组成;
CRC界定符:由**数据域波特率 * 数据域采样点 + 仲裁域波特率 * (1 - 数据域采样点)**组成。
此处将BRS认定采用仲裁域波特率、CRC界定符采用数据域波特率以方便计算。
-
汽车电子
+关注
关注
3043文章
8558浏览量
172237 -
CAN
+关注
关注
58文章
3013浏览量
471479 -
报文
+关注
关注
0文章
39浏览量
4313
发布评论请先 登录
CAN总线报文数据一致性校验
ESP32C6作为UDP Server,使用recvfrom无法及时收到第一帧报文的原因?如何解决?
请问STM32F4的OTG模块一帧内32最大可以传输多少字节给PC?
CAN报文的单次发送和循环发送问题请教
S32G2 FlexCAN CAN FD使用DMA接收字节顺序错误的原因?怎么解决?
一文详解CAN总线的报文结构
can总线一帧多少字节多少位_MCU扩展CAN/CAN FD接口方案MCP2518FD+ATA6563
【Z站推荐】CANFD每秒最多可以发送多少帧报文?

一帧CAN报文多少字节
评论