這一篇介紹D/A轉(zhuǎn)換原理以及在TX-1C上的接線方式(實現(xiàn)方法),再用一個例子來加深理解。
D/A轉(zhuǎn)換原理及參數(shù)指標
1.基本原理
數(shù)字量是二進制代碼數(shù)位組合而來的,每位都有一定的權(quán)重,在D/A轉(zhuǎn)換中,怎么樣把這些權(quán)重以合適的方法表示出來是轉(zhuǎn)換的關(guān)鍵。
為了讓數(shù)字量轉(zhuǎn)換成模擬量,必須將每一位代碼按其權(quán)重的大小轉(zhuǎn)換為相應(yīng)的模擬量,然后再把這些模擬量相加。D/A轉(zhuǎn)換的示意圖如下:

即輸入相應(yīng)的二進制數(shù),得出一個模擬量的輸出,而作為一個三位的轉(zhuǎn)換,模擬量與數(shù)字量的對應(yīng)關(guān)系可以用下圖來表示。在右圖中D分別對應(yīng)了相應(yīng)的V0 。
?

下面介紹集中D/A轉(zhuǎn)換器,他們思路大致相同,常用的分別有這幾類:
1.權(quán)電阻D/A轉(zhuǎn)換
如果一個n位二進制數(shù)用D n = d n ? 1 d n ? 2 d n ? 3 … d 1 d 0 來表示,那它從高位到低位的權(quán)重分別為2 n ? 1 ,2 n ? 2 … 如果可以通過電阻阻值的不同來對各支路進行處理最后加和,應(yīng)該是可以達到預(yù)期效果的。下來展示一個4位的權(quán)網(wǎng)絡(luò)轉(zhuǎn)換電路。

這其中d i 的值可以為0或1,表示開關(guān)的打開與閉合,之后通過一個求和放大器輸出相應(yīng)的模擬量。
因為是反相放大器,故推導(dǎo)過程如下:

從推導(dǎo)過程可發(fā)現(xiàn)當(dāng)VREF為正電壓時最后導(dǎo)出的結(jié)果為負值。故在運用中向VREF導(dǎo)入負值就可。
這個電路的問題是電阻的值之間相差可能過大,可能會引起誤差,另外開關(guān)應(yīng)該也是有阻值的,也會帶來分壓的問題。下面是基于此問題的改進版電路
2.倒T形電阻D/A
這里只用了兩種電阻R/2R,但通過并聯(lián)分流同樣實現(xiàn)了電流的加和。

且此電路中的2R電阻均接地或虛地,這樣做的的好處是流經(jīng)2R電阻的電流與開關(guān)位置無關(guān),是一個確定的值。通過進一步推導(dǎo)可得:

注意也要對模擬開關(guān)導(dǎo)通電阻的阻值做限制,不然會出現(xiàn)電流不準確的情況。
3.權(quán)電流D/A(利用電流源)
倒T型D/A中一旦開關(guān)或電阻的阻值沒有保持二倍關(guān)系,電流關(guān)系就會隨之變化,不太穩(wěn)定。采取進一步的改進方案。
采用恒流源就可以避免電阻阻值對電路的影響。

相應(yīng)分析如下,可發(fā)現(xiàn)輸出量是正比于輸入的數(shù)字量的。

4.雙極性輸出D/A
考慮到在實際情況中常把二進制數(shù)轉(zhuǎn)換為補碼的形式,則若把原碼輸入后對應(yīng)的數(shù)再轉(zhuǎn)換為轉(zhuǎn)化為補碼時偏移的輸出就更完善了。對應(yīng)關(guān)系如下。

且由于之前的電路只能單極輸出,不滿足現(xiàn)在的需求,可通過在運放負極加一個帶有V B ( + ) 和R的偏置電路解決。下面引出的VREF(?) 當(dāng)然是負的,這樣就能實現(xiàn)原碼轉(zhuǎn)化為補碼并雙極輸出。
電路圖如下:

D/A的參數(shù)指標與A/D相差不大,在此不作贅述。
因采取電流輸出方式,有IOUT1和IOUT2兩個輸出接口,引腳分布圖如下:

出現(xiàn)了兩個新的引腳XFER和ILE。
XFER為數(shù)據(jù)傳輸控制信號輸入端,ILE 為鎖存允許段,另外Rfb為反饋電阻端,與IOUT1端接有一電阻??纯词謨陨系慕泳€,大概清楚除了數(shù)據(jù)總線外還要把哪些端口與控制總線相連。

其內(nèi)部結(jié)構(gòu)如下圖,可看到CS和WR1相與后再和ILE相與接至鎖存器,故這個輸入鎖存器應(yīng)當(dāng)擁有三態(tài)功能,且三個接口都有效時才能傳送數(shù)據(jù)。關(guān)注DAC寄存器上的連接線,XFER 起到了控制另外一個寫入端的作用。

TX-1C實驗板上將DAC外圍電路接為直通方式(其可以雙緩沖,單緩沖或者直通),同樣的道理,我們需要研究它的接線以及操作時序圖。

操作時序圖相較于A/D的改變就是將V0換為了IOUT1,且多了ILE鎖存允許的引腳,其余相同。

現(xiàn)用一道例題來融會貫通所學(xué)知識。

分析:1.需要用sbit定義蜂鳴器,dula,wela,以及WR,CS的引腳
2.蜂鳴器的警報用高低電平控制,則發(fā)光二極管D12流程為滅→亮 →滅 兩個過程各需要2.5s
3.又說是均勻點亮/熄滅,則考慮找一個步進,定義好中間變量且將系統(tǒng)初始化后,用大循環(huán)分別對這兩種情況進行處理(滅→亮/亮→滅 )
4.對于步進n要有一個計算,之后需要delayms(2500ms/n)
具體程序如下:


電子發(fā)燒友App
































評論