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.

[参考译文] AM5728:SPI 问题

Guru**** 2554390 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/610373/am5728-spi-issues

器件型号:AM5728

您好!

使用 PRSDK 4.0时、我的客户面临 SPI 问题、尤其是:

  • 我需要在单个 AM5728器件(当前在 GP EVM 上)上同时工作的两个单通道 DMA 模式 SPI。 也就是 SPI3是主器件、SPI4是从器件。
  • 使用以下位置的修改后的 PDK 示例:  
    ~/ti/pdk_am57xx_1_0_7/packages/MyExampleProjects/MCSPI_SlaveMode_MasterExample_idkAM572x_armExampleProject
    我目前能够将 SPI3配置为主 DMA 模式、将 SPI4配置为从非 DMA 模式...
  • 我现在缺少的是哪些文件以及如何配置 SPI4的 DMA 通道?

您能帮我解决这些问题吗?

谢谢、此致、

Alberto

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

    如前所述、Processor SDK RTOS 版本包含 SPI 驱动程序用例的 EDMA 和非 EDMA 实现示例。 为了检查如何为 SPI 实例配置 EDMA、请在目录中提供的 MCSPI 从站示例内跟踪宏 SPI_DMA_ENABLE:
    pdk_am57xx_1_0_7\packages/ti\drv\spi\examples\mcspi_slavemode\src

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

    运行 Linux 的 AM335x 是否有类似的示例代码?

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


    我的理解是 SPI 从器件 EDMA 实现目前仅在 RTOS SDK 中受支持。 我将向处理器 SDK Linux 团队的同事发出 ping 命令、以确认他们对此问题的理解并提供正确的指导。

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

    好的、谢谢。

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

    Rahul、

    如果在 Linux 下也支持 EDMA 模式、或者仅在使用 TI-RTOS 时支持 EDMA 模式、请让我先介绍一下。 实际上、客户已停止并等待。

    谢谢、

    此致、

    Alberto

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

    如我所示、Processor SDK RTOS 支持针对 SPI 驱动程序的 EDMA 实现。 n`t 处理器 SDK Linux、我不认为 SPI 从驱动程序实现是受支持的。
    processors.wiki.ti.com/.../Linux_Core_SPI_User's_Guide

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

    我遇到了客户、现在我有了准确的情况。
    他们需要在 AM572x 上使用我们运行 Processor RTOS 的 EVM 实现 SPI。 他们需要的是使用 EDMA 实现 SPI4。
    实际上、DMA XBAR 仅支持 SPI3 (引脚14和15)、而不支持 SPI4 (引脚70和71)。
    您能否提供有关如何在 AM572x EVM 上启用 SPI4和 EDMA 的输入?

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

    您能不能澄清一下在 TRM 中您看到的 DMA XBAR 只支持 SPI3而不支持 SPI4吗? 您是否查看表16-6??

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

    您好、Rahul、

    感谢您和 Alberto 的帮助。 也许我们现在可以在没有 Alberto 中间人的情况下继续工作、以节省他的时间。

    我们参考了表16-87、即默认 EDMA 映射。 有针对 SPI1、2、3的映射、但是没有针对 SPI4的映射。-

    它必须与 XBAR 重新映射、对此我们很清楚。 但是、我们不确定有关所有组件的 API 调用的正确集合:

    如何选择正确的 EDMA 通道来映射纵横制?

    -为了使 SPI4在 DMA 模式下运行(假设我们已经可以在非 DMA 模式下运行),还必须重新配置哪些系统部件?

    -应该使用什么 API 调用来实现这些目标?

    我们尝试任意选择目标 EDMA 通道、但迄今未成功...

    CSL_xbarDmaConfigure (CSL_XBAR_DMA_CPU_ID_EDMA、70、CSL_XBAR_INST_DMA_EDMA_DREQ_17);

    CSL_xbarDmaConfigure (CSL_XBAR_DMA_CPU_ID_EDMA、71、CSL_XBAR_INST_DMA_EDMA_DREQ_18);


    请您 指出、我们缺少哪些内容?

    谢谢

    伊凡

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

    您能提供反馈吗?
    谢谢
    Alberto
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、我在这个问题上被侧向跟踪。 EDMA XBAR 映射在 EDMA3 LLD 示例驱动程序(EDMA3 /drv/sample/src)中处理、SPI UART 测试代码不进行任何配置、您是否查看了 EDMA LLD 中的示例驱动程序。

    此外、在这种情况下、MCSPI 中断会触发 EDMA 事件、因此从 CSL 角度来看、连接应该是:
    CSL_xbarDmaConfigure (CSL_XBAR_DMA_CPU_ID_EDMA、70、1+ CSL_EDMA3_CHA0_MCSPI3_RX);
    CSL_xbarDmaConfigure (CSL_XBAR_DMA_CPU_ID_EDMA、71、1+ CSL_EDMA3_CHA0_MCSPI3_TX);

    这方面的一个示例已在文件 pdk_am57xx_1_0_7\packages/ti\drv\mcasp\examples\evmAM572x\src\Audio_evmInit.c 中 Configure_XBAR 中的 MCASP AM57xx 驱动程序中进行了演示

    请告诉我们这是否有帮助。

    此致、
    Rahul