|
AIO-3399PRO,CAN卡丢帧问题
发表于 2020-3-12 16:26:17
浏览:5627
|
回复:0
打印
只看该作者
[复制链接]
楼主
按官方工程师的指导,修改了CAN的电阻,可以正常运行CAN卡
在ubuntu启动后,使用命令 ifconfig can0 up, 启动can卡
但经过测试 板卡上使用的MCP2515芯片会发生无序及丢包现象。
我使用windows+USBCAN盒发送测试数据,测试数据内容固定8字节,帧号每帧加一,
在接收端读取帧号来判断是否丢帧,除了接收后判断,
还可以使用命令ifconfig can0 查看errors记录了丢帧数
测试现象,1.帧会出现无序的情况,比如 发送帧号是1,2,3,4,,接收到的顺序是1,3,2,4,或者1,4,2,3
2.会出现丢帧的情况,无论can盒以什么速度 什么间隔发数据,都会丢帧。以下是测试报告
每次多少帧 | 间隔ms | 测试时长 | 测试时长 | 发送数量 | 接收帧/秒 | 字节/秒 | 丢包数 | 丢包率 | 丢包/秒 | 10 | 1000 | 0:27:20 | 1640 | 16371 | 9.99 | 169.83 | 1736 | 10.58% | 1.06 | 20 | 1000 | 0:13:53 | 833 | 16561 | 19.97 | 339.49 | 410 | 2.46% | 0.49 | 50 | 1000 | 0:13:30 | 810 | 38156 | 49.6 | 843.2 | 340 | 0.89% | 0.42 | 100 | 1000 | 0:05:23 | 323 | 31749 | 98.18 | 1669.06 | 216 | 0.68% | 0.67 | 500 | 1000 | 0:06:54 | 414 | 180515 | 450.1 | 7651.7 | 6415 | 3.47% | 15.50 | 1000 | 1000 | 0:06:43 | 403 | 331134 | 821 | 13957 | 13819 | 4.17% | 34.29 | 1500 | 1000 | 0:10:54 | 654 | 721381 | 1101.66 | 18728.22 | 10277 | 1.42% | 15.71 | 50 | 100 | 0:05:00 | 300 | 139371 | 461.628 | 7847.676 | 396 | 0.28% | 1.32 | 100 | 100 | 0:05:57 | 357 | 297560 | 832.97 | 14160.49 | 889 | 0.30% | 2.49 | 150 | 100 | 0:06:54 | 414 | 475563 | 1145.97 | 19481.49 | 3686 | 0.77% | 8.90 | 200 | 100 | 0:05:42 | 342 | 479822 | 1402.56 | 23843.52 | 757 | 0.16% | 2.21 | 250 | 100 | 0:09:36 | 576 | 936133 | 1623.84 | 27605.28 | 1496 | 0.16% | 2.60 | 260 | 100 | 1:14:12 | 4452 | 7406644 | 1663.53 | 28280.01 | 2586 | 0.03% | 0.58 | 270 | 100 | 0:04:42 | 282 | 482100 | 1704.84 | 28982.28 | 816 | 0.17% | 2.89 | 300 | 100 | 0:01:52 | 112 | 204480 | 1816.32 | 30877.44 | 183 | 0.09% | 1.63 | 10 | 50 | 0:22:50 | 1370 | 269739 | 196.84 | 3346.28 | 11510 | 4.27% | 8.40 | 20 | 50 | 0:12:40 | 760 | 293754 | 386.388 | 6568.596 | 16238 | 5.50% | 21.37 | 50 | 50 | 0:09:42 | 582 | 496890 | 853.262 | 14505.45 | 29482 | 5.93% | 50.66 | 100 | 70 | 0:17:22 | 1042 | 1137489 | 1090.82 | 18543.94 | 59385 | 5.22% | 56.99 | 100 | 50 | 0:20:09 | 1209 | 1695886 | 1090.82 | 18543.94 | 78427 | 4.62% | 64.87 | 100 | 50 | 0:34:15 | 2055 | 2942391 | 1431.64 | 24337.88 | 1263 | 0.04% | 0.61 | 150 | 50 | 0:27:39 | 1659 | 3001774 | 1808.55 | 30745.35 | 76983 | 2.56% | 46.40 | 200 | 50 | 0:18:07 | 1087 | 2273337 | 2091.24 | 35551.08 | 33553 | 1.48% | 30.87 | 250 | 50 | 0:07:25 | 445 | 1029553 | 2308.46 | 39243.82 | 11067 | 1.07% | 24.87 | 250 | 50 | 0:08:20 | 500 | 1156428 | 2312.44 | 39311.48 | 13068 | 1.13% | 26.14 | | | | | | | | | | | 260 | 50 | 1:14:38 | 4478 | 10566299 | 2359.56 | 40112.52 | 114972 | 1.09% | 25.67 | 300 | 50 | 0:04:11 | 251 | 628700 | 2499.86 | 42497.62 | 9050 | 1.44% | 36.06 |
从测试报表中分析 在很慢的速度 1秒发10帧 都会出现丢帧
但在极快的速度 每50ms发300帧,丢包率反而降低了,真的好奇怪
不知道这地方是芯片的问题还是驱动的问题呢
不知道各位大神有没有调过这个can卡,如何能解决这个丢帧的问题呢
|
|