基于ARM的過采樣技術
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內核特點介紹
(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值。
評論