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