高精度數(shù)模轉(zhuǎn)換器AD420及其與MSP430的接口技術(shù)
關(guān)鍵詞:AD420;D/A轉(zhuǎn)換;MSP430;電流環(huán)
1 概述
AD420是ADI公司生產(chǎn)的高精度、低功耗全數(shù)字電流環(huán)輸出轉(zhuǎn)換器。AD420的輸出信號可以是電流信號,也可以是電壓信號。其中電流信號的輸出范圍為4mA~20mA,0mA~20mA或0mA~24mA,具體可通過引腳RANGE SELECTl,RANGE SELECT2進行配置。當(dāng)需要輸出電壓信號時,它也能從一個隔離引腳提供電壓輸出,這時需外接一個緩沖放大器,可輸出0V~5V,0V~10V,±5V或±10V電壓。
AD420具有靈活的串行數(shù)字接口(最大速率可達3.3 Mb/s),使用方便、性價比高、抑制干擾能力強,非常適合用于高精度遠程控制系統(tǒng)。AD420與單片機的接口方式有2種:3線制和異步制。單片機系統(tǒng)通過AD420可實現(xiàn)連續(xù)的模擬量輸出。其主要特點如下:
寬泛的電源電壓范圍為12 V~32 V,輸出電壓范圍為0V~-2.5 V;
帶有3線模式的SPI或Microwire接口,可采集連續(xù)的模擬輸入信號,采用異步模式時僅需少量的信號線;
數(shù)據(jù)輸出引腳可將多個AD420器件連接成菊鏈型;
上電初始化時,其輸出最小值為0 mA,4 mA或O V;
具有異步清零引腳,可將輸出復(fù)位至最小值(0mA、4 mA或0V);
BOOST引腳可連接一個外部晶體管來吸收回路電流,降低功耗;
只需外接少量的外部器件,就能達到較高的精度。
AD420采用24引腳SOIC和PDIP封裝,表1是其引腳功能說明。
2 工作原理
在AD420中,二階調(diào)節(jié)器用于保持最小死區(qū)。從調(diào)節(jié)器發(fā)出的單字節(jié)流控制開關(guān)電流源,兩個連續(xù)的電阻電容裝置進行過濾。電容為電流輸出額外增加的器件。輸出電流則簡單顯示為4 mA~20 mA,OmA~20mA或0mA~24mA。AD420采用BiCMOS工藝,能夠適合高性能的低電壓數(shù)字邏輯和高電壓模擬電路。
如果需要,AD420同樣能夠提供電壓輸出代替電流環(huán)輸出。增加了一個額外的電壓放大器使用戶得到OV~5 V,0V~10V,±5V或±10V的電壓。
AD420有一個環(huán)路故障檢測電路。當(dāng)開環(huán)或者供電電壓不足使IOUT電壓超過限制電壓時會產(chǎn)生警報。故障檢測端為低電平觸發(fā),所以可以用一個上拉電阻器同時連接至多個AD420的故障檢測端,上拉電阻器可以接至VLL端或外接5 V邏輯電壓。
IOUT電流由一個PMOS晶體管和內(nèi)置放大器控制。內(nèi)置電路提供故障輸出,避免使用窗口限制比較器,這就要求在故障檢測端輸出有效之前需要一個實際的誤差輸出。反之,當(dāng)AD420輸出級的內(nèi)置放大值低于l V的驅(qū)動值時,信號就會產(chǎn)生。因此,故障輸出端在跳轉(zhuǎn)限制達到要求之前保持不變。由于比較在輸出放大反饋網(wǎng)絡(luò)內(nèi)進行,輸出精度通過開環(huán)增益保持穩(wěn)定,在故障檢測輸出變?yōu)橛行е皼]有輸出誤差。3個數(shù)字接口,包括數(shù)據(jù)輸入、CLOCK、LATCH。如果用戶想要使本質(zhì)安全應(yīng)用電路具有最少的流電隔離器數(shù)目,可將AD420配置在異步模式下工作,這種模式可將LATCH通過一個限流電阻連接到Vcc來實現(xiàn)。數(shù)據(jù)的值通過O,1進行組合來構(gòu)造信息并觸發(fā)LATCH信號。
2.1 時序操作
如圖1所示,AD420采用∑-△架構(gòu)進行A/D轉(zhuǎn)換,由于其內(nèi)部結(jié)構(gòu)固有的單調(diào)性以及高分辨率,因此特別適合工業(yè)控制環(huán)境的相對低帶寬需求。
2.2 電流模式輸出
如圖2所示,AD420在不需要任何外部有源器件的情況下能提供4 mA~20 mA、0 mA~20 mA及0mA~24mA電流輸出。濾波電容Cl和C2可選擇低成本的陶瓷電容。為了滿足滿量程3 ms的快速響應(yīng),應(yīng)選用低電介質(zhì)吸收電容,其中C1=O.OlμF,C2=0.0lμF。
2.3 電壓模式輸出
如圖3所示,由于AD420是一個單電源器件,必須在VOUT引腳增加一個外部緩沖放大器。其兩級電壓輸出范圍如表2所列。
2.4 可選范圍及零點調(diào)整
用戶若希望獲得低于指定值的偏移和增益誤差,可用圖4給出的簡單方法來調(diào)整這些參數(shù)。選用低漂移電阻要謹慎,因為它們會影響DAC的溫度漂移性能。調(diào)整算法采用迭代法。在4 mA~20 mA模式下,AD420的參數(shù)調(diào)整方法如下所示:
1)偏移調(diào)整。設(shè)所有輸入為0,調(diào)節(jié)調(diào)零電阻(RZERO)使輸出電流為4.00000 mA。
2)增益調(diào)整。設(shè)所有輸入為1,調(diào)節(jié)調(diào)零電阻(RZERO)使輸出電流為19.99976 mA。
重復(fù)第一和第二步,直到兩端的精度都達到要求。
在BOOST引腳以及電源之間連接一個5 kΩ電阻(RSPAN2)可使增益提高+0.8%。
由于RSPAN電阻可變化到最大值500 Ω,在RSPAN電阻和基準(zhǔn)輸入電阻(30 kΩ)的作用下,基準(zhǔn)輸入端電壓將受到影響。當(dāng)調(diào)整RSPAN2電阻的大小時,三者共同影響將使基準(zhǔn)輸入電壓誤差在-O.8%~+0.8%范圍內(nèi)變化。
3 基于MSP430的接口應(yīng)用及編程
硬件接口電路如圖5所示。MSP430的串口通信模塊可用兩種方式實現(xiàn):一是直接采用硬件通用串行同步/異步模塊(USART);二是通過定時器模塊實現(xiàn)串口通信功能。這兩種方式有很大的區(qū)別:前者USART模塊是在一系列寄存器設(shè)置后,由硬件自動實現(xiàn)數(shù)據(jù)的移進和移出來完成串行通信的功能,同時還能實現(xiàn)兩種通信協(xié)議,即UART異步通信協(xié)議和SPI同步通信協(xié)議;后者是在定時器的作用下,人工通過用戶軟件控制,逐位地將數(shù)據(jù)由端口發(fā)送或接收,因此常稱為軟件串行口。
MSP430的發(fā)送或接收主要是移位寄存器在起作用。兩個緩存器都是采用移位寄存器加緩存的結(jié)構(gòu)。接收時,當(dāng)移位寄存器將接收來的數(shù)據(jù)位流組合滿一個字節(jié)后,保存到接收緩存URXBUF;發(fā)送時,是將發(fā)送緩存UTXBUF內(nèi)的數(shù)據(jù)逐一送至發(fā)送端口。發(fā)送和接收兩個移位寄存器的移位時鐘都是波特率發(fā)生器產(chǎn)生的時鐘信號BITCLK。MSP430的接收和發(fā)送分別使用兩個寄存器,為全雙工。
對于沒有SPI總線的單片機,可用MSP430的I/0口模擬SPI總線,程序如下:
MSP430x13x系列的硬串口具有SOI模式,編程更為簡單,其初始化程序如下: