一、dac的基本原理
將輸入數(shù)字量變換成模擬量輸出。 基本思路:將輸入的二進制數(shù)按其位權(quán)的大小先轉(zhuǎn)換成與之成正比的電流量(i),然后將該電流再轉(zhuǎn)換成模擬量電壓輸出(v),即d→i,i→v輸出。
實現(xiàn)數(shù)字量—模擬量轉(zhuǎn)換的電路框圖:
d/a轉(zhuǎn)換特性圖
三位二進制數(shù)字量輸入和模擬量輸出的關(guān)系:
圖中輸出模擬量的最小增量vlsb表示輸入數(shù)字量中最低位為“1”時的模擬電壓大小。
二、四位倒t網(wǎng)絡(luò)d/a轉(zhuǎn)換器
其特點是只有二種電阻阻值,精度可以做得很高;由于運放的反相輸入端為虛地特性,開關(guān)切換時流過支路電流不變,只是流向反相端還是流向地端,所以沒有過渡過程,轉(zhuǎn)換速很快。
由圖可知;網(wǎng)絡(luò)部分的總電阻為r,而流過參考電源vref的總電流為:,而流過每一個節(jié)點的電流依次降低一半,即流過每一個支路的電流依次為:。當輸入二進制數(shù)的某一位高電平時,對應(yīng)支路的電流流向反相端,反之流向地。因此流向反相端的電流有:
又因為:,所以輸出電壓有:
輸入為n位數(shù)字量時:
當r=rf時:
這種d/a轉(zhuǎn)換器的典型產(chǎn)品是ad7520(10位的一片d/a轉(zhuǎn)換器)
三、正負模擬量輸出的dac電路
當正負的數(shù)字量輸入時,要求有正負的模擬量出。前面我們介紹過,一個正負數(shù)可以用補碼表示。因此,一個用補碼輸入的正、負數(shù),如何轉(zhuǎn)換成正、負輸出的模擬量呢?
現(xiàn)以一個三位二進制補碼為例加以說明,3位二進制補碼可以表示為從+3到-4之間的任何一個十進制整數(shù)。
三位二進制補碼輸入時與之對應(yīng)的偏移碼和d/a轉(zhuǎn)換器輸出間的關(guān)系表:
能得到雙極性輸出電壓的電路如圖,它是將補碼輸入后,最高位求反,并設(shè)置了偏移電路來實現(xiàn)雙極型電壓輸出的。
電路說明:當輸入補碼d2d1d0=000,偏移碼=100時,使=0。因此,應(yīng)調(diào)節(jié)rb的值,使ib=imsb=vb/rb,輸出模擬電壓為0。
而在其它數(shù)字量輸入的情況下,輸出模擬量有:
,
式中的imax為偏移碼全為1時的總電流。
對n位的雙極型d/a轉(zhuǎn)換電路,則有:
輸出模擬電壓為:
四、集成d/a轉(zhuǎn)換器dac0832應(yīng)用舉例
特點:8位分辨率,與8位微機兼容,價格低,接口簡單,轉(zhuǎn)換控制容易,電路為r-2r t型電阻網(wǎng)絡(luò)結(jié)構(gòu)等。
外形和內(nèi)部電路如圖:
d7~d0是數(shù)字量輸入端,vref外接參考電壓,可正、可負。iout1和iout2是電流輸出端,接運算放大器。內(nèi)部和分別是兩個寄存器的鎖存控制端,當由1變0時, d7~d0輸入數(shù)據(jù)送入8位輸入寄存器,當由1變0時,8位輸入寄存器的數(shù)據(jù)鎖存至8位dac寄存器,并使8位dac轉(zhuǎn)換器的輸出發(fā)生相應(yīng)的變化。
dac0832與8031單片機連接電路:
其中,dac0832的輸入數(shù)字量以及轉(zhuǎn)換所需的各控制信號都來自單片機8031。
電路進行兩路d/a轉(zhuǎn)換,實現(xiàn)雙緩沖器的同步方式連接。其工作原理如下:cpu的p0口p0~p7分時向dac0832(1)和dac0832(2)送出要轉(zhuǎn)換的數(shù)字量,鎖存在各自的輸入鎖存器中,然后cpu同時向兩片dac0832發(fā)出轉(zhuǎn)換控制信號,使兩個d/a轉(zhuǎn)換器輸入寄存器中的數(shù)據(jù)打入dac寄存器,實現(xiàn)同步轉(zhuǎn)換輸出模擬量。由于該dac是電流型輸出,所以,用運放實現(xiàn)i/v轉(zhuǎn)換,輸出為模擬電壓信號。電路采用二級運放放大。如果參考電壓vref為正電壓時,第一級運放輸出0~-5v模擬電壓,而第二級輸出-5v~+5v的模擬電壓。