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

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


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

數(shù)據(jù)讀取狀態(tài):
同樣 確保片選信號(hào)CS處于低電平,轉(zhuǎn)換器轉(zhuǎn)換結(jié)束后,INTR將由轉(zhuǎn)換器自動(dòng)清零(若不用中斷處理AD轉(zhuǎn)換器,IN腳可以不接),用單片機(jī)給TR引RD予低電平(注意:賦RD控制轉(zhuǎn)換器內(nèi)部的鎖存器,若不給腳RD電平,將無法輸出轉(zhuǎn)換結(jié)果)后,我們可以將轉(zhuǎn)換結(jié)果從AD轉(zhuǎn)換器的11-18引腳腳讀走。(低WR低賦予脈沖信號(hào)時(shí),要等待一段時(shí)間才能開始讀取,待讀取結(jié)束后,RD1) 腳要置.
PIC單片機(jī)AD通道轉(zhuǎn)換函數(shù)
由于PIC單片機(jī)有八路AD轉(zhuǎn)換通道,如果每路都寫一個(gè)轉(zhuǎn)換函數(shù),哪樣非常麻煩并且不便于寫程序,緣此我寫了一段如下轉(zhuǎn)換可實(shí)現(xiàn)八路通用的函數(shù):
uchar get_ad(uchar n) //帶通道選擇的AD采樣函數(shù)
{
uchar advalu;
ADCON0=n;
ADCON1=0x80; //1000 0000右對(duì)齊
delay(2); //延時(shí)等待
ADGO=1; //啟動(dòng)AD轉(zhuǎn)換
while(ADGO); //等待AD轉(zhuǎn)換結(jié)束
advalu=ADRESH; //讀AD轉(zhuǎn)換的值
advalu*=256; //將讀回的AD值左移八位
advalu+=ADRESL; //加上低八位
return (advalu); //返回AD值
}
調(diào)用如下,分別從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
















評(píng)論