基于ARM Cortex-M3的過采樣技術(shù)
文中在通過對過采樣技術(shù)的分析,將此技術(shù)應(yīng)用在TI公司LM3S8962片內(nèi)ADC上,在不使用昂貴片外ADC的情況下同樣獲得較高的分辨率。既節(jié)約了成本,又節(jié)省電路板空間,同時也提高了系統(tǒng)整體可靠性。
1 過采樣技術(shù)分析
1.1 過采樣原理
過采樣是對待測數(shù)據(jù)進行多次采樣,獲取樣本數(shù)據(jù),累計求和這些樣本數(shù)據(jù),并對它們均值濾波,減小噪聲后最終獲得采樣結(jié)果。過采樣在一定條件下能夠提高信噪比(SNR),同時使噪聲減弱,從而提升測量分辨率。過采樣技術(shù)將采樣頻率提高到被采樣頻率的4倍,能過濾掉高于3fb的分量,用數(shù)字濾波器過濾fb~3fb的分量,最終有用分量被完全保存下來。若采取足夠多次采樣,則能重現(xiàn)原始信號。式(1)是過采樣的頻率要求
式(1)中,F(xiàn)o為過采樣頻率;n為希望增加的分辨率位數(shù);fb為初始采樣頻率要求。
1.2 過采樣與噪聲、分辨率的關(guān)系
在提出過采樣與噪聲的對應(yīng)關(guān)系之前,對量化噪聲作一簡單描述。量化誤差是由相鄰ADC碼的間距所決定,因此相鄰ADC碼之間的距離為
式(2)中,N為ADC碼的位數(shù);Vr為基準電壓。式(3)為量化誤差ed的關(guān)系式。
奈奎斯特定理指出,如果被測信號的頻帶寬度小于采樣頻率的1/2,那么可以重建此信號?,F(xiàn)用白噪聲近似描繪實際信號中的噪聲,在信號頻帶中的噪聲能量譜密度為
式(4)中,e(f)為帶內(nèi)能量譜密度;ea為平均噪聲功率;fs為采樣頻率。
ADC量化噪聲的功率關(guān)系如式(5)所示。由于量化噪聲會引發(fā)固定噪聲功率,因此針對增加的有效位數(shù)能夠計算過采樣比
式(6)中P為過采樣比;fs為采樣頻率;fm為輸入信號最高頻率。低通濾波器輸出端的帶內(nèi)噪聲功率見式(7)。其中n2是濾波器輸出的噪聲功率
由此可見,過采樣能減少噪聲功率卻又對信號功率不產(chǎn)生影響,在減小量化誤差的同時,能夠獲得與高分辨率ADC相同的信噪比,從而增加被測數(shù)據(jù)的有效位數(shù)。通過提高采樣頻率或過采樣比可提高ADC有效分辨率。
2 過采樣滿足條件及操作步驟
對于過采樣,理論上需要信號有一定噪聲,并且必須近似白噪聲,幅度足夠大。若噪聲信號不能滿足前面講述的理論要求,就需要引入噪聲激勵。因此,選用周期性噪聲作為激勵信號。同時對激勵噪聲有一定要求:激勵噪聲幅度≥1 LSB;噪聲均值在添加激勵噪聲時必須是0。
在理解過采樣理論及需要滿足的條件后,出于對具體應(yīng)用的考慮,設(shè)計了過采樣的操作步驟,概括如下:
(1)判斷被采樣信號是否有噪聲,如果沒有噪聲,則疊加周期性激勵噪聲。
(2)對信號進行4n次過采樣(n為希望增加的分辨率位數(shù))。如果使用片內(nèi)10位ADC,希望得到14位的ADC精度,則需要44即256次10位的過采樣。
(3)抽取數(shù)字序列,對各個采樣值進行累加。
(4)對累加后的采樣數(shù)據(jù),若提高n位精度則右移n位,最終得到過采樣值。[!--empirenews.page--]
3 LM3S8962實現(xiàn)ADC過采樣
3.1 Cortex-M3內(nèi)核特點介紹
在ADC過采樣設(shè)計中,選用TI公司ARM Cortex-M3芯片,主要原因是其功能強大、高性價比的Cortex-M3內(nèi)核,使過采樣的效率與精度得到進一步提升。該內(nèi)核具有如下特性:
(1)采用ARMv7M架構(gòu),在ARMv4T架構(gòu)基礎(chǔ)上擴展了36條指令。
(2)基于哈佛結(jié)構(gòu),數(shù)據(jù)與指令可同時從存儲器讀取,并行執(zhí)行多個操作,加快程序執(zhí)行速度。與ARM7TDMI-S相比,比ARM指令每兆赫效率提高了35%,比Thumh指令效率提高了70%。
(3)帶有多種睡眠和喚醒模式,實現(xiàn)產(chǎn)品的低功耗。
(4)單周期乘法、乘-加、硬件除法指令,實現(xiàn)快速運算。
(5)低延遲中斷處理:支持8層硬件中斷嵌套,末尾連鎖功能,高優(yōu)先級中斷遲來處理。
3.2 過采樣的軟件實現(xiàn)
(1)外設(shè)初始化。
在軟件實現(xiàn)過采樣之前,必然要對各個模塊進行初始化和配置。初始化定時器、ADC、UART等模塊,定時器模塊用來提供系統(tǒng)時鐘周期,配置ADC的觸發(fā)模式和采樣速率,利用UART將測量值傳遞給PC,方便查驗是否正確。
(2)產(chǎn)生PWM信號,作為噪聲。
為了保證過采樣原理應(yīng)用的可靠性,引入噪聲激勵信號。而為了避免激勵噪聲出現(xiàn)的誤差,使用內(nèi)部的PWM信號發(fā)生器產(chǎn)生周期性和對稱性很好的PWM波,作為激勵噪聲。產(chǎn)生噪聲步驟如圖1所示。
(3)數(shù)據(jù)的采集、濾波及抽取。
在過采樣中所做的數(shù)字平均濾波僅提高了平滑度,精度卻并沒有增加,抽取過程才是真正意義上的提高精度。額外的K次采樣,按照常規(guī)平均那樣進行累加,但并不是直接將結(jié)果除以M,而是右移N位(N是期待所增加的額外精度),得到更精確的采樣結(jié)果。
過采樣算法如圖2所示。對TI的LM3S8962芯片,將10位AD值的精度提高到12位的方法,直接調(diào)用寄存器讀取函數(shù)HWREG訪問FIFO緩存區(qū),經(jīng)過兩次循環(huán),將從FIFO中收集到的16個10位轉(zhuǎn)換值相加,產(chǎn)生一個14位結(jié)果,右移2位后就得到所希望的12位AD值。[!--empirenews.page--]
4 應(yīng)用分析
轉(zhuǎn)換速率、穩(wěn)定度和分辨率是模數(shù)轉(zhuǎn)換器的衡量標準。為了能夠清楚地看到利用過采樣技術(shù)后對AD值改善的效果,采用LM3S8962芯片進行了12位ADC過采樣實驗。根據(jù)顯示的實驗數(shù)據(jù)和測量情況,給出并分析了指標的改善情況。
對于轉(zhuǎn)換速率,使用片內(nèi)定時器進行測量,在CPU為50 MHz時鐘頻率狀態(tài),ADC的采樣速度為100 kHz時,采樣連續(xù)觸發(fā)模式進行1次12位過采樣時間是52 μs,由于在數(shù)據(jù)轉(zhuǎn)換的同時還要訪問數(shù)據(jù)緩存區(qū),因此再加上64μs才是它的實際速度。
對數(shù)次采樣后獲得的值進行數(shù)字濾波,滑動平均后,得到較為穩(wěn)定的數(shù)據(jù)值,通過串口傳送過采樣后的數(shù)據(jù)結(jié)果如圖3所示。1組數(shù)據(jù)有6 bit,其中前3 bit是原來的10位采樣值,后3 bit是12位過采樣值。從圖3中能夠得知,12位過采樣分辨率的值比10位采樣值的分辨率值更穩(wěn)定。
為了驗證位數(shù)越高,采樣精度越高,做了一個13位的過采樣實驗。采樣過程中,循環(huán)8次,獲得64組AD值,并利用分段折線法校正非線性誤差,將采樣值轉(zhuǎn)換為標準電壓值。從圖4中可以看出,過采樣后的電壓值波動很小,效果尤為明顯。
5 結(jié)束語
文中從過采樣的頻譜特性出發(fā),分析了過采樣技術(shù)的基本原理。隨后采用TI公司高性價比的Cortex-M3內(nèi)核ARM,利用過采樣技術(shù)提高了測量值的分辨率。實驗結(jié)果表明,利用過采樣技術(shù)既能降低成本,又能使外圍電路得到簡化,它與Cortex-M3內(nèi)核相結(jié)合后,更能提高系統(tǒng)的運行速率、可靠性與穩(wěn)定性。這種結(jié)合方式對于檢測、監(jiān)控等領(lǐng)域起著積極作用,具有一定的推廣和實用價值。