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.

[参考译文] TDA4AL-Q1:如何配置 UART、以便使用 DMA 进行数据传输?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1523713/tda4al-q1-how-to-configure-uart-to-use-dma-for-data-transmission

器件型号:TDA4AL-Q1

工具/软件:

在当前设计中、TDA4AL 的 MAIN_uart6 的 TX/RX 和 MAIN_uart7 的 RX 连接到 MCU。 MAIN_uart6 的波特率设置为 115200、MAIN_uart7 的波特率设置为 3125000。 由于存在一些传输问题、我们想尝试使用 UART DMA 来看看它是否有助于改善这种情况。 如何配置 UART DMA?

谢谢。

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

    您好 、Eddi、

    指定的工程师本周正在出差、因此预计此主题的响应会延迟。

    谢谢您、

    AlanL

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

    尊敬的 Eddi:

    、因为存在一些传输问题

    您遇到了哪些传输问题?

    此外、如果您使用 RTOS、请查看 PDK 中的 UART 示例、了解有关使用 UART 外设以及启用 DMA 的更多信息。

    谢谢、

    Neehar

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

    嗨、Neehar、

    传输问题之前已经解决、但我们将来可能会考虑启用 DMA。 目前、根据源代码、我们似乎需要dmasdma-names在器件树中添加和参数。

    但是、由于我不确定如何填写dmasmain_uart6和相关的参数main_uart7、您能否提供有关如何为main_uart6和启用 DMA 的详细说明main_uart7

    此外、我们的操作系统是 Linux、并使用了 Yocto 接口。

    谢谢。

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

    尊敬的 Eddi:

    我目前没有带宽、将在本周结束时跟进。 感谢您的耐心!

    谢谢、

    Neehar

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

    尊敬的 Eddi:

    以下面的配置为例:

    &main_uart1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart1>;
        dmas = <&main_pktdma 0x4401 0>, <&main_pktdma 0xc401 0>;
        dma-names = "rx", "tx";
        status = "okay";
    }

    谢谢、

    Neehar

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

    嗨、Neehar、

    应该为dmasmain_uart6main_uart7设备树中和的属性指定哪些值?

    谢谢、

    Eddie

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

    尊敬的 Eddie:

    这将取决于您要使用的 DMA 控制器以及规定了多少个 DMA 单元。

    第一个值是要用于 DMA 的 dma 控制器、根据此值、可以检查其余的.yaml 文件。

    例如、对于 main_pktdma、它表示:

    “#dma-cells":“:
    常量:2.
    描述|
    第一个单元是远程(到 PKTDMA)端的 PSI-L 线程 ID
    线程 ID 的有效范围取决于数据移动方向:
    对于源线程 ID (Rx):0 - 0x7fff
    对于目标线程 ID (TX):0x8000 - 0xFFFF

    有关 PSI-L 线程图、另请参阅器件文档
    PSI-L 外围设备章节以获取正确的螺纹 ID。

    第二个单元格是通道的 ASEL 值
    可在以下位置找到.yaml 文件:TI-processor-sdk-linux-adas-j721s2-evm-10_01_00_04/board-support/ti-linux-kernel-6.6.44+git-ti/Documentation/devicetree/bindings/dma/ti

    谢谢、

    Neehar