主题中讨论的其他器件:SysConfig、
工具与软件:
我需要一个环形缓冲器来设置高电平、可以保留来自 ADC 通道的256、当某个值超过某个阈值时、只继续采样192次而不是停止。
我使用中断来使它缓慢运行、但现在我想看看它的运行速度有多快。
在可能的最大速度下执行此操作。 我想先回答这个问题、然后再浏览完相关文档(需要解析的内容很多)。 几个问题...
1) 1)首先、我需要注意、我没有外部时钟、因此我认为我限制在32MHz CPUCLK 和 ULPCLK 在这些限制下、ADC 的最大吞吐量是多少?
2)附带问题、我使用 SysConfig 设置芯片、现在我看到有人参考了模拟配置器、是推荐配置器而不是其他配置器? 我尚未安装模拟配置器、我尚未了解它的功能或如何与 CCS 配合使用。
3) 3)我在填充环形缓冲区、FIFO 或 DMA 方面的最佳选择是什么? 我可以想象从 FIFO 中调用、检查阈值、然后将其放入我自己的缓冲区。 如果我从 FIFO 中获取、我想我能够以最大采样速度执行该操作吗?
4) 4)如果我使用 FIFO、我怎么知道 FIFO 中有多少商品? 我看到 CCS 函数 DL_ADC12_getFIFOData、我在技术参考中看到了寄存器、但我看不到计数。 我也看不到数据格式。 在另一篇 e2e 文章中、我看到了有关数据的数据有效位的一些内容、但我看不到它。
5) 5)我需要使用 DMA 吗? 您将如何使用 DMA 执行诸如环形缓冲器之类的操作、以及是否会中断样本? (我可以想象设置一个 DMA 来处理32个样本、然后在完成后移动缓冲区位置并重新启用 DMA、然后在这段时间内我可以尝试遍历前面的样本以查看是否需要停止。
6) 6)无论我如何获取数据、我都在想象 ADC 样本会自动运行、哪种方法最好? 我已经将 ADC 设置为触发计时器中断、但然后我必须查看 ADC 中断以便允许它再次采样、这是必要的步骤吗? 或者是否有办法让 ADC 持续工作?













