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.

[参考译文] AM2634:MCAN RX FIFO 元件配置

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1342778/am2634-mcan-rx-fifo-element-configuration

器件型号:AM2634

您好、TI 专家、

在已经被配置为具有两个 RX FIFO 消息元素的 MCAN 消息 RAM 配置中、是否有可能有专门用于一个特定 CAN ID 接收的元素?
如果需要、您能否告诉我如何配置?

我面临一个问题、即使我仅发送一条消息、RX FIFO 元素中也都填充了该消息。 当我发送两条不同的消息时、RX FIFO 元素中都只填充了一条消息、并且我不接收另一条消息。

谢谢!

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

    您好、Sue、

    您能否发布有问题的配置以及如何接收 CAN 数据?

    您是否参考过我们为 MCAN 提供的 SDK 示例? 我想知道您的做法与之前的做法相同或不同。

    此致、

    拉尔夫·雅各比

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

    尊敬的 Ralph:

    感谢您的答复。
    我的配置类似于 SDK 中的"扫描环回轮询"示例。 我还在开发板上运行了该示例、其中我禁用了内部环回模式、仅从 CAN 工具发送了一条消息(ID 为"0xD0U")、并看到该消息"0xD0U"填充了 MCAN 消息 RAM 中的所有五个 RX FIFO 元素。
    如何配置驱动器以使每个 RX FIFO 元素仅被一个 CAN 消息 ID 并且不会填充所有 RX FIFO 元素?

    谢谢!

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

    您好 Sue、

    我今天曾尝试深入探讨这几个方面、但我需要让我们的软件专家之一来进一步帮助。 这是一个假日周末,但请期待下周早些时候的回应。

    感谢您强调该文件可根据 SDK 示例创建、也感谢您这么做、这样应该可以更快地复制和调试您观察到的内容。

    此致、

    拉尔夫·雅各比

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

    没问题。 我将等待您的回答。 谢谢!

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

    ralph 您好、您对此查询有任何更新吗? 谢谢!

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

    您好、Sue、

    感谢您的跟进、我没有即时更新、但我会与我们的团队就该主题重新展开讨论。

    此致、

    拉尔夫·雅各比

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

    您好、Sue、
    您是否可以共享您  修改的 MCAN 环回轮询示例? 它可以帮助我更轻松地了解问题。

    此致!
    阿斯瓦蒂

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

    您好! 有任何更新吗?

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

    您好 Sue、很抱歉耽误了时间、我们在这里度过了几个假期。

    我已经完成了应用、我的理解是您禁用了内部回送模式、并尝试在外部接收和发送帧。 但我不明白为什么您禁用了 Tx 和 Rx 完成轮询。 我假设这只是为了进行调试、对吗?

    您提到的问题是同一条消息0xD0已被全部5个 FIFO 索引填满、而下一条消息没有被写入 FIFO。
    但是、我已经在我身边尝试过该程序、无法重现此问题。 它按预期工作。

    初始的 FIFO 状态是所有参数=零。

    现在、当我发送0xD0时、它被放置在 FIFO 级别1中、putIndex 更新为"1":

    在发送第二条消息0xD1之后:

    您能否检查是否按正确的顺序发送消息? 为简单起见、可以将宏 APP_MCAN_MSG_LOOP_COUNT 从10U 更新为1U、以便只需为一次迭代发送消息。

    此致!
    阿斯瓦蒂