D/A轉(zhuǎn)換器TLC5618的功能應(yīng)用
下面具體介紹采用一片可編程雙通道D/A轉(zhuǎn)換器TLC5618的一個(gè)通道實(shí)現(xiàn)D/A轉(zhuǎn)換的同時(shí),用它的另一個(gè)通道通過(guò)軟件編程以逐次比較方式來(lái)實(shí)現(xiàn)A/D轉(zhuǎn)換功能的實(shí)際應(yīng)用方法。其硬件設(shè)計(jì)如圖1所示
TLC5618是帶有緩沖基準(zhǔn)輸入(高阻抗)的雙路12位電壓輸出數(shù)字模擬轉(zhuǎn)換器(DAC),8引腳的小型D封裝,需+5V 單電源工作,其輸出電壓范圍為基準(zhǔn)電壓的兩倍,因此,電路設(shè)計(jì)采用了1.2V基準(zhǔn)電壓(如LM385)。
通過(guò)CMOS兼容的3線串行總線單片機(jī)可以對(duì)TLC5618實(shí)現(xiàn)數(shù)字控制,器件接收用于編程的16位輸入字產(chǎn)生模擬輸出。16位輸入字的高4位為編程控制位,通過(guò)對(duì)編程控制位的設(shè)定,可以有三種不同的輸出方式,低12 位為被轉(zhuǎn)換的數(shù)字量。數(shù)據(jù)從串行數(shù)據(jù)輸入端DIN按從高位到低位的順序依次輸入,單片機(jī)串行通訊可工作在操作模式0下,串行口作同步移位寄存器用或采用其它I/O口模擬串行口方式實(shí)現(xiàn)數(shù)字控制。這里值得注意的是單片機(jī)工作在操作模式0下時(shí),串行口發(fā)送或接收的是8位數(shù)據(jù),且低位在前,與TLC5618的數(shù)據(jù)接收時(shí)序相反。因此單片機(jī)應(yīng)先將數(shù)據(jù)進(jìn)行高低位交換后再進(jìn)行數(shù)據(jù)發(fā)送。
圖1 采用一片TLC5618實(shí)現(xiàn)A/D轉(zhuǎn)換和D/A轉(zhuǎn)換的應(yīng)用電路
1.D/A功能的實(shí)現(xiàn)
該功能只占用TLC5618的OUTB輸出通道,若指定建立時(shí)間為3μs,則前4位編程控制位應(yīng)為00xx。前4位編程控制位和被轉(zhuǎn)換的12位數(shù)字量組成高8位+低8位=16位的輸入字,從串行數(shù)據(jù)輸入端DIN按從高位到低位的順序依次輸入,轉(zhuǎn)換結(jié)果電壓從TLC5618 的OUTB輸出。本電路通過(guò)V-I轉(zhuǎn)換電路(見(jiàn)圖1)實(shí)現(xiàn)電壓到電流的轉(zhuǎn)換。這里不再祥述。
2.A/D功能的實(shí)現(xiàn)
在本電路中沒(méi)有單獨(dú)使用A/D轉(zhuǎn)換器,A/D轉(zhuǎn)換功能是通過(guò)雙路D/A轉(zhuǎn)換器TLC5618的另一個(gè)輸出通道OUTA,通過(guò)一級(jí)放大電路和比較電路,并通過(guò)軟件編程采用逐次比較法來(lái)實(shí)現(xiàn)的。即在雙通道D/A轉(zhuǎn)換器TLC5618的串行數(shù)據(jù)輸入端DIN逐次輸入按位依次指定的12位數(shù)字量(如x800h),并將每次輸入數(shù)字量的D/A轉(zhuǎn)換結(jié)果同實(shí)際輸入的模擬電壓進(jìn)行比較,根據(jù)比較結(jié)果來(lái)決定每次指定的位應(yīng)為0或1,當(dāng)最后一位確定后,這個(gè)按位被指定的數(shù)字量就是最終A/D轉(zhuǎn)換結(jié)果。具體原理如下:
每次A/D轉(zhuǎn)換過(guò)程中,前4位編程位一直為10xx。前4位編程位和后面12位轉(zhuǎn)換數(shù)字量構(gòu)成高8位+低8位=16位的輸入字。
每次A/D轉(zhuǎn)換前先指定12位輸入數(shù)字量(不包括4位編程位)的最高位為 1輸入TLC5618進(jìn)行D/A轉(zhuǎn)換,D/A轉(zhuǎn)換的結(jié)果從OUTA輸出后,經(jīng)過(guò)一級(jí)放大電路,通過(guò)比較電路與實(shí)際輸入的模擬電壓比較。若轉(zhuǎn)換結(jié)果電壓大于輸入的模擬電壓,則三極管T1基極為高電平,T1導(dǎo)通,P0.2被下拉為低電平;否則轉(zhuǎn)換結(jié)果電壓小于輸入的模擬電壓,則三極管T1基極為低電平,T1截止,P0.2被上拉為高電平。單片機(jī)通過(guò)檢測(cè)P0.2的狀態(tài),如果P0.2為高電平,則保留本位的1;否則P0.2為低電平,則將本位的1變?yōu)?。這樣12位數(shù)字量中的一位就被確定下來(lái),然后再指定下一位為1,再經(jīng)過(guò)D/A轉(zhuǎn)換、放大、比較,并檢測(cè)P0.2的狀態(tài),該位又被確定下來(lái)。依次類(lèi)推,直到12位數(shù)字量全被確定下來(lái),這個(gè)12位的數(shù)字量的D/A轉(zhuǎn)換結(jié)果將最接近輸入的模擬電壓,它實(shí)際就是A/D轉(zhuǎn)換的結(jié)果。注意單片機(jī)在檢測(cè)I/O比較結(jié)果狀態(tài)時(shí),應(yīng)加入約為10μs的時(shí)間延時(shí)。
另外,本電路僅具有一個(gè)模擬量輸入信號(hào),如需有多個(gè)模擬量輸入信號(hào),可不必加模擬開(kāi)關(guān),只需增加比較電路即可,多個(gè)模擬量輸入信號(hào)均可與D/A轉(zhuǎn)換器經(jīng)一級(jí)放大電路的輸出信號(hào)比較,并通過(guò)相應(yīng)的A/D轉(zhuǎn)換子程序?qū)崿F(xiàn)A/D轉(zhuǎn)換。
評(píng)論