如何模拟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报文,先用上面的公式计算出负载率
共有 0 条评论