基于HART協(xié)議的通用型多通道智能變送器的設(shè)計(jì)與實(shí)現(xiàn)
傳統(tǒng)的HART(Highway Addressable Remote Transducer)變送器的功能比較單一,只有溫度、壓力、位移、電磁流量等物理量的單一測量,傳感器輸出微弱的電壓或電流信號。由于這些傳感器的負(fù)載阻抗、激勵(lì)方式、輸入信號靈敏度、補(bǔ)償方式均不相同,所以以往的變送器均要求設(shè)計(jì)不同的配套電路與相應(yīng)的傳感器配合,給生產(chǎn)制造部門和采購部門帶來很多不便,也使供貨周期延長,本文研究的智能型HART通用變送器不僅保留了傳統(tǒng)儀表的4 mA~20 mA的模擬信號的輸出,并且通過HART協(xié)議實(shí)現(xiàn)雙向數(shù)字通信。它可與任何符合HART協(xié)議的手操器或控制系統(tǒng)互連;通過手操器或上位機(jī)可遠(yuǎn)程設(shè)定變送器的類型、供電方式(恒壓源供電或者恒流源供電)、零點(diǎn)、量程、工程單位和阻尼時(shí)間等基本信息和參數(shù)。
1 系統(tǒng)硬件電路設(shè)計(jì)
微處理器是HART智能變送器的核心中樞,協(xié)調(diào)各個(gè)模塊正確有序工作。目前市面上用的較多的是51系列單片機(jī),但51系列單片機(jī)絕大部分仍然采用8 bit中央處理器,對于像HART通信這樣對運(yùn)算速度要求比較高的硬件系統(tǒng)來說,8 bit處理器已不能滿足要求。另外51單片機(jī)內(nèi)部的硬件資源比較少,單片機(jī)要與外圍電路如液晶顯示模塊、A/D轉(zhuǎn)換模塊、D/A轉(zhuǎn)換模塊、UART通信模塊等進(jìn)行通信,而51單片機(jī)的外圍擴(kuò)展口有限,很顯然不滿足要求。本硬件系統(tǒng)中的MCU采用摩托羅拉公司生產(chǎn)的MC9S12E64[3],該芯片與普通的微處理器芯片相比,有更多的優(yōu)點(diǎn)。MC9S12E64采用模塊化結(jié)構(gòu)和16 bit的中央處理器CPU,最高總線速度8 MHz,大大提高了運(yùn)算速度和精度。
1.1 系統(tǒng)方案設(shè)計(jì)
為了滿足多通道數(shù)據(jù)測量和低功耗,硬件電路主要包括:MCU微處理器模塊;A/D轉(zhuǎn)換模塊;HART通信模塊;電源模塊;恒壓/恒流激勵(lì)電路。
為了實(shí)現(xiàn)多通道模擬信號的測量,本硬件系統(tǒng)采用24 bit多路ADC(AD7714)實(shí)現(xiàn),其中兩路構(gòu)成差分電壓V1輸入,另外兩路分別測量單端電壓V2和電流I。如圖1所示,在電流的輸入端加一電阻,對電流的測量實(shí)際上也是對電壓的測量,這樣將測得對應(yīng)的電壓值通過換算得到實(shí)際的電流值。
為了克服輸入的電壓,電流信號對AD7714測量的影響,在硬件電路設(shè)計(jì)上使用數(shù)字開關(guān)芯片ADG733,通過MCU控制ADG733,從而間接地“打開”或是“關(guān)閉”輸入通道,消除外部信號對AD轉(zhuǎn)換的干擾,另一方面也方便多通道的測量。在每一路通道前面增加由運(yùn)放構(gòu)成的驅(qū)動(dòng)電路,可以組成模擬濾波及放大網(wǎng)絡(luò),提高測量精度。UART輸入信號直接與MCU空閑管腳連接,實(shí)現(xiàn)數(shù)字測量??紤]到功耗原因,實(shí)際使用時(shí)不可能所有測量通道都采用,將根據(jù)需要配置為其中1~2個(gè)通道進(jìn)行測量和轉(zhuǎn)換。
1.2 分層電源網(wǎng)絡(luò)與低功耗設(shè)計(jì)
1.2.1 分層電源網(wǎng)路的設(shè)計(jì)
考慮在單電源供電的情況下(圖2所示),由于MCU、D/A、HART等模塊需要使用近2 mA的電流,因此信號采樣部分的電量非常有限,僅有1 mA左右。除去A/D、運(yùn)放等消耗的電流,實(shí)際提供給傳感器的電流僅0.5 mA左右。只能通過降低激勵(lì)電壓/電流的大小,減少電量消耗。同時(shí)在軟件里進(jìn)行控制,每次只能對一個(gè)測量通道進(jìn)行采樣和轉(zhuǎn)換輸出。這一方案的優(yōu)點(diǎn)是結(jié)構(gòu)簡單,但是使用受限,僅數(shù)字通信方式可以實(shí)現(xiàn)對多參數(shù)的測量。
另一種方案是采用分層電源網(wǎng)絡(luò)模式,模擬信號的測量和轉(zhuǎn)換使用上層3 V電源網(wǎng)絡(luò)(由TL431調(diào)整得到,可提供約2 mA的電流),同時(shí)可以利用這一穩(wěn)定的3 V直接作為恒壓源進(jìn)行傳感器激勵(lì)。而數(shù)字信號(頻率和UART)的測量采用下層電源網(wǎng)絡(luò),以實(shí)現(xiàn)和MCU的簡單連接。這一方案的優(yōu)點(diǎn)是解決了功耗問題,但電路因此變得復(fù)雜,而且在輸入接口側(cè)模擬信號和數(shù)字信號不共“地”, 應(yīng)注意將其分離, 圖3為分層電源網(wǎng)絡(luò)的設(shè)計(jì)。
1.2.2 電平轉(zhuǎn)換模塊的設(shè)計(jì)
上層電路如AD7714采用VDD=+6 V, GND=+3 V的電源,其對AD714來說,+3 V代表的是0,+6 V代表的是1。而MCU采用的是下層電源,即VDD=3 V,GND=0 V,對MCU來說0 V代表的是0,+3 V代表的是1。如果AD7714要與MCU進(jìn)行SPI通信,很顯然不能簡單將兩端口相連,需要設(shè)計(jì)合適的電平轉(zhuǎn)換電路以滿足數(shù)字通信要求。
圖4中將MCU的MOSI的0 V~3 V電壓轉(zhuǎn)換為3 V~6 V電壓供AD7714進(jìn)行SPI數(shù)字通信。當(dāng)MCU輸出為0時(shí),即輸入為0 V,則三極管Vbe=0 V<0.7 V,則三極管截止,輸入到反相器的電壓為+6 V,反相器輸出就為3 V;如果MOSI輸入為+3 V時(shí),三極管導(dǎo)通,輸入到反相器的電壓由+6 V經(jīng)兩電阻分壓提供3 V電壓,則反相器輸出為+6 V,這樣就實(shí)現(xiàn)了電平的轉(zhuǎn)換。同樣由3 V~6 V到0 V~3 V的電平轉(zhuǎn)換如圖5, 當(dāng)輸入為+6 V時(shí),三極管截止,輸入反相器的為0 V電壓, 則輸出為+3 V, 當(dāng)輸入3 V電壓時(shí), 三極管導(dǎo)通,經(jīng)分壓輸入到反相器的電壓為+3 V,則輸出為0 V。
1.3 HART通信模塊的設(shè)計(jì)
HART協(xié)議通信模塊主要由現(xiàn)場儀表內(nèi)的A5191HRT和AD421型DAC組成。其中,AD421接收MCU傳送的數(shù)字信號并轉(zhuǎn)換成4 mA~20 mA電流輸出,傳輸測量結(jié)果:A5191HART[1]接收疊加在4 mA-20 mA環(huán)路上的FSK信號。解調(diào)后傳輸給MCU,或?qū)?strong>MCU產(chǎn)生的應(yīng)答幀信息調(diào)制成FSK信號經(jīng)波形后由AD421疊加在4 mA~20 mA環(huán)路上進(jìn)行傳輸,如圖6所示。
A5191HRT內(nèi)部包括發(fā)送數(shù)據(jù)調(diào)制器與波形整形電路、載波檢測電路、接收濾波器與解調(diào)電路、控制邏輯和時(shí)鐘振蕩器電路。調(diào)制器接收不歸零碼并調(diào)制為FSK信號。1 200 Hz代表邏輯“l”, 2200 Hz代表邏輯“0”,數(shù)據(jù)率為1 200 b/s,之后由波形整形電路將FSK信號整形為兼容HART協(xié)議要求的信號發(fā)送出去。
2 系統(tǒng)軟件設(shè)計(jì)
HART通用型智能變送器的軟件按其功能分為四個(gè)部分:監(jiān)測程序、測控程序、HART通信程序和輔助程序。監(jiān)測程序是整個(gè)系統(tǒng)軟件的中心環(huán)節(jié),又稱為主程序。它接收和分析各種命令,管理和協(xié)調(diào)全部程序的執(zhí)行,其包括系統(tǒng)初始化、系統(tǒng)自檢等部分;測控程序主要包括數(shù)據(jù)采集、數(shù)據(jù)處理、輸出控制和自我診斷等部分。其中數(shù)據(jù)采集通過采樣中斷子程序?qū)崿F(xiàn),數(shù)據(jù)處理、輸出控制和自我診斷等部分則在主程序中調(diào)用。HART通信程序也就是HART協(xié)議數(shù)據(jù)鏈路層和應(yīng)用層的軟件實(shí)現(xiàn),是整個(gè)智能變送器軟件設(shè)計(jì)的關(guān)鍵,儀表的可互操作性也在這里得到體現(xiàn)。數(shù)據(jù)鏈路層軟件主要是串行口接收/發(fā)送中斷子程序,屬于中斷處理(服務(wù))程序;應(yīng)用層的軟件是對收到的命令幀進(jìn)行翻譯和處理,在主程序中被調(diào)用。
2.1 HART通信程序的設(shè)計(jì)
HART通信程序是HART協(xié)議數(shù)據(jù)鏈路層和應(yīng)用層的軟件實(shí)現(xiàn),采用串口中斷實(shí)現(xiàn)通信的接收和發(fā)送服務(wù),符合HART協(xié)議的通信工作都在此程序中完成,如圖7所示。
進(jìn)入串口中斷服務(wù)程序后,要先判斷是發(fā)送請求還是接收請求。若發(fā)送請求標(biāo)志為l則轉(zhuǎn)向發(fā)送服務(wù)程序,若接收請求標(biāo)志為l則轉(zhuǎn)向接收服務(wù)程序。HART應(yīng)用層的軟件對收到的命令幀進(jìn)行翻譯和處理,如:字節(jié)流和浮點(diǎn)數(shù)、整數(shù)、字符串之間的相互轉(zhuǎn)換,然后根據(jù)各自的命令號進(jìn)行相應(yīng)的命令處理,如:改量程、改單位、改阻尼時(shí)間等,最后,把應(yīng)答幀按照一定的格式放入發(fā)送緩沖區(qū),由串行口中斷發(fā)回。如果有通信錯(cuò)誤或命令錯(cuò)誤時(shí),則發(fā)回報(bào)告錯(cuò)誤的應(yīng)答幀。發(fā)送服務(wù)程序是在程序運(yùn)行過程中向上位機(jī)發(fā)送信息,要設(shè)置發(fā)送請求標(biāo)志,將要發(fā)送的數(shù)據(jù)信息存入串口發(fā)送緩沖區(qū), 并計(jì)算垂直校驗(yàn), 在此要發(fā)送的數(shù)據(jù)信息的格式為: 前導(dǎo)碼2 B,定界符1 B,地址碼l或5 B,命令號1 B,字節(jié)長度1 B,響應(yīng)碼2個(gè)字節(jié),數(shù)據(jù)0~25 B,校驗(yàn)和1 B。發(fā)送時(shí),先要啟動(dòng)發(fā)送載波,初始化物理層,建立通信鏈路和另一對等通信實(shí)體通信,發(fā)送應(yīng)答幀,發(fā)送結(jié)束后停止發(fā)送載波,初始化物理層,終止物理層鏈路通信。發(fā)送服務(wù)首先發(fā)送前導(dǎo)碼,每發(fā)送一個(gè)前導(dǎo)碼計(jì)數(shù)器就減1,然后發(fā)送HART協(xié)議的應(yīng)答幀,發(fā)送結(jié)束后停止發(fā)送載波。
目前HART型智能儀表的市場占有量已經(jīng)接近50%,但仍有約40%的儀表采用模擬量或非標(biāo)準(zhǔn)數(shù)字協(xié)議進(jìn)行輸出,這些儀表將逐步被HART協(xié)議或其他數(shù)字總線協(xié)議所替代。為使這些特種規(guī)格產(chǎn)品升級為HART型智能儀表,一般需要定制與之相配套的電子部件或HART轉(zhuǎn)換模塊。這些復(fù)合型多參數(shù)傳感器,也是由普通的壓力、差壓、溫度等傳感器構(gòu)成。為了實(shí)現(xiàn)將這些特殊規(guī)格的儀表或傳感器升級為HART型智能變送器,需要設(shè)計(jì)通用型電子部件,提供多個(gè)測量通道,不僅能與市場上通用的傳感器相配套,還能與復(fù)合型多參數(shù)傳感器相配套。本文正是基于目前工業(yè)上的現(xiàn)實(shí)要求,設(shè)計(jì)出一種基于HART協(xié)議的多通道數(shù)據(jù)測量的智能變送器,以滿足多參數(shù)測量。在電路設(shè)計(jì)上,為了減小硬件電路功耗,提出一種雙層電源網(wǎng)路結(jié)構(gòu),滿足電路設(shè)計(jì)要求。