您好、
我有以下问题:
1) Rx FIFO 和 Rx 缓冲区之间的区别是什么? 是否可以通过寄存器配置选择模式?
2)是否可以通过寄存器配置区分 Tx 缓冲区模式和 Tx 队列?
3)与 Tx FIFO/缓冲器元素的标头相比、Tx 事件 FIFO 具有更多的 Tx 时间戳和事件类型信息。 在什么情况下、尽管"事件类型"中存在可能类型、但传输会出现什么情况?
谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、
我有以下问题:
1) Rx FIFO 和 Rx 缓冲区之间的区别是什么? 是否可以通过寄存器配置选择模式?
2)是否可以通过寄存器配置区分 Tx 缓冲区模式和 Tx 队列?
3)与 Tx FIFO/缓冲器元素的标头相比、Tx 事件 FIFO 具有更多的 Tx 时间戳和事件类型信息。 在什么情况下、尽管"事件类型"中存在可能类型、但传输会出现什么情况?
谢谢!
大家好、Jass、
一般而言、我建议您阅读以下两个文档、其中包含详细信息和您的问题的答案。
《TCAN45xx 软件用户指南》(链接)。
Bosch M_CAN 用户手册(链接)。
Unknown 说:1) Rx FIFO 和 Rx 缓冲区有何区别? 是否可以通过寄存器配置选择模式?
RX 缓冲区和 FIFO 元素存储相同的 RX 消息信息。 唯一的区别是器件如何存储消息并向 MCU 报告哪个元素包含新消息。 RX FIFO 从索引0开始将消息存储在连续的存储器元素中。 有一个与 FIFO 相关联的 Get 和 Put 索引、它应该由 MCU 读取、以便它可以读取和确认或清除最早的消息和 FIFO 元素、从而按照 RX 消息的接收顺序对其进行读取。
消息 ID 过滤器可用于根据特定的专用 RX 缓冲器元素的索引将消息定向到该元素。 有一个新数据寄存器、它只通过专用的 RX 缓冲区元素指示、其中包含新消息、MCU 可以按任何顺序读取和清除这些消息。
专用 RX 缓冲区和 RX FIFO 均可通过寄存器配置启用和配置。 对在应用中使用任何特定类型或数量的 RX 元件没有限制或要求。
Unknown 说:2)两种 Tx 缓冲区模式,Tx FIFO 和 Tx 队列,能否按寄存器配置区分?
是的、这是通过寄存器配置的。 只能有专用 TX 缓冲区、只能有 TX FIFO 或 TX 队列、也可以有 TX 缓冲区和 TX FIFO 或 TX 队列的组合。 但是、不能同时设置 TX FIFO 和 TX 队列、因为它们传输消息的方式会发生冲突。 TX FIFO 将按照报文在 FIFO 中的放置顺序发送报文。 TX 队列将根据 CAN 仲裁规则基于最高优先级消息 ID 传输消息、其中最低消息 ID 将具有最高优先级。
Unknown 说:3)与 Tx FIFO/缓冲元件的标头相比,Tx 事件 FIFO 具有更多的 Tx 时间戳和事件类型信息。 在什么情况下,尽管"事件类型"中存在可能类型,但传输会出现什么情况?
TX 事件 FIFO 是可选的、如果 MCU 或应用需要跟踪和监控消息传输、则只需在 TX FIFO 或 TX 缓冲器中记录有关 TX 消息传输的信息。 无论是否启用 TX 事件 FIFO、器件都将发送消息。
此致、
乔纳森