太秀了!单片机内置ADC实现高分辨率采样?

💡 原文中文,约2600字,阅读约需7分钟。
📝

内容提要

本文介绍了利用单片机内置的ADC和过采样技术提高分辨率的方法,过采样可以提高分辨率和信噪比,同时也可以提高ADC的信噪比。通过过采样和软件后处理,可以实现更高的分辨率。累加和抽取的方式可以在成本受限的情况下提高采样分辨率。

🔎

延伸解读

过采样提升分辨率的代价与权衡

文章指出,每提高W位分辨率,采样率需提高4^W倍。例如从12位提升到16位,过采样率需达到256倍。这意味着ADC需以更高频率采样,并在软件中累加和抽取。虽然无需外置高分辨率ADC,但会显著增加CPU负担和降低输出吞吐量。因此,该方法适合对实时性要求不高、但需要更高测量分辨率的成本敏感型应用。

信噪比提升的理论依据与局限

过采样通过平均量化噪声,能有效提高ADC的信噪比。文章给出理论计算:12位ADC的SNR极限约为74dB,过采样提升4位分辨率后,SNR极限可达96dB。但需注意,这是ADC本身的理论极限,实际系统信噪比还受信号链中其他环节影响。因此,过采样虽能改善SNR,但不能解决所有噪声问题。

实现过采样的编程要点与优化

文章提供了伪代码示例:在ADC中断中累加连续采样值,达到过采样因子后右移抽取,得到更高分辨率结果。关键点包括:累加变量需足够宽(如32位)防止溢出;过采样因子与右移位数需匹配。针对高过采样率下CPU占用高的问题,建议使用DMA暂存数据,再批量处理,以空间换时间,降低中断频率。

❓

Q&A

如何利用单片机内置ADC提高分辨率?

可以通过过采样技术和软件后处理来提高分辨率,过采样以高于奈奎斯特频率的采样频率对信号进行采样。

过采样对信噪比有什么影响?

过采样可以提高ADC的信噪比,理论上12位ADC的SNR极限值可从74dB提升至96dB。

过采样的基本概念是什么?

过采样是指以高于奈奎斯特频率的采样频率对信号进行采样,以提高信号的分辨率和信噪比。

如何通过软件后处理实现更高的分辨率?

通过对过采样的信号进行累加和抽取,可以实现更高的分辨率,例如将多个样本累加后平均。

在高过采样率下如何优化CPU资源消耗?

可以考虑使用DMA模式来优化数据处理,减少CPU的参与,提高效率。

每提高W位分辨率需要提高多少采样率?

每提高W位分辨率,需要将采样率提高2的W次方倍。

🏷️

标签

➡️

继续阅读