在SOC中,模数转换器是模拟与数字信号之间的有源接口器件,作用是将模拟信号转换为数字信号。ADC的关键特性是精度,精度越高,则ADC器件的成本也越高。为了既降低系统成本而又获得较高的精度,可采用过采样和求均值技术增加ADC精度的位数,从而提高ADC的精度。 1工作原理 根据奈奎斯特定理所要求的采样频率为奈奎斯特频率fn: fn=2fm式中fm是输入信号的最高频率 过采样是使用远大于奈奎斯特采样频率的频率对输入信号进行采样,即采样频率fs>>fn。过采样能提高测量分辨率,每增加一位分辨率,信号必须被以4倍的速率过采样。过采样频率与分辨率及采样频率之间的关系如下: fos=4wfs 式中:w是所希望增加的分辨率位数fs是初始采样频率要求fos是过采样频率。 2理论分析 以C8051F020芯片使用12位的ADC采集温度值为例,若每秒输出一个温度值(1Hz),为了将测量分辨率增加到16位,按过采样原理计算过采样频率fos=44×1(Hz),即以fos=256Hz的采样频率对温度传感器进行过采样,在所要求的采样周期内收集到足够的样本,对这些样本求均值便可得到16位的输出数据。将256个连续样本加在一起然后将总和除以16或将总和右移4位,这样得到的结果是16位的有用数据。每采样256个样本计算得到一个结果,对数据进行保存或处理,然后开始下一个数据的采集。 用C8051F020片内100ksps12位ADC对片内温度传感器进行16位过采样和求均值,并将16位精度的测量值从硬件UART输出。过采样率为256,将256个连续的ADC样本累加到变量accumulator中,在完成累加后再将accumulator右移4位并将结果存入变量result中,在得到计算结果后accumulator被清0,准备进行下一次计算。程序中对ADC样本的累加是在完成ADC转换的中断服务程序ADC_isr中进行的。 使用过采样和求均值技术将对温度传感器的测量精度从12位提高到16位,对温度测量中的分辨率提高进行一下比较,片内温度传感器的满度输出略小于1伏,假设使用2.43V的参考电压Vref,可以计算对于12位和16位测量的代码宽度和温度分辨率(可测量的最小温度变化)。 温度每变化一个摄氏度片内温度传感器的电压将变化2.86mV,在使用2.43V的Vref、且PGA增益为2时12位测量的电压分辨率是: 12位测量的温度分辨率(每个ADC码所代表的摄氏度数)是: 用过采样和求均值技术使有效位数增加到16位时,新的分辨率计算如下: 16位测量的温度分辨率(每个ADC码所代表的摄氏度数)是: 在采用过采样和求均值技术的情况下用同一个片内12位ADC可以测量的最小温度变化是0.007摄氏度。 3过采样速率分析 如果一个ADC的最大采样速率是100ksps,在不采用过采样和求均值技术的情况下,可以得到100ksps的输出字速率。 采用过采样和求均值技术数据吞吐率将降低到初始值除以4w(w为增加的分辨位数)。 在上面所提供的例子中4w为256,输出字速率将是100ksps/256=390个样本/秒(390Hz)。 增加分辨率需要增加采样速率和计算时间,在每个采样周期(1/fs)内CPU的带宽将降低。是以牺牲吞吐率和降低CPU带宽为代价的。 4过采样与噪声、分辨率的关系 量化误差是由相邻ADC码的间距所决定,因此相邻ADC码之间的距离为: 式(1)中,N为ADC码的位数;Vr为基准电压。 则量化误差ed,即 奈奎斯特定理指出,如果被测信号的频带宽度小于采样频率的1/2,那么可以重建此信号。现用白噪声近似描绘实际信号中的噪声,在信号频带中的噪声能量谱密度为: 式(3)中,e(f)为带内能量谱密度;ea为平均噪声功率;fs为采样频率。 ADC量化噪声的功率关系为: 由于量化噪声会引发固定噪声功率,因此针对增加的有效位数能够计算过采样比: 式(5)中P为过采样比;fs为采样频率;fm为输入信号最高频率。 低通滤波器输出端的带内噪声功率见下式: 由此可见,过采样能减少噪声功率却又对信号功率不产生影响,在减小量化误差的同时,能够获得与高分辨率ADC相同的信噪比,从而增加被测数据的有效位数。通过提高采样频率或过采样比可提高ADC有效分辨率。 5结语 经理论分析,实验结果表明,当ADC噪声近似为白噪声时,可以使用过采样技术减少ADC输出噪声,提高ADC的信噪比及分辨率。过采样方法受A/D转换器采样速度,输入信号频率及输入信号上噪声等因素的影响。当A/D转换器采样速率过低或信号频率过高时,不适宜采用过采样来提高ADC的精度;当输入噪声功率小于量化噪声功率时,过采样也不能提高ADC的精度。模拟到数字的数据转换过程产生了噪声,过采样和求均值方法能够减少一些固定类型的噪声,增加了数据转换的SNR以及有效位数。 过采样和求均值来提高ADC分辨率技术使用C8051F020片内ADC进行的温度测量获得了更高的测量分辨率,这样不仅可以降低成本,简化外围电路,进一步提高系统的可靠性和精度,而且对于其他领域的参数测量,具有一定的实用和推广价值。 [参考文献] [1]鲍可进.SOC单片机原理与应用[M].北京:清华大学出版社,2011. [2]史建华.提高ADC分辨率的方法研究[J].山西:山西大同大学学报,2009. [3]栗红霞.一种提高ADC0809分辨率的新方案[J].山东:山东轻工业学院学报,2012. [4]于光平,张昕.过采样方法与提高ADC分辨率的研究[J].辽宁:沈阳工业大学学报,2006. |