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