can rx fifo的优势是什么?

问题描述

我对 AUTOSAR 非常感兴趣。 我研究了 CAN 消息缓冲区和 CAN Rx FIFO。 我知道 CAN Rx FiFO 是消息框的集合。
我有个问题。 使用CAN报文缓冲区时,已知该范围内的can报文id先通过报文过滤处理。 如果fifo是一个消息缓冲区的集合,我认为唯一的优势就是内存。 这就是全部?我真的很好奇使用 CAN RX FIFO 的原因。

解决方法

这在很大程度上取决于所使用的特定 CAN 控制器硬件。但总的来说,是的,在消息最终进入 Rx FIFO 之前,会应用消息 ID 过滤和接受屏蔽(如果使用)。

拥有 Rx FIFO 的原因只是为了让您的程序有时间做其他事情,同时有传入的消息。当您检查 FIFO 时,通常最好这样做,直到您已读取所有消息并清空 FIFO。

更现代/更先进的 CAN 控制器使用称为“邮箱”的东西,其中您感兴趣的特定 CAN 标识符最终位于它们自己专用的“邮箱”消息缓冲区中。然后设置是为您期望的所有高优先级消息设置专用邮箱,并为低优先级内容和/或您不感兴趣的消息保留 RX FIFO。