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.

[参考译文] TCAN4550-Q1:有关 Tx/Fifo 缓冲器和 Rx 的问题

Guru**** 2768415 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1309356/tcan4550-q1-question-about-tx-rx-buffer-and-fifo

器件型号:TCAN4550-Q1

您好、

我有以下问题:

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、器件都将发送消息。

    此致、

    乔纳森