2023-05-28 23:17:50 来源:面包芯语
我们知道CANFD比CAN拥有更长的数据长度(最长64字节),更高的波特率(8Mbps甚至更高)。那么波特率更高,数据更长的CANFD,一秒钟最高可以发送多少帧CANFD报文呢?
(资料图片)
帧结构
如上图所示,分别为CANFD标准帧和扩展帧,其组成如下:
○SRR:替代CAN标准帧中的RTR位;
○IDE:扩展帧标志位;
○r1:保留位,为显性;
3. 控制段:由EDL、r0、BRS、ESI、DLC总共8个位组成。
DLC:数据段长度指示,4个位组成。
采用CRC17时,FSB为6个位;
采用CRC21时,FSB为7个位;
8. CRC:
ACK:接收节点应答位,接收节点应应答显性位;
ACK界定符,固定为隐性;
11. 帧结束:固定为7个隐性位。12. 帧间隔:每次发送一帧报文后,需留3位时间作为帧间隔。
一帧CANFD报文位数
标准帧,数据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 -数据域采样点)**组成;
位填充
不同类型报文所占位数
CANFD报文时间计算
下面我们给出一些常用波特率下,不同类型报文每秒最多可以发送的CANFD报文帧数(下表中报文BRS位为1,ESI位为0),供大家参考。
500K/2M波特率
1M/8M波特率
本文内容来自于ZLG致远电子
—END—
关键词: