器件型号:TMD28X0049M
尊敬的 TI 团队:
我在 Piccolo 280049 MCU 的 C2000Ware 下找不到 ADC 到 RAM DMA 示例。 其他处理器有一些示例、但它们使用的功能不同。 但是示例之间的逻辑看起来非常相似:初始化器件、设置地址、设置突发、设置传输、设置模式、 我尝试遵循相同的逻辑流程、但到目前为止还不幸运。
我想配置一个 DMA 器件、在 ADC 转换结束时将 ADC 结果寄存器传输到内部 RAM 缓冲器、并在传输完成时让 DMA 触发一个中断、以便我可以连接到我的控制逻辑 ISR。
这就是我到目前为止所做的工作:
- CPU 定时器0以10kHz 的频率驱动我的 ADC 转换 ADC 器件上的最后一个通道 C 生成一个 ADC 中断
- 这正常工作。 我获取10kHz 中断、并且我的 ADC ISR 将数据从结果寄存器传输到内部缓冲器。 但是、这非常慢、需要由 DMA 完成
- 然后、我修改了代码 A 位以删除 ADC 中断、并将 ADC C 信号上的最后一个通道发送给 DMA 器件
- 我将 DMA 器件配置为在传输结束时生成中断。
- ADC 与 DMA 之间的信令似乎工作正常。 ADC C 上的最后一个通道转换向 DMA 器件发出信号、然后触发 DMA 中断(我使用计数器和 GPIO 引脚进行监控以检查示波器上的频率和执行时间) 在中断发生时、我假设数据已传输、但我从未在目的缓冲区中看到任何数据。
因此、我怀疑配置 DMA 器件的方式有问题。 我创建了附加的测试文件、删除了 ADC 部分、并且只需在软件触发器上使用 DMA 在两个 RAM 缓冲区之间移动数据、但仍然看不到 DMA 从源缓冲区传输到目标缓冲区的任何数据。
TI 能否提供一个工作示例代码来将这个通用 ADC 转换为具有用于 Piccolo 280049芯片的 DMA 的 RAM?e2e.ti.com/.../dmaTransferTest.c