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 输入而不丢弃任何样本。
这是我尝试做的一般想法:
将 DMA 0从 ADC 启动到存储器块0。 当存储器块0已满时、ADC 应继续使用 DMA 1到存储器块1。 DMA 0完成时将触发中断。 DMA 1继续从 ADC 传输到存储器块1。 当存储器块1已满时、ADC DMA 应继续使用 DMA 0至存储器块0。
目前、我看到没有办法让 ADC 访问两个 DMA 以允许在 syscfg 文件中连续输入。 到底有没有 以乒乓方式使用两个 DMA 通道、以实现连续的 ADC 输入而不丢弃任何样本?
谢谢!
Sarah、您好!
我认为、如果您的采样速率不是太高、一个 DMA 就足够了。 在 DMA 正在传输时、您可以处理最后一个块。 由于另一个阻塞已满、您只需更改 DMA 目标。
如果我的理解不正确、请告诉我。
B.R.
佐伊
可以! 这很棒! 非常感谢! 我还有第二个与此类似的问题:执行12位 转换需要多少个时钟周期? 但是、对于 MSP430、数据表中却刚好显示它需要96个时钟周期、而 MSPM0数据表中没有说明它需要多少个时钟周期。 谢谢!
它取决于您 设置的采样窗口和时钟。
如果使用80MHz、则 t 将花费大约2-3 (同步)+采样窗口+ 9 (转换)+ 1 (写入 MEMRESx)时钟。