AD轉換
D轉換就是模數(shù)轉換。顧名思義,就是把模擬信號轉換成數(shù)字信號。主要包括積分型、逐次逼近型、并行比較型/串并行型、Σ-Δ調制型、電容陣列逐次比較型及壓頻變換型。
A/D轉換器是用來通過一定的電路將模擬量轉變?yōu)閿?shù)字量。模擬量可以是電壓、電流等電信號,也可以是壓力、溫度、濕度、位移、聲音等非電信號。但在A/D轉換前,輸入到A/D轉換器的輸入信號必須經(jīng)各種傳感器把各種物理量轉換成電壓信號。
AD轉換分類
1)積分型(如TLC7135)
積分型AD工作原理是將輸入電壓轉換成時間(脈沖寬度信號)或頻率(脈沖頻率),然后由定時器/計數(shù)器獲得數(shù)字值。其優(yōu)點是用簡單電路就能獲得高分辨率, 但缺點是由于轉換精度依賴于積分時間,因此轉換速率極低。初期的單片AD轉換器大多采用積分型,現(xiàn)在逐次比較型已逐步成為主流。
2)逐次比較型(如TLC0831)
逐次比較型AD由一個比較器和DA轉換器通過逐次比較邏輯構成,從MSB開始,順序地對每一位將輸入電壓與內(nèi)置DA轉換器輸出進行比較,經(jīng)n次比較而輸出 數(shù)字值。其電路規(guī)模屬于中等。其優(yōu)點是速度較高、功耗低,在低分辯率(《12位)時價格便宜,但高精度(》12位)時價格很高。
3)并行比較型/串并行比較型(如TLC5510)
并行比較型AD采用多個比較器,僅作一次比較而實行轉換,又稱FLash(快速)型。由于轉換速率極高,n位的轉換需要2n-1個比較器,因此電路規(guī)模也極大,價格也高,只適用于視頻AD轉換器等速度特別高的領域。
串并行比較型AD結構上介于并行型和逐次比較型之間,最典型的是由2個n/2位的并行型AD轉換器配合DA轉換器組成,用兩次比較實行轉換,所以稱為 Half flash(半快速)型。還有分成三步或多步實現(xiàn)AD轉換的叫做分級(Multistep/Subrangling)型AD,而從轉換時序角度 又可稱為流水線(Pipelined)型AD,現(xiàn)代的分級型AD中還加入了對多次轉換結果作數(shù)字運算而修正特性等功能。這類AD速度比逐次比較型高,電路 規(guī)模比并行型小。
4)(Sigma/FONT》delta)調制型(如AD7705)
Δ型AD由積分器、比較器、1位DA轉換器和數(shù)字濾波器等組成。原理上近似于積分型,將輸入電壓轉換成時間(脈沖寬度)信號,用數(shù)字濾波器處理后得到數(shù)字值。電路的數(shù)字部分基本上容易單片化,因此容易做到高分辨率。主要用于音頻和測量。
5)電容陣列逐次比較型
電容陣列逐次比較型AD在內(nèi)置DA轉換器中采用電容矩陣方式,也可稱為電荷再分配型。一般的電阻陣列DA轉換器中多數(shù)電阻的值必須一致,在單芯片上生成高 精度的電阻并不容易。如果用電容陣列取代電阻陣列,可以用低廉成本制成高精度單片AD轉換器。最近的逐次比較型AD轉換器大多為電容陣列式的。
6)壓頻變換型(如AD650)
壓頻變換型(Voltage-Frequency Converter)是通過間接轉換方式實現(xiàn)模數(shù)轉換的。其原理是首先將輸入的模擬信號轉換成頻率,然后用計數(shù)器將頻率轉換成數(shù)字量。從理論上講這種AD的分辨率幾乎可以無限增加,只要采樣的時間能夠滿足輸出頻率分辨率要求的累積脈沖個數(shù)的寬度。其優(yōu)點是分辯率高、功耗低、價格低,但是需要外部計數(shù)電路共同完成AD轉換。
AD轉換器功能模塊圖

逐次逼近式ADC的轉換原理
(以8位的寄存器為例)A/D轉換器片內(nèi)有D/A轉換和電壓比較器
首先向片內(nèi)D/A轉換器輸入1000 0000,若電壓比較器:VIN 》 VN (VN為片內(nèi)D/A轉換的輸出,VIN為A/D轉換器的輸入電壓),N位寄存器的首位置1 (若VIN 《 VN,則寄存器首位寫0);再向D/A轉換輸入1100 0000(首位寫0時,輸入0111 1111),若VIN 》 VN則寄存器第二位置1(若VIN 《 VN,則寫0);再向D/A轉換輸入1110 0000(或0011 1111),若VIN 》 VN則寄存器第三位置1(若小于,則寫0);依次下去直到寄存器第8位賦值結束,控制邏輯監(jiān)測到比較放大器進行8次后,EOC輸入信號,讓A/D轉換器將結果通過鎖存緩存器輸出至D0~D9。
AD0804工作原理


轉換狀態(tài):
首先確保片選信號CS處于低電平(只有CS低電平轉換器才會工作),在AD0804轉換期間,INTR處于高電平,當WR賦予一個低脈沖信號(該低脈沖時間要≧100ns,對51系列單片機而言,每條命令執(zhí)行時間即≧100ns)時,轉換器開始轉換,經(jīng)過一段時間(該時間長短與轉換器有關)的工作后,轉換結束。(注意:不工作時,WR引腳是處于高電平的,只有給予其一個低脈沖后,才開始轉換)

數(shù)據(jù)讀取狀態(tài):
同樣 確保片選信號CS處于低電平,轉換器轉換結束后,INTR將由轉換器自動清零(若不用中斷處理AD轉換器,IN腳可以不接),用單片機給TR引RD予低電平(注意:賦RD控制轉換器內(nèi)部的鎖存器,若不給腳RD電平,將無法輸出轉換結果)后,我們可以將轉換結果從AD轉換器的11-18引腳腳讀走。(低WR低賦予脈沖信號時,要等待一段時間才能開始讀取,待讀取結束后,RD1) 腳要置.
PIC單片機AD通道轉換函數(shù)
由于PIC單片機有八路AD轉換通道,如果每路都寫一個轉換函數(shù),哪樣非常麻煩并且不便于寫程序,緣此我寫了一段如下轉換可實現(xiàn)八路通用的函數(shù):
uchar get_ad(uchar n) //帶通道選擇的AD采樣函數(shù)
{
uchar advalu;
ADCON0=n;
ADCON1=0x80; //1000 0000右對齊
delay(2); //延時等待
ADGO=1; //啟動AD轉換
while(ADGO); //等待AD轉換結束
advalu=ADRESH; //讀AD轉換的值
advalu*=256; //將讀回的AD值左移八位
advalu+=ADRESL; //加上低八位
return (advalu); //返回AD值
}
調用如下,分別從0到7通道
ad0=get_ad(0xc1);
ad1=get_ad(0xc9);
ad2=get_ad(0xd1);
ad3=get_ad(0xd9);
ad4=get_ad(0xe1);
ad5=get_ad(0xe9);
ad6=get_ad(0xf1);
ad7=get_ad(0xf9);
電子發(fā)燒友App
















評論