如何模拟CAN/CANFD总线的负载

最近群里有人问如何计算CANFD总线负载,我自己用CANoe模拟了一下CAN总线的负载,大概的思路如下:
首先,我们拿最大通信速率为500kbps的CAN总线来说,500kbps就是500kbit/s,也就是1秒内总线上最大允许传输的bit数为500000个
我们模拟发送一条周期报文,计算1秒内它传输到总线上的bit数,然后再除以1秒内最大允许的bit数,不就得到总线的负载了嘛
计算方式如下

1000是1秒,也就是1000ms
Tsendcycle是发送的周期报文的周期时间,这里以ms为单位
N是一条CAN报文发送到总线上的bit数


我们以dlc为8个字节的标准帧为例,帧起始(1bit)+仲裁场(11bit)+控制场(6)+数据场(64bit)+CRC场(16bit)+ACK场(2bit)+帧结束(7bit)+ITM(3bit) = 111bit ”

500000是CAN总线在1秒内的最大承载bit数

假设我们以1ms为周期往总线上循环发送CAN报文,先用上面的公式计算出负载率

如何模拟CAN/CANFD总线的负载最先出现在Python成神之路

版权声明:
作者:感冒的梵高
链接:https://www.techfm.club/p/28762.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>