CANFD网络中每秒最多可以发送多少帧报文?
随着总线技术在汽车电子领域越来越广泛和深入的应用,特别是自动驾驶技术的迅速发展,汽车电子对总线宽度和数据传输速率的要求也越来也高,传统CAN(1MBit/s,8Bytes Payload)已难以满足日益增加的需求。
(资料图)
因此在2012年,Bosch发布了新的CAN FD标准 (CAN with Flexible Data Rate) ,CAN FD继承了CAN的绝大多数特性,如同样的物理层,双线串行通信协议,基于非破坏性仲裁技术,分布式实时控制,可靠的错误处理和检测机制等,同时CAN FD弥补了CAN在总线带宽和数据长度方面的不足。
2015年6月30日,国际标准化组织(ISO)已经正式认可CAN FD,并无反对票通过ISO 11898-1作为国际标准草案。
什么是CAN FD?
CAN FD协议是由Bosch以及行业专家预研开发的,并于2012年发布。通过标准化对其进行了改进,现已纳入ISO 11898-1:2015。一开始的Bosch CAN FD版本(非ISO CAN FD)与ISO CAN FD是不兼容。
CAN FD具有以下4个主要优点:
CAN FD每个数据帧最多支持64个数据字节,而传统CAN最多支持8个数据字节。这减少了协议开销,并提高了协议效率。
CAN FD支持双比特率:与传统CAN一样,标称(仲裁)比特率限制为1 Mbit/s,而数据比特率则取决于网络拓扑/收发器。实际上,可以实现高达5 Mbit/s的数据比特率。
CAN FD使用改进的循环冗余校验(CRC)和“受保护的填充位计数器”,从而降低了未被检测到的错误的风险。这在汽车和工业自动化等安全攸关的应用中至关重要。
在一些特定的情况下CAN FD能用在仅使用传统CAN的ECU上,这样就可以逐步引入CAN FD节点,从而为OEM简化程序和降低成本。
实际上,与传统CAN相比,CAN FD可以将网络带宽提高3到8倍,从而为数据的增长提供了一种简单的解决方案。
CAN FD帧结构
CAN FD节点可以正常收、发CAN报文,但CAN节点不能正确收、发CAN FD报文,因为其帧格式不一致。
与CAN一样,CAN FD一共具有:帧起始,仲裁段,控制段,数据段,CRC段,ACK段和帧结束,7部分组成。
CAN与CANFD使用相同的SOF标志位来标志报文的起始。帧起始由1个显性位构成,标志着报文的开始,并在总线上起着同步作用。
与CAN不同,CAN FD取消了对远程帧的支持,用RRS位替换了RTR位,为常显性。IDE用于区分标准帧和扩展帧。
标准帧仲裁段由11位ID和r1位(显性)、IDE(显性)组成,总共13位。
扩展帧仲裁段由29位ID和SRR(隐性)、IDE(隐性)、r1位(显性)组成,总共32位。
CAN FD与CAN有着相同的IDE、res和DLC位,同时增加了FDF、BRS、ESI三个bit位。
CAN FD兼容CAN的数据格式,同时最大还能支持:12、16、 20、 24、 32、 48和64byte。
像在传统CAN中一样,CAN FD DLC是4位,表示帧中数据字节的数量。为了维持4位DLC,CAN FD使用从9到15的其余7个值来表示所使用的数据字节数(12、16、20、24、32、48、64)。
编辑
传统CAN中的循环冗余校验(CRC)为15位,而在CAN FD中由固定填充位FSB(6/7位)、填充位计数(4位)、CRC(17/21位)和CRC界定符(1位)组成,总共28或33位组成。在传统CAN中,CRC中可以包含0到3个填充位,而在CAN FD中,总是有4个固定填充位以提高通信可靠性。
固定填充位(FSB):CRC段中每4个位固定填充一个与上位相反的位。
填充位计数:由填充位计数(3位)和奇偶校验位(1位)组成。
CRC:
CRC界定符:固定为隐性位;从该位采样后,切换为仲裁域波特率。
ACK紧跟着CRC结束标识位。不同的是,CAN FD支持2bits的ACK的识别,由ACK位和ACK界定符位组成。
与CAN一样,CAN FD的帧结尾也为连续7位的隐性位。
一帧CAN FD报文位数
根据CAN FD帧结构组成,可以算出一帧CAN FD报文位数:
CAN FD报文位数=帧起始(1位)+仲裁段(13/32位)+控制段(8位)+数据段(0~512位)+CRC段(28/33位)+ACK段(2位)+帧结束(7位)
影响报文位数主要为仲裁段(帧ID长度)和数据段(CRC段受数据段长度影响)。通过帧类型、帧长度组合出不同情况报文位数:
精品专栏仲裁域和数据域位数
由于CANFD采用了双波特率形式:标准波特率(也称仲裁域波特率)和数据域波特率,所以帧结构中不同段采用的波特率也不同。
主要说明的是,BRS位和CRC界定符位均同时使用了两个波特率:
此处将BRS认定采用仲裁域波特率、CRC界定符采用数据域波特率以方便计算。
位填充
当然,上述报文位数中,还未包含填充位个数。在CAN/CAN FD协议中规定:每5个相同的位就必须填充一个相反位,该位即为填充位。
我们知道字节0x55或0xAA,其二进制分别为0101 0101或1010 1010,也就是每个位与上一位均相反,若此时ID和数据均为0x55或0xAA,则可以使填充位个数最少。
同理,字节0xFF或0x00,其二进制位1111 1111或00000000,也就是所有位均一致,若此时ID和数据均为0x00或0xFF,此时报文的填充位个数最多。
不同类型报文位数
基于以上报文位数的计算,我们可以得出算出不同类型报文所占位数,如下表所示:
从上表可知:
CAN FD报文时间计算
最后,可以根据波特率算出不同类型报文时间了,计算公式如下:
报文时间=仲裁域位时间*仲裁域位数+数据域位时间*数据域位数
以位数最少的CANFD报文为例,在仲裁域波特率为1Mbps(位时间1us),数据域波特率为5Mbps(位时间200ns)时,其报文时间= 1us * 26 + 33 * 200ns = 32.6us。
那么一秒钟最多可以发送报文呢?由于报文发送成功后,需经过帧间隔(3个位)后才能发送下一帧报文,也就说仲裁段要在原来基础上加3个位,就可以算出每秒发送多少帧了。那么上述位数最少报文的发送时间耗时= 1us *(26 + 3)+ 33 * 200ns = 35.6us,也就是1秒钟最多可以发送1000000us / 35.6us = 28089帧报文。也就是说,1M/5M波特率下,发送CAN FD标准加速帧,最多可以发送28089帧。
下面我们给出一些常用波特率下,不同类型报文每秒最多可以发送的CANFD报文帧数(下表中报文BRS位为1,ESI位为0),供大家参考。
关键词:
责任编辑:宋璟
-
CANFD网络中每秒最多可以发送多少帧报文?
-
当前速递!山东诗人‖【马建业诗选】
-
【世界新视野】#今日种草##多巴胺穿搭#要说在眼下各大社交平台哪种穿搭最流行?
-
2022~2023年广西养老金调整最新消息和养老金方案细则新消息
-
数字技术打开视听艺术新空间(聚焦文化数字化) 当前头条
-
国家发改委:持续巩固和扩大新能源汽车发展优势,支持企业加强动力电池等领域关键核心技术研发
-
西安高新区全面启动2023年度实用性村庄规划
-
全国和美乡村广场舞大赛总决赛举行
-
世界即时:君临天下攻略大全_《君临天下》攻略
-
世界今亮点!对分摊办公费的侵权行为要勇于说“不”
-
意甲冠军官宣换帅!冠军教头急流勇退,前利雅得胜利教练上任 当前快讯
-
东西问|王龙:新疆吐鲁番为何盛行“桃文化”?-天天看热讯
-
6月16日生意社煤焦油基准价为4095.00元/吨
-
天天通讯!深圳宝安人才市场招聘信息_深圳宝安人才市场
-
海南东方滨海片区棚户区改造项目首批1669套安置房装修完成
-
定州市气象台更新高温红色预警【Ⅰ级/特别严重】【2023-06-15】 焦点热讯
-
微速讯:中辉期货原油日报20230615:加息还未结束,原油上方仍有压力
-
当前短讯!中小企业“量质齐升”,工信部将给予更大力度支持
-
确定了,斗破苍穹年番播完后大主宰就会出,但可惜播出后很难火
-
视频|小伙“S”形超车耍酷 结果帅不过三秒
-
泰康增额寿险怎么样?值不值得买?
-
俄副外长:俄美在《新削减战略武器条约》问题上仍有分歧-天天观热点
-
工程量清单和定额的区别_清单和定额的区别
-
距离服务区仅剩一公里,他实在坚持不住了,车辆“失控”……
-
中心城区更新提升具体举措出台:95项具体任务 细化城市提升路线图-世界热头条
-
618特惠来了!苏泊尔家用大容量多功能破壁机降价20元! 今日播报
-
西安科技大学机电工程学院2023年考研复试分数线
-
韩国女演员金世正否认与安孝燮恋情 此前两人被曝同游日本
-
西吉县气象台发布大风蓝色预警【IV级/一般】【2023-06-15】
-
午评:创业板指涨1.55% 机器人概念大涨-天天短讯
-
准备好了吗?“烤”验即将开始,高温或超35℃!
-
环球滚动:6月15日连豆粕早盘下跌
-
特斯拉股价终止13天连涨,市值增加超2000亿美元_当前报道
-
五彩经开·而立有为
-
长安期货6月15日原油早评:暂停加息如期而至,库存激增限制涨幅|焦点热闻