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.

[参考译文] AM263P4:通过 DMA 将 ADC 结果寄存器传输到 TCMB

Guru**** 2868720 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1639868/am263p4-transfer-of-adc-result-registers-to-tcmb-via-dma

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

大家好
我正在使用信号发生器向两个 ADC 引脚 (ADC1 AIN0 和 ADC1 AIN1) 提供两个 120 度相位差正弦信号、因此它将存储在 ADC1 的 RESULT0 和 Result1 寄存器中
现在根据附图、我使用了 连续的 SoC (soc 0 和 soc 1)、需要通过 DMA 将两个连续的 16 位寄存器作为一个 32 位寄存器从 ADC 完全传输到 tcmB、这样 CPU 就可以将其用于场定向控制 ISR
soc 0 和 SOC1 都将由 ePWM soc A 触发、控制频率为 20KHz (Tbprd=5000 及其一个上/下计数器、所有时钟分频器为 1)
如何继续使用代码和 SysConfig 设置、或者是否有任何可以使用的参考资料?
或者对于电机控制、可以让 CPU 将数据从 ADC 寄存器传输到 tcmB 存储器


image.png

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

    你好、Rishabh、

    可以使用 DMA 执行此操作。 您应将 ADC1 SOC0 和 SOC1 配置为 AIN0 和 AIN1 上的连续 SOC、并从同一 ePWM SOCA 事件触发两者。 然后仅在 SOC1 完成后生成 ADC 中断、因此 RESULT0 和 Result1 都已准备就绪。 然后、使用一次 32 位的 DMA 传输从 ADC1 RESULT0 的地址转换为 TCMB 中的 32 位字。 最后、在 ISR 中、将该 32 位字解压到两个 16 位样本中、或者直接转换/提取。 您可以在适用于 AM263Px 的 MCU SDK 中查看我们的 ADC+DMA 示例。

    此致、

    Masoud