CAN收发时丢失数据

2019-07-20 14:12发布

情况描述:1.通过一个节点连续向多个节点发送数据,随机性的丢失某个节点的数据(通过CAN分析工具和硬件运行看出来的)
                2.通过多个节点向某一个节点发送数据,随机性的丢失某个节点的数据(通过CAN分析工具看出来的)
                3.CAN波特率 500K
随机出现丢失数据的情况,运行几分钟,几小时都有可能。不清楚什么原因
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
碧霄长博
1楼-- · 2019-07-20 15:54
 精彩回答 2  元偷偷看……
小陀螺爱炒蛋
2楼-- · 2019-07-20 19:00
你的通信逻辑是按照半双工的设计的吗?CAN不能同时收发
碧霄长博
3楼-- · 2019-07-21 00:27
小陀螺爱炒蛋 发表于 2017-5-5 17:42
你的通信逻辑是按照半双工的设计的吗?CAN不能同时收发

是的。
假设 0x30,0x40,0x41 在同一总线上。
1. 0x30 可接收任意节点发来的数据,而0x40,0x41只能接收对应ID的数据     
2. 0x30在向0x40,0x41发送数据,0x40,0x41中的节点收到数据立即准备向总线发送数据,此时0x30可能面临着既要接收数据又要发送数据。随机性的出现 0x30发送数据丢失的情况和0x40,0x41中某个节点没向总线发送数据的情况。                        
小陀螺爱炒蛋
4楼-- · 2019-07-21 03:19
 精彩回答 2  元偷偷看……
碧霄长博
5楼-- · 2019-07-21 06:57
 精彩回答 2  元偷偷看……
小陀螺爱炒蛋
6楼-- · 2019-07-21 08:43
碧霄长博 发表于 2017-5-8 09:49
can是半双工的。同时收发的话,硬件会自动进行判断的。

应该不会去buffer的,只是会通过寄存器反应一些错误状态,你如果说可以自动判定并且buffer数据的话,那和全双工有什么区别~

一周热门 更多>