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.

[参考译文] MSPM0G3507:当 MCLK &ULPCLK 是不同的频率时、DMA 写入 UART3不起作用。

Guru**** 2538930 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1204329/mspm0g3507-dma-writes-to-uart3-doesn-t-work-when-mclk-ulpclk-are-different-frequencies

器件型号:MSPM0G3507

我要求 PD1需要比 PD0高频(80MHz)运行、并希望让 UART3 (PD1实例)与 DMA 配合使用以进行接收和发送。 根据我的测试、我 认为 只要我使 PD1和 PD0时钟保持不变(MCLK 和 ULPCLK)、一切都正常、我可以看到数据从引脚上输出。 但如果我把它们设为不同的频率、DMA 会停止交换、引脚上不会触发数据、也不会触发 DMA 中断。 但是、如果我直接从处理器写入 TX FIFO、那么 UART 就能够将它们发送到引脚。 我试图通读文档、但未成功找到导致此行为的原因。

从器件的方框图中可以看出、必须能够执行此操作、因为 CPU、RAM、DMA 和 UART-3位于 PD1中、并且它们 以相同的时钟频率运行。

我们将非常感谢您提供任何帮助。

Russel

 

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

    尊敬的 Russel:

    我将对此进行探讨 、明天会向您提供更多信息。  

    此致、

    Luke

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

    Luke、您好!

     

    您有这方面的更新吗?

     

    此致

    Russel

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

    尊敬的 Russel:

    我能够通过使用基本示例 uart_tx_multibyte_fifo_dma_interrupts.c 来重新创建您看到的内容。 一些预生产器件 UART 和 DMA 交互正在与生产器件修复。 我正在联系我们的设计团队与他们进行验证、当我从他们那里获得信息时会回来。

    • 如果没有 DMA、UART 外设仍能在80MHz MCLK 和40MHz ULPCLK 下工作。 (您也可以通过直接写入 FIFO 来确认这一点)。
    • DMA 本身在80MHz MCLK 和40MHz ULPCLK 下工作、您可以使用 dma_fill_data 示例来验证这一点。
    • DMA 与其他外设一起工作(使用 adc12_max_freq_dma 示例通过 ADC 测试了 DMA)

    此致、

    Luke

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

    Luke、您好!

    非常感谢您的回复。  我将继续对我们感兴趣的其他特性进行评估。

    此致

    Russel