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.
使用 DMA 的 ADC 的最大速度是多少? I ma、尝试设置 ADC 400kHz 采样率并使用 DMA 将 ADC 采样传输到缓冲器。 但是、在填充缓冲区并接收到 DMA 中断(DMA 禁用)后、我注意到 DMA 未正确写入所有数据。 我连接到 ADC 中间机50kHz、并希望在缓冲器中有四个样本处于高 leve 状态、接下来的四个样本处于低电平、但我在缓冲器中看到随机的高值和低值。
在将 ADC 采样频率降至200kHz 后、DMA 缓冲器会正确地填充两个高电平值、然后填充两个低电平值。
作为一个启动项目、我使用了示例 adc12_max_freq_dma 并对其进行修改以 通过 Timer0事件触发 ADC。
您能建议使用 DMA 时的最大 ADC 速度是多少、或者哪里可能会出错?
您好 Anatolii、
我已确认 ADC 接近全速运行、没有任何问题。
我使用以下示例捕获了1kHz、1V p-p 正弦波的1024个测量值(偏移1V SO 在2V 和0V 之间摆动)、并记录了每个结果。
我将数据导入到 Excel 中、ADC 数据完美地重现正弦波形。
C:\ti\mspm0_sdk_1_20_01_06\examples\nortos\lp_MSPM0L1306\driverlib\adc12_max_freq_dma。
ADC 的时钟频率为32MHz、采样时间为250ns。 查看数据表、12位转换实际上需要14个时钟(用于 SYNC)。
(1/687ns 32MHz * 14)+250ns = 437ns + 250ns = 687ns -> 1/687ns = 1.45个样本/秒。
您好、Dennis、
我已将 SDK 更新为 mspm0_SDK_1_20_01_06、现在 ADC + DMA 以400k 个样本/秒的速度运行。 我不知道问题是否与旧的 SDK 或工程设置相关、但现在它可以正常工作。
感谢您的支持