根据波特率计算10 ms总共可以发送多少 bit:
1s=1000ms;
(250000 bit/1000 ms)*10 ms=2500 bit
计算最长的一帧报文有多少个bit:
(扩展帧)1sof+29id+1ide+1rtr+1srr+2r+4dlc+8*8data+16crc+2ack+7eof=128bit
计算10ms内可以支持的报文数目:
2500 bit/128 bit≈19
综上可得:当10 ms间隔的报文数量超过19条时,就会出现丢帧,总线包和。
(虽然问题已久,但此回答为了方便后来查找的人,Thanks♪(・ω・)ノ)
CAN发送8字节的数据扩展帧,实际总线上传输数据还包括约5字节的帧ID和信息,和
约10字节的帧头尾和校验等。
1、计算:按照这个参数来算 ((250K/8)/23 )*0.010s = 13.6扩展帧 / 10ms,
也就是1358 帧/s。
2、实测:采用广州研煌的ACUSB-211或者131的配套软件AdawinCANTest测试,设置为
波特率250kbps,测试到的实际速度为 300000 帧/ 213s = 1408帧/s。
3、总结,可以看出计算和测试的结论一致。
广州研煌——CAN总线全面方案和技术支持。
专业去问老师吗!!!!