今天遇到一个问题,需要计算一下CAN总线上,不同的波特率下,每秒钟最多能够传输多少帧数据,或者说,每帧数据需要耗时多少时间。一开始以为这个东西是很基础的确定性数据,百度上应该随便就能查得到,可是查了半天却毫无头绪,不知道是不是我的打开方式不对(^ O ^)。一怒之下,干脆自己来。
首先我们要确认几个输入参数,包括CAN总线的波特率,要传输的帧类型和帧格式,然后根据CAN协议规范,计算出该帧的bit数。我们用数据帧来做示例,详见图1。
最后综合起来,便得到我们想要的结果,其实很简单,如图2所示:
上面的表格,我同步上传到CSDN了,就在本文的顶部有下载链接。如果有需要,可以点击进去下载。
当然,如果你要计算远程帧的,那就用下面这张图就好:
好啦,就这么简单!轻松愉快,打完收工!