有關(guān)單片機(jī)D/A 轉(zhuǎn)換器接口概念總結(jié)
D/A 轉(zhuǎn)換器接口
1.D/A 轉(zhuǎn)換器的性能指標(biāo)
D/A 轉(zhuǎn)換器的輸入為數(shù)字量,經(jīng)轉(zhuǎn)換后輸出為模擬量。有關(guān) D/A 轉(zhuǎn)換器的技術(shù)性能指標(biāo)很多,如絕對(duì)精度、相對(duì)精度、線性度、輸出電壓范圍、輸入數(shù)字代碼種類等等。本節(jié)僅對(duì)幾個(gè)與接口有關(guān)的指標(biāo)作一簡(jiǎn)介。
(1) 分辨率。分辨率是 D/A 轉(zhuǎn)換器對(duì)輸入量變化敏感程度的描述,與輸入數(shù)字量的位數(shù)有關(guān)。如果數(shù)字量的位數(shù)為 n,則 D/A 轉(zhuǎn)換器的分辨率為 2-n 。
(2) 建立時(shí)間。建立時(shí)間是描述 D/A 轉(zhuǎn)換速度的一個(gè)參數(shù),具體是指從輸入數(shù)字量變化到輸出達(dá)到終值誤差±1/2LSB(最低有效位)時(shí)所需的時(shí)間。通常以建立時(shí)間來表明轉(zhuǎn)換速度。
(3) 接口形式。D/A 轉(zhuǎn)換器有兩類:一類不帶鎖存器,另一類則帶鎖存器。對(duì)于不帶鎖存器的 D/A 轉(zhuǎn)換器,為保存單片機(jī)的轉(zhuǎn)換數(shù)據(jù),在接口處要加鎖存器。
2.典型 D/A 轉(zhuǎn)換器 DAC0832 簡(jiǎn)介
DAC0832 是 8 位電流輸出型 D/A 轉(zhuǎn)換器,單電源供電,在+5~+15V 范圍內(nèi)均可工作?;鶞?zhǔn)電壓的范圍為 ±10 V , 電流建立時(shí)間為 1 μs ,CMOS 工藝,低功耗 20 mW 。 DAC0832 的內(nèi)部結(jié)構(gòu)如圖 7.37 所示。
圖 7.37 DAC0832 內(nèi)部結(jié)構(gòu)框圖
該轉(zhuǎn)換器由輸入寄存器和 DAC 寄存器構(gòu)成兩級(jí)數(shù)據(jù)輸入鎖存。使用時(shí),數(shù)據(jù)輸入可以采用兩級(jí)鎖存(雙緩沖) 形式,單級(jí)鎖存(單緩沖) 形式,也可采用直接輸入(直通) 形式。
由 3 個(gè)與門電路組成寄存器輸出控制電路,可直接進(jìn)行數(shù)據(jù)鎖存控制:當(dāng) LE=0 時(shí),輸入數(shù)據(jù)被鎖存;當(dāng) LE=1 時(shí),數(shù)據(jù)不鎖存,鎖存器的輸出跟隨輸入變化。
DAC0832 為電流輸出形式,其兩個(gè)輸出端的關(guān)系為 IOUT1 +IOUT2=常數(shù)。
為了得到電壓輸出,可在電流輸出端接一個(gè)運(yùn)算放大器,如圖 7.38 所示。需要指出的是,DAC0832 內(nèi)部已有反饋電阻,其阻值為 15kΩ。
DAC0832 轉(zhuǎn)換器芯片為 20 腳雙列直插式封裝,其引腳排列如圖 7.39 所示。
各引腳的功能如下:
DI7 ~DI0 :轉(zhuǎn)換數(shù)據(jù)輸入端。
CS:片選信號(hào),輸入,低電平有效。
ILE :數(shù)據(jù)鎖存允許信號(hào),輸入,高電平有效。
WR1 、WR2:寫信號(hào) 1 和 2 ,輸入,低電平有效。
圖 7.39 DAC0832 的引腳圖
XFER:數(shù)據(jù)傳輸控制信號(hào),輸入,低電平有效。
IOUT :電流輸出 1 ,當(dāng) DAC寄存器中各位全為“1”時(shí) ,電流最大;為全“0”時(shí) ,電流為 0 。
IOUT :電流輸出 2 ,電路中保證 IOUT1 +IOUT2=常數(shù)。
Rfb :反饋電阻端,片內(nèi)集成電阻為 15kΩ。
VREF :參考電壓,可正可負(fù),范圍為-10~+10V 。
DGND:數(shù)字量地。
AGND:模擬量地。
3.DAC0832 與 MCS 51 的接口及應(yīng)用
DAC0832 與 8031 有兩種基本的接口方式:?jiǎn)尉彌_方式和雙緩沖方式。
1) 單緩沖方式
單緩沖方式接口電路如圖 7.40 所示。讓 ILE 接+5V,CS和 XFER與地址選擇線P2.7 相連接。當(dāng)?shù)刂愤x擇線選通 DAC0832 后,只要輸出 WR信號(hào),DAC0832 就能一步完成數(shù)字量的輸入鎖存和 D/A 的轉(zhuǎn)換輸出。
圖 7.40 DAC0832 單緩沖方式接口電路
執(zhí)行下面的幾條指令就能完成一次 D/A 轉(zhuǎn)換:
2) 雙緩沖方式
對(duì)于多 路 D/A 轉(zhuǎn)換接口,要求同步進(jìn)行 D/A 轉(zhuǎn)換輸出時(shí) ,必須采用雙緩沖方式。 DAC0832 數(shù)字量輸入鎖存和 D/A 轉(zhuǎn)換輸出是分兩步完成 的,即 CPU 的數(shù)據(jù)總線分時(shí)輸入數(shù)字量并鎖存在各 D/A 轉(zhuǎn)換器的輸入寄存器中,然后 CPU 對(duì)所有 D/A 轉(zhuǎn)換器發(fā)出控制信號(hào),使各輸入寄存器中的數(shù)據(jù)輸入相應(yīng)的 DAC 寄存器,實(shí)現(xiàn)同步轉(zhuǎn)換輸出。
圖 7.41 是一個(gè)兩路同步輸出的 D/A 轉(zhuǎn)換接口電路。執(zhí)行下面的指令,能完成兩路 D/A的同步轉(zhuǎn)換輸出。
圖 7.41 DAC0832 雙緩沖方式接口電路
D/A 轉(zhuǎn)換器可以應(yīng)用在許多場(chǎng)合,這里介紹用 D/A 轉(zhuǎn)換器產(chǎn)生階梯波。
階梯波是在一定的時(shí)間范圍內(nèi)每隔一段時(shí)間,輸出幅度遞增一個(gè)恒定值。在 圖 7.42 中,每隔 1ms 輸出幅度增長(zhǎng)一個(gè)定值,經(jīng) 10ms 后重新循環(huán)。用 DAC0832 在單緩沖方式下就可輸出這樣的波形(接口電路見圖 7.42)。
產(chǎn)生階梯波的程序如下: