印健健
(江蘇商貿(mào)職業(yè)學(xué)院,江蘇南通,226000)
計算機(jī)以及數(shù)字電路處理的信息都是數(shù)字量(Digital,簡稱D),而實(shí)際中的物理量大多數(shù)為模擬量(Analog,簡稱A),如溫度、壓力、電流、電壓等。處理這些物理量時需要將它們轉(zhuǎn)換為數(shù)字量,處理完成后得到的結(jié)果又需要從數(shù)字量轉(zhuǎn)換為模擬量。實(shí)現(xiàn)將模擬量轉(zhuǎn)換為數(shù)字量的器件稱為模數(shù)轉(zhuǎn)換器,簡稱ADC,實(shí)現(xiàn)將數(shù)字量轉(zhuǎn)換為模擬量的器件稱為數(shù)模轉(zhuǎn)換器,簡稱DAC。A/D轉(zhuǎn)換和D/A轉(zhuǎn)換是一個數(shù)字控制系統(tǒng)不可缺少的部分(見圖1)。D/A轉(zhuǎn)換器件的種類非常多,本文介紹的是一種常見的DAC0832數(shù)/模轉(zhuǎn)換器。
圖1 數(shù)字控制系統(tǒng)
D/A轉(zhuǎn)換器就是將輸入的數(shù)字量轉(zhuǎn)換為模擬量輸出,如圖2所示,如果輸出模擬量為正電壓,則D/A轉(zhuǎn)換器的輸入二進(jìn)制數(shù)與輸出電壓的對應(yīng)關(guān)系為:u0=Uref xn/2N,式中:Uref為參考電壓,即轉(zhuǎn)換器輸出的最高電壓,N為輸入數(shù)字二進(jìn)制的位數(shù),n為實(shí)際輸入的二進(jìn)制數(shù)轉(zhuǎn)化成的十進(jìn)制數(shù)。例如某D/A轉(zhuǎn)換器將3位二進(jìn)制數(shù)轉(zhuǎn)換為0~10V電壓,其轉(zhuǎn)換關(guān)系如表1所示。
圖2 D/A轉(zhuǎn)換器基本工作原理
表1 三位二進(jìn)制數(shù)轉(zhuǎn)換為0~10V電壓
由表1可知,D/A轉(zhuǎn)換器輸出的模擬量不可能是連續(xù)的,它只有2N個取值,N越大(輸入二進(jìn)制數(shù)的位數(shù)就越多),取值就越多,每二個值之間的差別就越小,D/A轉(zhuǎn)換器的分辨率就越強(qiáng),分辨率是指最小輸出電壓與最大輸出電壓之比,計算公式為:分辨率=[Uref x 1/2N]/[Uref x(2N-1)/2N]=1/(2N-1),如3位D/A轉(zhuǎn)換器的分辨率為:1/(2N-1)=1/(23-1)=1/7=0.143;8位D/A轉(zhuǎn)換器的分辨率為:1/(2N-1)=1/(28-1)=1/255=0.004。對于實(shí)際使用的器件人們常常用輸入二進(jìn)制數(shù)的位數(shù)表示D/A轉(zhuǎn)換器的分辨率,常用的有8位D/A轉(zhuǎn)換器、10位D/A轉(zhuǎn)換器、12位D/A轉(zhuǎn)換器。
DAC0832(見圖3、圖4)為電流輸出,但一般電路要求輸出是電壓,所以還必須經(jīng)過一個外接的運(yùn)算放大器轉(zhuǎn)換成電壓,圖中使用了最常見的運(yùn)算放大器LM324。由于輸出電壓為負(fù)電壓,運(yùn)算放大器LM324需要使用雙電源。DAC0832的使能端全部接為有效狀態(tài),這樣輸入端的輸入數(shù)據(jù)直接送到D/A轉(zhuǎn)換器轉(zhuǎn)換。為了簡化電路,參考電壓直接使用電源電壓。因輸出的是負(fù)壓,所以輸出電壓的計算方法:u0=-Uref xn/2N,圖3、圖4中實(shí)際輸入的二進(jìn)制數(shù)為10000000,轉(zhuǎn)化成十進(jìn)制數(shù)則為128,代入公式則:u0=-Uref xn/2N=-10Vx128/28=-5V,實(shí)際仿真結(jié)果為-4.99V,與理論計算結(jié)果幾乎相等,誤差僅-0.01V(見圖4)。
圖3 DAC0832數(shù)/模轉(zhuǎn)換原理圖
圖4 DAC0832數(shù)/模轉(zhuǎn)換仿真原理圖
DAC0832引腳功能見圖3、圖4,13、14、15、16、4、5、6、7腳〖D17~D10(D7~D0)〗:數(shù)字信號輸入端;19腳(ILE):輸入寄存器允許,高電平有效;1腳CS:片選信號,低電平有效;2腳WR1:寫信號1,低電平有效;17腳XEFR:傳送控制信號,低電平有效;18腳WR2:寫信號2,低電平有效;11、12腳IOUT1、IOUT2:DAC電流輸出端;9腳RFB:集成在片內(nèi)的外接運(yùn)放的反饋電阻;8腳Vref:基準(zhǔn)電壓(-10~+10V);20腳Vcc:電源電壓(+5~+15V);10腳GND:數(shù)字地;3腳GND:模擬地。
使用計數(shù)器和D/A轉(zhuǎn)換器產(chǎn)生鋸齒波(見圖5、圖6、圖7),計數(shù)器從00000000加計數(shù)到11111111輸出電壓從0→-10V逐漸降低,計數(shù)器從11111111回到00000000,輸出電壓直接回0。如圖7所示,鋸齒波的斜邊實(shí)際上是由2N=28=256級小臺階組成,但由于每一臺級很小,所以近似于一條平滑的斜線。圖6為鋸齒波發(fā)生器的仿真原理圖,圖中時鐘脈沖U6(CLK)是軟件自帶的時鐘脈沖,特別強(qiáng)調(diào)的是時鐘脈沖的頻率要設(shè)置為200Hz左右才能正常顯示波形,如果是1Hz的時鐘脈沖是不能顯示正常波形的。兩片74LS191組成8位二進(jìn)制加法計數(shù)器,產(chǎn)生00000000~11111111共256個數(shù)據(jù)序列。DAC0832與LM324組成D/A轉(zhuǎn)換器,LM324的1腳輸出鋸齒波。如果使用單片機(jī)對DAC輸入端數(shù)據(jù)進(jìn)行控制,那么在LM324的1腳輸出任意形狀的鋸齒波形,這就是函數(shù)信號發(fā)生器的基本工作原理。
圖5 鋸齒波發(fā)生器方框圖
圖6 DAC0832+74LS191鋸齒波發(fā)生器仿真電路
本文D/A轉(zhuǎn)換器由于輸出的電壓為負(fù)電壓,所以運(yùn)算放大器LM324需要使用雙電源,讀者如果想要輸出正電壓及使用單電源,請參考相關(guān)資料,不妨一試。輸出正電壓的計算公式和輸出負(fù)電壓的計算公式唯一的不同是前面去掉負(fù)號,即u0=Uref xn/2N。