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