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.

[参考译文] TMS320F28P550SJ:MCAN 是否实际发送消息?

Guru**** 2609895 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1581147/tms320f28p550sj-mcan-info-if-message-is-actually-been-sent

器件型号:TMS320F28P550SJ


您好、我们想知道是否确实发送了一条消息。

我们可以查看是否通过 MCAN_TXBRP 发出了待处理的请求(Tx 缓冲区请求待处理)、或者是否成功发送了消息(通过 MCAN_TXBTO、发生了 Tx 缓冲区传输)。

是否有方法可以检测消息是否已实际发送但尚未完成?

谢谢!

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

    尊敬的 Stephan:

    不确定我是否理解您的问题。 没有一个标志来指示 TX 发送请求与消息从 MSG_RAM 加载到消息物理传输之间的时间(或 TXBRP 变为低电平与 TX 之间的时间) BTO 增大。 如果您使用 FIFO 发送数据、则可以检查 TXFIFO.fillLlLvl 位字段以确定要发送的剩余 FIFO 元素数量。

    如何配置 MCAN TX 和 MSG_RAM?

    此致、

    Zackary Fleenor

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

    您好、Zackary、

    感谢您的回答。

    我们实际上使用 了 1 个 RX FIFO、2 个 TX 缓冲器、外部 id 滤波器。

    你的 意思是、TXBTO 变得很高!?

    我们实际上使用 CAN 进行具有固定时隙的实时传输、因此我们希望避免挂起的消息延迟并在错误的时隙中发送。

    正如您所指出的、没有标志可以指示消息是否实际正在发送。

    因此、我们必须寻找具有现有标志的另一个解决方案。

    谢谢、此致、

    Stephan

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

    嗨、Stephan、

    明白了、感谢确认。 最终解决方案发布后、我们很乐意为您提供帮助。

    正确、我修复了 TXBTO 的原始响应。

    如果有任何其他问题、请告诉我们、并创建新的 E2E 主题来跟进。

    此致、

    Zackary Fleenor