您好、TI!
我将使用两个8通道 ADC、每个 ADC 均为16位、并提供一个16位并行接口来读回转换数据。
我将 AM2434上的 PRU 用于其他目的、因此我想将这些 ADC 与 Cortex R5F 内核连接。
下面是我正在考虑的高层方法:
- 我将使用来自 Cortex R5F 的单个时钟信号将数据移出两个 ADC。 我想为此使用一个 SPI 时钟、以便它可以通过 DMA 在硬件中完成、而不是通过位拆裂来完成。
- 我要将每个 ADC 的每个16位并行信号映射到16位 GPIO 端口。 这将使我能够在一个固定 GPIO 端口存储器位置、在单个时钟/移位中移位和读取每个 ADC 的转换结果。
- 我想使用硬件来执行第2步、使用由 SPI 时钟触发的带有 DMA (或类似)的链接列表(上升沿或下降沿)。 理想情况下、我可以配置两个 DMA 传输、每个传输具有一个固定的源地址(相应的16位 GPIO 端口)和一个带有8个16位链接列表/环缓冲器的目标地址。
上述内容是否合理以及是否可以使用 Cortex R5F 的 GPIO 和 DMA 功能? 我已经通读了 TRM 中的 GPIO 和块复制 DMA (BCDMA)部分、没有看到任何建议这不可行的内容、但我非常感谢您的专家见解! 如果以上条件可行、我在实施时是否需要牢记 DMA 频率/吞吐量限制? 如果需要、我可以在两个 ADC 之间共享16位并行总线并使用 CS 线路在两者之间切换、但我更想先看看双路16位并行读取方法。
谢谢!