CAN控制器同时出现发送和接收时怎么处理?

2019-07-21 07:46发布


假设现在两个MCU(A和B)之间进行CAN通信

假设 
当A给B发送数据的同时B也给A发送了另一帧数据,
那么A的数据能发出去吗? 
如果能发出去, 那B发给A的数据会丢失吗?还是B会重新发送?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
hu25886
2019-07-22 01:11
wang12zhe 发表于 2015-5-12 08:06
回复【2楼】正点原子:
---------------------------------
我知道CAN有仲裁机制

根据自己实际遇到的现象谈一下。主设备A与从设备B通过CAN通信,正常情况下主设备A周期性询问B设备运行情况(即A周期发送命令,B收到后打包回复。此包信息远远大于8字节),与此同时,其他即时性命令也需要通过该CAN发送,接收后也需回报。这种情况下就会发现,B设备偶尔会丢失1个询问命令。猜测,可能是由于即时性命令产生的回包与周期询问命令同时发出,根据优先级判断,只有一个操作能够实现,另一个操作会被丢失。
没有想到比较好的测试方法,我是根据猜测反推CANID是符合优先级判定的。

一周热门 更多>