如何消除CAN中的ACK插槽错误?

时间:2014-06-23 12:35:45

标签: arm can-bus lpc

我正在使用CAN总线连接两个lpc2129微控制器。从发送器立即发送消息,但在接收器侧,接收中断正在连续执行。

我在开始时收到ACK错误,因为它是接收中断的优先级较低的中断,但稍后接收中断会连续发生,即使我只从发送器发送一次,数据也会正确接收。 更多细节是:          波特率:125 kbps          收发器:MCP2551          验收过滤器:启用(不使用FULL CAN模式)

请帮助我如何消除此错误ACK错误。

1 个答案:

答案 0 :(得分:1)

您需要消除“源头”的ACK错误。

如果接收器正在接收中断,那么它必须认为它已经确认了帧(你不应该为错误的CAN帧获得接收中断)。

因此,Tx端必须“看不到”ACK位 - 然后它会继续重试帧,因此您的连续接收中断。

我建议在示波器上查看总线以查看发生了什么 - 您可能会看到ACK位未正确地从接收器节点进入发送器节点。然后弄清楚为什么应该(可能是狡猾的焊接?)