在 GD32 部分系列 MCU 中具有 ADC 的片上硬件过采样功能,硬件过采样单元执行数据预处
理以减轻 CPU 负担。它能够处理多个转换,并将多个转换的结果取平均,借此以提高 ADC 采
样结果的精度。采样结果值可根据如下公式(2-2)计算得出,其中 N 和 M 的值可以被调整,
过采样单元可以通过设置 ADC_OVSAMPCTL 寄存器的 OVSEN 位来使能,它是以降低数据
输出率为代价,换取较高的数据分辨率。D out (n)是指 ADC 输出的第 n 个数字信号:
片上硬件过采样单元执行两个功能:求和和位右移。过采样率 N 是在 ADC_OVSAMPCTL 寄
存器的 OVSR[2:0]位定义,它的取值范围为 2x 到 256x。除法系数 M 定义一个多达 8 位的右
移,它通过 ADC_OVSAMPCTL 寄存器 OVSS[3:0]位进行配置。
和标准的转换模式相比,过采样模式的转换时间不会改变:在整个过采样序列的过程中采样时
间仍然保持相等。每 N 个转换就会产生一个新的数据,一个等价的延迟为 N x t ADC = N x (t SMPL
+ t CONV )。
对于不具备片上硬件过采样单元的 MCU,软件算法上亦可采用常用的一些滤波算法来降低输
入信号采样值的波动。例如最常见的平均算法,滤波过程中需要占用CPU的算力与一定的RAM
空间。这种平均算法适用于输入信号变化慢,偶有脉冲型干扰的情形。如果信号变化频率已经
大于这个平均滤波算法的执行频率,则会丢失信号变化的细节,平均后的采样结果不能重现信
号的所有信息。
|