摘 要:模數(shù)轉(zhuǎn)換的分辨率與器件的數(shù)字位數(shù)有關(guān),位數(shù)越多分辨率越高,分辨率越高器件的成本也越高。C8051F020的片內(nèi)ADC是12位的,為了既降低系統(tǒng)成本又獲得較高的分辨率,介紹了過(guò)采樣和求均值方法的實(shí)現(xiàn)原理。該方法有效提高轉(zhuǎn)換的分辨率和信噪比,但增加CPU處理時(shí)間并降低了數(shù)據(jù)吞吐率。
關(guān)鍵詞:ADC;過(guò)采樣;C8051F020;分辨率
在SOC中,模數(shù)轉(zhuǎn)換器是模擬與數(shù)字信號(hào)之間的有源接口器件,作用是將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。ADC的關(guān)鍵特性是精度,精度越高,則ADC器件的成本也越高。為了既降低系統(tǒng)成本而又獲得較高的精度,可采用過(guò)采樣和求均值技術(shù)增加ADC精度的位數(shù),從而提高ADC的精度。
1 工作原理
根據(jù)奈奎斯特定理所要求的采樣頻率為奈奎斯特頻率fn:
fn=2fm 式中fm是輸入信號(hào)的最高頻率
過(guò)采樣是使用遠(yuǎn)大于奈奎斯特采樣頻率的頻率對(duì)輸入信號(hào)進(jìn)行采樣,即采樣頻率fs>>fn。過(guò)采樣能提高測(cè)量分辨率,每增加一位分辨率,信號(hào)必須被以4倍的速率過(guò)采樣。過(guò)采樣頻率與分辨率及采樣頻率之間的關(guān)系如下:
fos=4wfs
式中:w是所希望增加的分辨率位數(shù)fs是初始采樣頻率要求fos是過(guò)采樣頻率。
2 理論分析
以C8051F020芯片使用12位的ADC采集溫度值為例,若每秒輸出一個(gè)溫度值(1Hz),為了將測(cè)量分辨率增加到16位,按過(guò)采樣原理計(jì)算過(guò)采樣頻率fos=44×1(Hz),即以fos=256Hz的采樣頻率對(duì)溫度傳感器進(jìn)行過(guò)采樣,在所要求的采樣周期內(nèi)收集到足夠的樣本,對(duì)這些樣本求均值便可得到16位的輸出數(shù)據(jù)。 將256個(gè)連續(xù)樣本加在一起然后將總和除以16或?qū)⒖偤陀乙?位,這樣得到的結(jié)果是16位的有用數(shù)據(jù)。每采樣256個(gè)樣本計(jì)算得到一個(gè)結(jié)果,對(duì)數(shù)據(jù)進(jìn)行保存或處理,然后開(kāi)始下一個(gè)數(shù)據(jù)的采集。
用C8051F020片內(nèi)100ksps12位ADC對(duì)片內(nèi)溫度傳感器進(jìn)行16位過(guò)采樣和求均值,并將16位精度的測(cè)量值從硬件UART輸出。過(guò)采樣率為256,將256個(gè)連續(xù)的ADC樣本累加到變量accumulator中,在完成累加后再將accumulator右移4位并將結(jié)果存入變量result中,在得到計(jì)算結(jié)果后accumulator被清0,準(zhǔn)備進(jìn)行下一次計(jì)算。程序中對(duì)ADC樣本的累加是在完成ADC轉(zhuǎn)換的中斷服務(wù)程序ADC_isr中進(jìn)行的。
使用過(guò)采樣和求均值技術(shù)將對(duì)溫度傳感器的測(cè)量精度從12位提高到16位,對(duì)溫度測(cè)量中的分辨率提高進(jìn)行一下比較,片內(nèi)溫度傳感器的滿度輸出略小于1伏,假設(shè)使用2.43V的參考電壓Vref,可以計(jì)算對(duì)于12位和16位測(cè)量的代碼寬度和溫度分辨率(可測(cè)量的最小溫度變化)。
溫度每變化一個(gè)攝氏度片內(nèi)溫度傳感器的電壓將變化2.86mV,在使用2.43V的Vref、且PGA增益為2時(shí)12位測(cè)量的電壓分辨率是:
12位測(cè)量的溫度分辨率(每個(gè)ADC碼所代表的攝氏度數(shù))是:
用過(guò)采樣和求均值技術(shù)使有效位數(shù)增加到16位時(shí),新的分辨率計(jì)算如下:
16位測(cè)量的溫度分辨率(每個(gè)ADC碼所代表的攝氏度數(shù))是:
在采用過(guò)采樣和求均值技術(shù)的情況下用同一個(gè)片內(nèi)12位ADC可以測(cè)量的最小溫度變化是0.007攝氏度。
3 過(guò)采樣速率分析
如果一個(gè)ADC的最大采樣速率是100ksps,在不采用過(guò)采樣和求均值技術(shù)的情況下,可以得到100ksps的輸出字速率。
采用過(guò)采樣和求均值技術(shù)數(shù)據(jù)吞吐率將降低到初始值除以4w(w為增加的分辨位數(shù))。
在上面所提供的例子中4w為256,輸出字速率將是100ksps/256=390個(gè)樣本/秒(390Hz)。
增加分辨率需要增加采樣速率和計(jì)算時(shí)間,在每個(gè)采樣周期(1/fs)內(nèi)CPU的帶寬將降低。是以犧牲吞吐率和降低CPU帶寬為代價(jià)的。
4 過(guò)采樣與噪聲、分辨率的關(guān)系
量化誤差是由相鄰ADC碼的間距所決定,因此相鄰ADC碼之間的距離為:
式(1)中,N為ADC碼的位數(shù);Vr為基準(zhǔn)電壓。
則量化誤差ed,即
奈奎斯特定理指出,如果被測(cè)信號(hào)的頻帶寬度小于采樣頻率的1/2,那么可以重建此信號(hào)?,F(xiàn)用白噪聲近似描繪實(shí)際信號(hào)中的噪聲,在信號(hào)頻帶中的噪聲能量譜密度為:
式(3)中,e(f)為帶內(nèi)能量譜密度;ea為平均噪聲功率;fs為采樣頻率。
ADC量化噪聲的功率關(guān)系為:
由于量化噪聲會(huì)引發(fā)固定噪聲功率,因此針對(duì)增加的有效位數(shù)能夠計(jì)算過(guò)采樣比:
式(5)中P為過(guò)采樣比;fs為采樣頻率;fm為輸入信號(hào)最高頻率。
低通濾波器輸出端的帶內(nèi)噪聲功率見(jiàn)下式:
由此可見(jiàn),過(guò)采樣能減少噪聲功率卻又對(duì)信號(hào)功率不產(chǎn)生影響,在減小量化誤差的同時(shí),能夠獲得與高分辨率ADC相同的信噪比,從而增加被測(cè)數(shù)據(jù)的有效位數(shù)。通過(guò)提高采樣頻率或過(guò)采樣比可提高ADC有效分辨率。
5 結(jié)語(yǔ)
經(jīng)理論分析,實(shí)驗(yàn)結(jié)果表明,當(dāng)ADC噪聲近似為白噪聲時(shí),可以使用過(guò)采樣技術(shù)減少ADC輸出噪聲,提高ADC的信噪比及分辨率。過(guò)采樣方法受A/D轉(zhuǎn)換器采樣速度,輸入信號(hào)頻率及輸入信號(hào)上噪聲等因素的影響。當(dāng)A/D轉(zhuǎn)換器采樣速率過(guò)低或信號(hào)頻率過(guò)高時(shí),不適宜采用過(guò)采樣來(lái)提高ADC的精度;當(dāng)輸入噪聲功率小于量化噪聲功率時(shí),過(guò)采樣也不能提高ADC的精度。模擬到數(shù)字的數(shù)據(jù)轉(zhuǎn)換過(guò)程產(chǎn)生了噪聲,過(guò)采樣和求均值方法能夠減少一些固定類型的噪聲,增加了數(shù)據(jù)轉(zhuǎn)換的SNR以及有效位數(shù)。
過(guò)采樣和求均值來(lái)提高ADC分辨率技術(shù)使用C8051F020片內(nèi)ADC進(jìn)行的溫度測(cè)量獲得了更高的測(cè)量分辨率,這樣不僅可以降低成本,簡(jiǎn)化外圍電路,進(jìn)一步提高系統(tǒng)的可靠性和精度,而且對(duì)于其他領(lǐng)域的參數(shù)測(cè)量,具有一定的實(shí)用和推廣價(jià)值。
[參考文獻(xiàn)]
[1]鮑可進(jìn).SOC單片機(jī)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2011.
[2]史建華.提高ADC分辨率的方法研究[J].山西:山西大同大學(xué)學(xué)報(bào),2009.
[3]栗紅霞.一種提高ADC0809分辨率的新方案[J].山東:山東輕工業(yè)學(xué)院學(xué)報(bào),2012.
[4]于光平,張昕.過(guò)采樣方法與提高ADC分辨率的研究[J].遼寧:沈陽(yáng)工業(yè)大學(xué)學(xué)報(bào),2006.