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.

[参考译文] AM625:am62xx SPI-DMA 启用并从 r5f 内核运行

Guru**** 2811905 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1617046/am625-am62xx-spi-dma-enable-and-working-from-r5f-core

器件型号: AM625
主题: SysConfig 中讨论的其他器件

从 TRM 中、我知道有 3 个具有 DMA 功能的 SPI 控制器、所有这些控制器都位于主域中、但根据我对 TRM 的理解、R5F 内核属于唤醒域。 除此之外、在 SysConfig 中没有看到任何可用于 R5F 的唤醒域 SPI 实例。
R5F 内核(唤醒域)是否可以直接配置 SPI-DMA? 如果是、请说明步骤。

image.png

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

    您好、

    您能为我提供有关您所使用的 SDK 的帮助吗? 如果是 MCU + SDK、您可以继续读取。 如果是 Linux SDK、我可以将该票证重新分配给另一位专家。

    对于 MCU Plus SDK、是的、您可以这样做。

    请查看以下指南: e2e.ti.com/.../faq-sk-am64b-mcspi-integration-guide

    此致、

    Vaibhav

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

    我将 AD4190 ADC 与 OSD62PM-BRK 搭配使用。 使用 MCU-SPI 设置时、理论上我的数据速率约为 2.5KSPS。 如果我使用 SPI-DMA 将 MCU-SPI 设置切换到 R5F、会在 ADC 采样数据速率方面产生任何具体差异吗? 如果是、请帮助我进行计算

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

    尊敬的 Meera:

    是的、R5F 可以使用主域 SPI、并也可以配置 DMA。

    为此、请参考以下示例: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/11_02_00_23/exports/docs/api_guide_am62x/EXAMPLES_DRIVERS_MCSPI_LOOPBACK_DMA.html

    您也可以下载 MCU PLUS SDK、以便在您的设置中运行该套件。

    同时,我会在某个时候与你分享一些数字。

    BR Vaibhav

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

    感谢 Vaibhav 的快速响应、但如果我们使用 SPI-DMA、而不是对 ADC 采样数据速率使用 SPI 外设、这是否会产生显著影响? 因为根据我的理解、每次转换的 SPI 传输时间为~2-3 微秒、因此我不确定 SPI 实际上是否成为瓶颈。

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

    尊敬的 Meera:

    我会让你们根据数字来考虑两者的可能性。 我附上一些数字:

    数据大小:每 8 位 128 字节。

    SPI0 + DMA (PKTDMA)

    您能帮我解决频率问题吗? 这样我也可以在同一个地方进行测试。

    BR Vaibhav

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

    ADC 时钟:16MHz 、默认分频为 2→fCLK = 8MHz

    通道: 启用 8 个差分通道。 将按顺序读取 2 个 ADC。 我们将总共使用 4 个 ADC 和 2 个 SPI 接口、从而一次并行读取 2 个 ADC。

    定序器: 自动、通道 0→通道 3

    重复= 1 (每个周期每个通道 1 次转换)

    延迟= 0 (无额外的稳定延迟)

    SPI 时钟:12.5MHz

    12.5MHz 时钟周期:1/SPI = 80ns

    SPI 读取数据(32 位= 24 位+ 8 位)= 2.56uS  

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

    谢谢、我将以这个频率进行测试、并很快更新您。

    您能告诉我您希望一次读取多少个字节吗?

    一个棒球场号码也是可以的。

    SPI READ DATA(32 位= 24 位+ 8 位)= 2.56uS 

    每个 MCSPI_TRANSFER 调用读取 1 个字节吗?

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

    每个 MCSPI_transfer 调用的读取值为 32 位(4 字节)、1 个样本/通道。

    SPI 读取数据(32 位= 24 位+ 8 位)= 2.56uS 这全部是我们通过假设 SPI 频率 12.5MHz 得到的理论计算结果。 我们尚未在电路板上测试时序。

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

    尊敬的 Meera:

    感谢您分享详细信息、我将在某个时候对此进行测试、并告知您。

    BR Vaibhav

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

    尊敬的 Meera:

    感谢您的耐心。

    对于 12.5MHz、使用 DMA 时、我检查了发送和接收 4 个字节数据的内部环回。 这是相同的结果。

    现在使用相同的配置、对于中断模式、结果如下:

    鉴于 DMA 的延迟是中断模式延迟的 2 倍(2 倍)、因此我建议在更小的传输中继续使用中断模式。 这是因为 DMA 已经有一些开销、对于批量传输来说将富有成效。 希望这有所帮助。

    BR Vaibhav