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.

[参考译文] TMS570LC4357:在通过 DMA 为 TX 启用相同的 SCI 模块时的 SCI DMA RX 问题

Guru**** 2451970 points
Other Parts Discussed in Thread: TMS570LS3137

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1263964/tms570lc4357-sci-dma-rx-issue-when-same-sci-module-is-enabled-for-tx-over-dma

器件型号:TMS570LC4357
主题中讨论的其他器件:TMS570LS3137

您好!

我看到的是下面链接中提出的确切问题、除了控制器 P/N 是 TMS570LS3137、我在链接中没有看到任何解决方案。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1041094/tms570lc4357-sci-dma-rx-issue-when-same-sci-module-is-enabled-for-tx-over-dma

我已经为 RX 和 TX DMA 配置了 SCI-1 (多缓冲、8字节)。 DMA CH-0用于 RX、DMA CH-1用于 TX、AIM 模式设置为 FALSE。 我正在尝试在每帧中使用2个元素(32_bit 传输)传输4个8字节的帧。

尽管 Rx DMA 通道的优先级较高、SCI TX DMA 是否始终受到触发、并且没有空间用于 RX DMA?

我甚至尝试了针对 TX DMA CH-1的低优先级、但也不起作用。 另外、我原本以为 DMA CH-1将在32字节(4个8字节的帧)的块传输后被禁用、但实际上始终处于启用状态。

有任何帮助吗?

谢谢。

Jai

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

    尊敬的 Jai:

    我最近针对 SCI 的多缓冲模式创建了一个常见问题解答。 您能否浏览此常见问题解答、它包含一个示例项目。

    (+)[常见问题解答] RM48L952:如何使用 DMA 在 SCI 多缓冲模式下执行8字节传输-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    --

    谢谢。此致、
    Jagadish。

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

    您好!

    正如我在查询中提到的、 元素传输大小仅为32位。 一个帧中有两个32_bit 大小的元素、以及另外三个此类帧、以完成32字节传输。

    我将使用2个开发板来测试代码、两个开发板上都运行相同的构建。 启用了 Tx DMA 和 Rx DMA 后、我发现了此问题。 因此、如果我停止发送并仅在一个电路板上启用接收、我将接收从另一个电路板传输的数据而不会出现任何缺失。

    您能否确认我的问题、我需要访问两个 DMA 通道、每个通道具有1个32_bit 元素、而不是1个具有2个32_bit 元素的 DMA 通道?

    为了确认 SCI_RXD 也是 0xFFF7E464、该值也无法被8整除。 尽管如此、在每帧相同的32_bit 大小2个元素传输的接收中仍然没有问题。

    谢谢。

    Jai

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

    在 SCI TX 的 DMA CH 设置中、AIM 为"ON"、这导致了问题。 当我禁用它时、它可以在 Tx 的单个 DMA 通道中正常工作。   

    谢谢。

    Jai