可編程雙路12位D/A轉(zhuǎn)換器在工業(yè)儀表中的應(yīng)用
引言
隨著工業(yè)自動化程度的不斷提高,在工業(yè)中使用的儀表日趨智能化、多功能化、小型化,其硬件電路設(shè)計大多采用單片機微處理器為核心,再配以外圍電路構(gòu)成。由于部分儀表需要把現(xiàn)場的模擬信號轉(zhuǎn)換成單片機能夠處理的數(shù)字信號輸入,再把單片機經(jīng)數(shù)據(jù)處理后得到的數(shù)字信號轉(zhuǎn)換成模擬信號輸出,因此,這些儀表的硬件電路設(shè)計需要同時具有模數(shù)(A/D)轉(zhuǎn)換和數(shù)模(D/A)轉(zhuǎn)換兩種功能。
在同時需要D/A和A/D轉(zhuǎn)換功能的儀表中,可以用一片A/D轉(zhuǎn)換器和一片D/A轉(zhuǎn)換器來分別實現(xiàn)A/D和D/A轉(zhuǎn)換功能,但由于A/D和D/A轉(zhuǎn)換器芯片的價格都較高,儀表的成本也將較高。筆者在某工業(yè)儀表設(shè)計中采用可編程雙通道D/A轉(zhuǎn)換器TLC5618的一個通道實現(xiàn)D/A轉(zhuǎn)換的同時,用它的另一個通道通過軟件編程以逐次比較方式來實現(xiàn)A/D功能。實際應(yīng)用效果較好,該應(yīng)用方法具有以下特點:①節(jié)省一片A/D轉(zhuǎn)換器,降低了儀表成本。②TLC5618體積?。?引腳的小型D封裝),便于小型化設(shè)計,減少了印刷線路板面積。③TLC5618采用3線串行數(shù)據(jù)輸入方式,占用CPU的I/O口線少,硬件搭接簡單,外圍器件少,軟件編程方便。④對于標(biāo)準(zhǔn)信號1~5V信號TLC5618的分辨率至少可達到1.3mV,完全可滿足工業(yè)過程控制精度要求。⑤通過軟件編程以逐次比較方式來實現(xiàn)A/D轉(zhuǎn)換建立時間約為400μs。
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是帶有緩沖基準(zhǔn)輸入(高阻抗)的雙路12位電壓輸出數(shù)字模擬轉(zhuǎn)換器(DAC),8引腳的小型D封裝,需+5V 單電源工作,其輸出電壓范圍為基準(zhǔn)電壓的兩倍,因此,電路設(shè)計采用了1.2V基準(zhǔn)電壓(如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",當(dāng)最后一位確定后,這個按位被指定的數(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)?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)換。
結(jié)語
在工業(yè)儀表日益向多功能化、智能化、小型化發(fā)展的今天,雙通道D/A轉(zhuǎn)換器TLC5618以其優(yōu)勢的性能越來越受青睞。該電路應(yīng)用充分發(fā)揮了TLC5618性能特點,大大降低了硬件成本,提高了產(chǎn)品的性能價格比。筆者認(rèn)為可編程雙通道D/A轉(zhuǎn)換器TLC5618是一種值得廣泛推廣應(yīng)用的產(chǎn)品。