用梯度均值法提高LPC2138的A/D分辨率
現在很多微控制器內部集成了A/D芯片,但常常達不到應用的要求,于是不得不浪費內部的A/D資源,花費資金去外擴一枚精度更高的A/D芯片。本設計實現了一種提高了已有的ADC分辨率的方法,適用于已有ADC分辨率達不到要求和精度要求不是特別嚴格的情況。
1 梯度均值A/D方案
定義1 設x為實數,[x]表示不大于x的最大整數,則稱f(x)=[x]為x的取整函數。
定義2 設x為實數,x>表示對小數部分四舍五入的取整運算,則稱g(x)=x>為x的量化函數。
顯然,令V通過量化單位為q的A/D系統,恰好等價于對x=V/q的量化運算(記為D=V/g>),穩定的D輸出才有意義。為此系統總的噪聲水平應小于q/2,否則D只能穩定讀出與此相適應的前N位有效數字,其后各位將被舍棄。由于噪聲干擾是隨機的,為了降低有效q值,提高系統容量,通常采取多次測量的均值濾波法進行處理。在此基礎上提出的梯度均值A/D方案,利用了數
論中的整數特性,其結構如圖1所示。
不妨稱其中的A/D轉換部分為基本量化系統,階梯形輸入信號為Vis,其幅度值
以等梯度遞增,總幅度為1個量化單位q,其中m為正整數。該系統的輸入信號V和階梯波信號Vis依次疊加后送入基本量化系統,其量化輸出信號Di輸出到數據處理單元進行存儲、處理。以基本量化系統的2m次Di的穩定量化輸出的均值為系統輸出,那么,有梯度均值A/D方案基本定理:設基本量化系統的量化單位為q,傳遞函數為
則圖1所示A/D系統的等效量化單位為q/2m,傳遞函數為
即系統容量擴大為基本量化系統容量的2m倍。
梯度均值法與統計均值法的性能比較:
①統計均值法每次采樣必須讀出被噪聲干擾的第O.1LSB位,然而它是不穩定的;而梯度均值法每次采樣只需讀出1LSB位,該位是穩定的。因此,單次采樣所用的時間,后者比前者要短。
②利用統計均值法,欲得到穩定的0.1LSB位輸出,則噪聲水平要降為1/lO(根據σ(.x)∝1/n),需采樣100次;而梯度均值法只需采樣10次,就可達到同樣的效果。
③采用統計均值法,響應長,效率低。對于實時性要求高、需要快速響應的場合,采用梯度均值法效果更好。
2 系統設計
使用周立功公司的EasyARM2131開發板,并設計簡單的外圍電路。EasyARM2131開發板采用NXP公司基于ARM7TDMl一S核、單電源供電、LQFP64封裝的LPC2138芯片,具有JTAG仿真調試、ISP編程等功能,提供RS232接口電路、I2C存儲器電路、鍵盤、LED、蜂鳴器等常用功能部件,極大地方便了用戶進行32位ARM嵌入式系統的開發實驗。LPC2138內A/D的分辨率為10位,可以將其擴展為12位,甚至更高。
系統的原理示意圖如圖2所示,外圍電路的核心是階梯波發生器和同相加法器。
2.1 階梯波發生器
LPC2138內部的D/A轉換器是單極性的,只能生成單極性階梯波,而梯度均值法要求使用雙極性階梯波。為此采用了差動運放電路,不僅將單極性階梯波轉換為雙極性,而且進行降壓,使階梯波總電壓幅度為A/D轉換器的一個量化單位。具體電路如圖3右半部分所示。
根據運算放大器“虛短”、“虛斷”原則和疊加原理,求得
其中Rf為電位器,可以調節阻值并改變軟件設置,提高A/D系統的精度。按照設計要求,阻值分別選擇R1=R2=10 kΩ,R3=Rf=2.5kΩ,使Rf/R1=1/4。
幅度極性變換電路要用到(1/2)Vref,所以要由基準電壓源分壓得到。為了防止電壓被拉低,增加一個電壓跟隨電路,如圖3左半部分所示。其中,參數選擇R8=R9=10 kΩ,運放使用OP07。
2.2 同相加法電路
同相加法電路如圖4所示。參數選擇R4=R5=1ckΩ,R6=R7=10 kΩ,所以V1=Vin+V0,其中Vin為輸入電壓,V0為階梯波電壓,V1輸入到ARM內部處理。
外圍電路原理總圖如圖5所示。
3 系統軟件設計
軟件部分采用C語言編寫,使用ADSl.2開發環境,并移植了μC/OS―II操作系統。細節見參考文獻。
程序主要由以下幾部分組成:主程序,負責初始化操作系統和創建任務;任務1,負責初始化目標板;任務2,負責目標板與上位機的串口通信;中斷服務程序,負責采樣和計算電壓。各部分流程如圖6~圖9所示。
4 結 論
經過測試,該A/D系統測得電壓比直接測量的電壓更準確;A/D系統分辨率越高,測量的電壓越準確。由于器件和工藝等原因,本系統有一定的誤差,但基本達到設計要求,證明采用梯度均值法的A/D系統是完全可以實現的。而且如果采用更好的工藝和精密的元器件,還能提高本A/D系統的準確度。
評論