aozima 发表于 2009-12-24 17:23

求助:关于CAN的速率和一秒内能发的帧数,不会算

比如我几个节点使用250Kbps的速率通讯,
看了下CAN的帧结构,算出来标准标识符和扩展标识符分别要103位和123位.(DLC按8计算)
我们就当125位计算,那么一秒可以发2K帧是吗?(理想情况下)
考虑到仲裁和冲突及重发,拆中一下按1K帧是可以达到的吧?

lnskngdc 发表于 2009-12-25 10:27

当波特率为1M的时候,总线上一秒钟的报文流量可达到6000帧以上,不是所有报文的dlc都等于8 的情况下。

aozima 发表于 2009-12-25 19:57

1M ==> 6K帧
那么: 250K ==>1500帧

我的DLC都是8,需求是800帧每秒,还要算上容错,看来有点勉强....

shuijiucha 发表于 2009-12-31 16:46

CAN是串行总线,其实很容易计算的
如果用标准帧:一帧数据最多应该不会超过129位(因为有自动插入位不确定,129好像是最大值,好久不看底层的东西记不太清楚了),这样我们每一位的时间就是 :(1/波特率) ,一帧最大时间就是: 129/波特率 。
这样1秒钟多少帧就很简单了 : 波特率/129 . 这是纯理论计算,试用的时候自己留一定余量就是了。
两年前曾深入的研究过CAN ,但由于工作的变动好久没有仔细研究了,希望对大家有帮助。

ejack 发表于 2010-1-3 07:38

完整扩展帧按128位算,帧间还至少需要3位间隔。
250k / 131 = 1908帧/秒
为位填充、通讯干扰、线路因素、杂七杂八留出50%裕量,就算是954帧/秒。与LZ的需求相比可能没多大空间了。
跑250kbps,距离应当不会太远吧……说明书里面把线材、终端匹配都加粗加黑,还有什么“远离强干扰设备”之类的说明文字都加粗加黑,总之把影响通讯的因素都说明出来……“万一通讯质量差可不要怪我没说过哦”:D

aozima 发表于 2010-1-5 15:29

谢谢楼上的,基本明白...

一只小绵羊 发表于 2010-1-7 10:52

总线利用率能到多少???
我觉得60%就不错了,没数据猜得。
谁给讲讲
页: [1]
查看完整版本: 求助:关于CAN的速率和一秒内能发的帧数,不会算