1.引言
HART,即Highway Addressable Remote Transducer,是可尋址遠程傳感器高速公路的簡稱,zui早由美國 Rosemount公司開發并得到八十多家儀表公司的支持,其特點是在不干擾4~20mA模擬信號的同時允許雙向數字通訊。
符合HART協議的智能電磁流量計不僅可以實現各種流量的檢測和就地顯示,還可以通過上位計進行遠程設定,改變流量計的零點、量程,以及完成自診斷等功能,在很大程度上方便了流量計的使用和維護,因而具有較強的市場競爭力。[1]本文討論基于HART協議智能電磁流量計具體實現的技術問題,一是要解決硬件電路的設計問題,二是要討論實現HART協議命令集編程及上位機軟件的實現 。
2 HART協議簡介
HART協議遵循ISO制訂的OSI 開放式系統互連參考模型,采用了OSI 模型的*層、第二層和第七層,即物理層、數據鏈路層和應用層。
2.1 物理層規范
HART 協議采用美國通訊系統Bell202頻移鍵控(FSK)標準,在4~20mA的模擬±0.5mA的正弦波,波特率是 1200bps。因為所疊加的正弦信號平均值為0,而且相位連續頻移鍵控技術要求在波特率為 1200Hz的數據位 1 和 0 的邊界的相位角是連續的,所以數字通訊信號不會影響4~20mA的模擬信號。
2.2 數據鏈路層規范[2][3]
這一部分協議規定了HART 幀的格式,實現建立、維護、數據鏈路通訊功能,HART協議根據冗余檢錯碼信息,通過差錯檢測機制和采用自動重發請求協議(ARQ),實現通訊數據無差錯傳送。
與協議相關的數據傳輸是以幀的形式實現的。幀是用戶控制和尋址信息對用戶數據的封裝,只有幀中的字節記數結束且經過了差錯檢驗接收正確無誤或是物理層通知信號傳輸終止(如檢測不到載波)之后才可以進行幀的識別。HART 幀的格式如圖1所示。
PREAMBLE 前導信號。
DELIM 定界符:一個*的或是zui容易識別的字符。
ADDR地址字節:包含了源地址和目的地址,zui高位都用來表示與該幀相關的主設備的地址。
COM 命令字節:表示現場儀表所要執行的功能。
BYTE CORNT數據總長度:該值表示的是BYTE CORNT下一個字節到zui后(不包括校驗字節) 的字節數。
DATA 數據字節。
CHK 奇偶校驗:縱向奇偶校驗。
在數據鏈路層中的HART協議是一種“主/從”協議。在從設備的應答消息中除了已被接收的確認命令,許多消息中還包含了主設備詢問的數據。HART協議允許系統中同時有兩個主設備運行,一個基本主設備,一個副主設備。從設備根據兩個主設備不同的地址來向它們分發各自的應答命令消息。
2.3 應用層規范[4]
規定了HART消息包中的3類命令,*類是通用命令,適用于遵守HART協議的所有產品,為符合HART協議的設備提供功能描述;第二類是普通操作命令,適用于遵守HART協議的大部分產品;第三類是設備特殊命令,適用于遵守HART協議的特殊產品。
3 基于HART協議的智能電磁流量計的硬件設計
帶有HART通訊協議的智能電磁流量計的硬件系統電路采用模塊化設計,主要包括傳感器模塊,MCU模塊、HART通訊模塊和人機界面模塊四個部分。
由單片機控制的低頻勵磁電流輸出到傳感器的勵磁線圈中,同時來自電磁流量傳感器的微小電勢信號經前置放大后通過AD模數轉換電路送入到單片機。單片機對這些信號進行數據采集,分析處理送至液晶顯示屏進行瞬時流量和累積流量的顯示。同時單片機通過計算公式對得到的流量值進行補償,將補償后的流量信號通過HART通訊模塊實現與上位機的遠程通訊。
3.1 HART通訊模塊設計
HT2012 芯片用來實現HART 協議中通訊信號的解調及調制過程。圖2為調制解調器與微處理器的連接。
HART 信號的解調過程:由帶通濾波器輸出的脈沖信號進入HT2012 后,調制解調器分別將脈沖信號中的1200Hz和 2200Hz解調為數字1和0,再將數字信號由HT2012 的ORXD 端口輸出,CPU 對接收到的數據進行判斷并執行相應的任務。
3.2 HT2012 與外部接口
HART數字信號規范是峰值為1mA、平均值為0mA正弦交流電流信號,此信號經線路阻抗轉化為正弦交流電壓信號,而HT2012 輸入和輸出信號是0~5V 的方波信號,因此在HT2012 和外部的HART 信號之間還需要有濾波電路和整形電路。
如圖3所示,由TLC27 組成的濾波器是帶通濾波器,用來減少接收信號的噪聲干擾。濾波器還用來消除波形中的尖峰,從而使接收到的信號變得平緩。TLC37 組成的數字方波產生回路把經過TLC27 濾波后的正弦波轉變成相應的方波,以便于HT2012 接收。
如圖4所示,緩沖器74HC126 的作用是使方波的上升沿和下降沿趨于平緩,使信號滿足HART 物理層規范所要求的信號波形上升沿和下沿的時要求,因為較平緩的上升沿和下降沿時間可以降低與其它網絡間的串擾。
HT2012需要外部提供460.8kHz的時鐘信號,且要求時鐘頻率的誤差是±0.1%,若直接入一個460.8kHz的晶振不僅會引起系統功耗的增加,而且該晶振屬于非標準晶振,需專門定制。為了解決這一問題,在系統中采用一片1.8432MHz的晶振以產生時鐘信號,再經分頻器CD4013進行4分頗,可輸出1.8432MHz /4=460.8kHz的分頻信號供HT2012使用。
AD421其內部的電壓調節器與外部的場效應管DN25D對輸入到AD421的電壓進行調整,可提供+3.3V電壓作為其他設備的電源。HART發出的FSK信號,經過一個電容耦合送到AD421中,轉換成相應的±0.5mA正弦電流信號,實現電壓信號到電流信號的轉換,同時,疊加在4~20mA的電流上送給接收設備,實現了HART協議的信息的交換。本電路耦合電容取為0. 0033μF。
4 HART通訊協議的軟件實現
4.1 智能電磁流量計串口中斷程序[5]
在串行口中斷服務程序中,首先保護現場,然后判斷是接收中斷還是發送中斷,若為接收中斷則執行接收服務子程序,否則執行發送服務子程序。中斷處理結束后,恢復現場并返回系統主程序。HART通信采用水平和垂直校驗的方法。當檢測到接收數據有差錯時,則等到主設備命令幀發完后,通知主設備數據接收有誤。主設備則重新發命令幀,從而保證通信的準確可靠。HART串口中斷子程序流程圖如圖5所示。
4.2 HART命令拆分子程序[6][7]
在對命令幀響應之前先要將該幀拆分,即首先判斷該幀前導碼是否正確,每接收一個前導碼,計數器加1。再接收定界符,若為有效的定界符且前導碼計數器大于1,則為HART幀的起始位置,根據定界符確定HART幀的類型,若為應答幀或成組模式幀則終止接收服務,等待載波結束;若為請求幀,則確定幀格式,設置接收長幀格式或短幀格式地址計數值,短幀格式地址接收1個字節,長幀格式地址接收5個字節。再接收命令號,數據字節長度字節,若數據字節長度字節出現奇偶校驗錯誤則終止接收服務,等待載波結束;否則設置數據字節長度計數器,每接收一個數據字節,長度計數器減1,zui后接收水平校驗和。若接收請求地址匹配,對接收的HART 幀異或求水平校驗和,并與接收水平校 驗和進行比較,相同則表示無通訊錯誤,否則置水平校驗和錯誤標志為1,結束接收服務并轉入HART命令執行子程序。命令幀拆分程序流程如圖6所示。
5 結論
對研制的智能電磁流量計進行試驗表明:該流量計集成化程度高、功能強、操作方便、性能可靠;具有自診斷、自檢定功能和HART數據通訊功能;可測正反兩個方向流量,也可測脈動流量;抗電磁干擾和溫度性能好,適合于現場測量和顯示;測量范圍大,準確度高。
上一篇:壓力表的維護保養三法則
下一篇:柴油流量計原理及價格