可編程雙路12位D/A轉換器在工業儀表中的應用
引言
隨著工業自動化程度的不斷提高,在工業中使用的儀表日趨智能化、多功能化、小型化,其硬件電路設計大多采用單片機微處理器為核心,再配以外圍電路構成。由于部分儀表需要把現場的模擬信號轉換成單片機能夠處理的數字信號輸入,再把單片機經數據處理后得到的數字信號轉換成模擬信號輸出,因此,這些儀表的硬件電路設計需要同時具有模數(a/d)轉換和數模(d/a)轉換兩種功能。
在同時需要d/a和a/d轉換功能的儀表中,可以用一片a/d轉換器和一片d/a轉換器來分別實現a/d和d/a轉換功能,但由于a/d和d/a轉換器芯片的價格都較高,儀表的成本也將較高。筆者在某工業儀表設計中采用可編程雙通道d/a轉換器tlc5618的一個通道實現d/a轉換的同時,用它的另一個通道通過軟件編程以逐次比較方式來實現a/d功能。實際應用效果較好,該應用方法具有以下特點:①節省一片a/d轉換器,降低了儀表成本。②tlc5618體積小(8引腳的小型d封裝),便于小型化設計,減少了印刷線路板面積。③tlc5618采用3線串行數據輸入方式,占用cpu的i/o口線少,硬件搭接簡單,外圍器件少,軟件編程方便。④對于標準信號1~5v信號tlc5618的分辨率至少可達到1.3mv,完全可滿足工業過程控制精度要求。⑤通過軟件編程以逐次比較方式來實現a/d轉換建立時間約為400μs。
tlc5618應用實例
下面具體介紹采用一片可編程雙通道d/a轉換器tlc5618的一個通道實現d/a轉換的同時,用它的另一個通道通過軟件編程以逐次比較方式來實現a/d轉換功能的實際應用方法。其硬件設計如圖1所示
tlc5618是帶有緩沖基準輸入(高阻抗)的雙路12位電壓輸出數字模擬轉換器(dac),8引腳的小型d封裝,需+5v 單電源工作,其輸出電壓范圍為基準電壓的兩倍,因此,電路設計采用了1.2v基準電壓(如lm385)。
通過cmos兼容的3線串行總線單片機可以對tlc5618實現數字控制,器件接收用于編程的16位輸入字產生模擬輸出。16位輸入字的高4位為編程控制位,通過對編程控制位的設定,可以有三種不同的輸出方式,低12 位為被轉換的數字量。數據從串行數據輸入端din按從高位到低位的順序依次輸入,單片機串行通訊可工作在操作模式0下,串行口作同步移位寄存器用或采用其它i/o口模擬串行口方式實現數字控制。這里值得注意的是單片機工作在操作模式0下時,串行口發送或接收的是8位數據,且低位在前,與tlc5618的數據接收時序相反。因此單片機應先將數據進行高低位交換后再進行數據發送。

圖1 采用一片tlc5618實現a/d轉換和d/a轉換的應用電路
1.d/a功能的實現
該功能只占用tlc5618的outb輸出通道,若指定建立時間為3μs,則前4位編程控制位應為00xx。前4位編程控制位和被轉換的12位數字量組成高8位+低8位=16位的輸入字,從串行數據輸入端din按從高位到低位的順序依次輸入,轉換結果電壓從tlc5618
的outb輸出。本電路通過v-i轉換電路(見圖1)實現電壓到電流的轉換。這里不再祥述。
2.a/d功能的實現
在本電路中沒有單獨使用a/d轉換器,a/d轉換功能是通過雙路d/a轉換器tlc5618的另一個輸出通道outa,通過一級放大電路和比較電路,并通過軟件編程采用逐次比較法來實現的。即在雙通道d/a轉換器tlc5618的串行數據輸入端din逐次輸入按位依次指定的12位數字量(如x800h),并將每次輸入數字量的d/a轉換結果同實際輸入的模擬電壓進行比較,根據比較結果來決定每次指定的位應為"0"或"1",當最后一位確定后,這個按位被指定的數字量就是最終a/d轉換結果。具體原理如下:
每次a/d轉換過程中,前4位編程位一直為10xx。前4位編程位和后面12位轉換數字量構成高8位+低8位=16位的輸入字。
每次a/d轉換前先指定12位輸入數字量(不包括4位編程位)的最高位為 "1"輸入tlc5618進行d/a轉換,d/a轉換的結果從outa輸出后,經過一級放大電路,通過比較電路與實際輸入的模擬電壓比較。若轉換結果電壓大于輸入的模擬電壓,則三極管t1基極為高電平,t1導通,p0.2被下拉為低電平;否則轉換結果電壓小于輸入的模擬電壓,則三極管t1基極為低電平,t1截止,p0.2被上拉為高電平。單片機通過檢測p0.2的狀態,如果p0.2為高電平,則保留本位的"1";否則p0.2為低電平,則將本位的"1"變為"0"。這樣12位數字量中的一位就被確定下來,然后再指定下一位為"1",再經過d/a轉換、放大、比較,并檢測p0.2的狀態,該位又被確定下來。依次類推,直到12位數字量全被確定下來,這個12位的數字量的d/a轉換結果將最接近輸入的模擬電壓,它實際就是a/d轉換的結果。注意單片機在檢測i/o比較結果狀態時,應加入約為10μs的時間延時。
另外,本電路僅具有一個模擬量輸入信號,如需有多個模擬量輸入信號,可不必加模擬開關,只需增加比較電路即可,多個模擬量輸入信號均可與d/a轉換器經一級放大電路的輸出信號比較,并通過相應的a/d轉換子程序實現a/d轉換。
結語
在工業儀表日益向多功能化、智能化、小型化發展的今天,雙通道d/a轉換器tlc5618以其優勢的性能越來越受青睞。該電路應用充分發揮了tlc5618性能特點,大大降低了硬件成本,提高了產品的性能價格比。筆者認為可編程雙通道d/a轉換器tlc5618是一種值得廣泛推廣應用的產品。
評論