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