基于ARM的過采樣技術(shù)
2 過采樣滿足條件及操作步驟
對于過采樣,理論上需要信號有一定噪聲,并且必須近似白噪聲,幅度足夠大。若噪聲信號不能滿足前面講述的理論要求,就需要引入噪聲激勵。因此,選用周期性噪聲作為激勵信號。同時對激勵噪聲有一定要求:激勵噪聲幅度≥1 LSB;噪聲均值在添加激勵噪聲時必須是0.
在理解過采樣理論及需要滿足的條件后,出于對具體應(yīng)用的考慮,設(shè)計了過采樣的操作步驟,概括如下:
?。?)判斷被采樣信號是否有噪聲,如果沒有噪聲,則疊加周期性激勵噪聲。
?。?)對信號進(jìn)行4n次過采樣(n為希望增加的分辨率位數(shù))。如果使用片內(nèi)10位ADC,希望得到14位的ADC精度,則需要44即256次10位的過采樣。
(3)抽取數(shù)字序列,對各個采樣值進(jìn)行累加。
?。?)對累加后的采樣數(shù)據(jù),若提高n位精度則右移n位,最終得到過采樣值。
3 LM3S8962實現(xiàn)ADC過采樣
3.1 Cortex-M3內(nèi)核特點介紹
?。?)采用ARMv7M架構(gòu),在ARMv4T架構(gòu)基礎(chǔ)上擴(kuò)展了36條指令。
(2)基于哈佛結(jié)構(gòu),數(shù)據(jù)與指令可同時從存儲器讀取,并行執(zhí)行多個操作,加快程序執(zhí)行速度。與ARM7TDMI-S相比,比ARM指令每兆赫效率提高了35%,比Thumh指令效率提高了70%.
(3)帶有多種睡眠和喚醒模式,實現(xiàn)產(chǎn)品的低功耗。
?。?)單周期乘法、乘-加、硬件除法指令,實現(xiàn)快速運算。
(5)低延遲中斷處理:支持8層硬件中斷嵌套,末尾連鎖功能,高優(yōu)先級中斷遲來處理。
3.2 過采樣的軟件實現(xiàn)
(1)外設(shè)初始化。
在軟件實現(xiàn)過采樣之前,必然要對各個模塊進(jìn)行初始化和配置。初始化定時器、ADC、UART等模塊,定時器模塊用來提供系統(tǒng)時鐘周期,配置ADC的觸發(fā)模式和采樣速率,利用UART將測量值傳遞給PC,方便查驗是否正確。
?。?)產(chǎn)生PWM信號,作為噪聲。
為了保證過采樣原理應(yīng)用的可靠性,引入噪聲激勵信號。而為了避免激勵噪聲出現(xiàn)的誤差,使用內(nèi)部的PWM信號發(fā)生器產(chǎn)生周期性和對稱性很好的PWM波,作為激勵噪聲。產(chǎn)生噪聲步驟如圖1所示。
?。?)數(shù)據(jù)的采集、濾波及抽取。
在過采樣中所做的數(shù)字平均濾波僅提高了平滑度,精度卻并沒有增加,抽取過程才是真正意義上的提高精度。額外的K次采樣,按照常規(guī)平均那樣進(jìn)行累加,但并不是直接將結(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值。
評論