HART協(xié)議在雨水流量計中的硬件設(shè)計與軟件實現(xiàn)
點擊次數(shù):1852 發(fā)布時間:2021-09-04 01:57:59
摘要:現(xiàn)場總線控制系統(tǒng)代表了工業(yè)控制系統(tǒng)向分散化、網(wǎng)絡(luò)化、智能化發(fā)展的方向。為構(gòu)建現(xiàn)場總線型工業(yè)測控系統(tǒng),要求系統(tǒng)中所有儀表都應(yīng)具有現(xiàn)場總線功能。其中,HART總線技術(shù)在電磁流量儀表中應(yīng)用*為廣泛,本文在對HART協(xié)議進行詳細分析的基礎(chǔ)上,重點介紹了系統(tǒng)設(shè)計結(jié)構(gòu)以及HART協(xié)議在雨水流量計中的軟硬件實現(xiàn)方法,測試結(jié)果表明,該設(shè)計滿足現(xiàn)場實際要求,達到了設(shè)計目的。
HART,即Highway Addressable Remote Transduc-er,是可尋址遠程傳感器高速公路的簡稱,*早由美國Rosemount公司開發(fā)并得到八十多家**儀表公司的支持,其特點是在不干擾4~20mA模擬信號的同時允許雙向數(shù)字通訊。符合HART協(xié)議的雨水流量計不僅可以實現(xiàn)各種流量的檢測和就地顯示,還可以通過上位機進行遠程設(shè)定,改變流量計的零點、量程,以及完成自診斷等功能,在很大程度上方便了流量計的使用和維護,因而具有較強的市場競爭力。本文討論基于HART協(xié)議雨水流量計具體實現(xiàn)的技術(shù)問題,一是要解決硬件電路的設(shè)計問題,二是要討論實現(xiàn)HART協(xié)議命令集編程及上位機軟件的實現(xiàn)。
1、HART協(xié)議簡介
HART協(xié)議遵循ISO制訂的OSI開放式系統(tǒng)互連參考模型,采用了OSI模型的*一層、*二層和*七層,即物理層、數(shù)據(jù)鏈路層和應(yīng)用層。
1.1 物理層規(guī)范
HART協(xié)議采用美國電話通訊系統(tǒng)Bell202頻移鍵控(FSK)標(biāo)準(zhǔn),在4~20 mA的模擬0.5mA的正弦波,波特率是1200bps。因為所疊加的正弦信號平均值為0,而且相位連續(xù)頻移鍵控技術(shù)要求在波特率為1200Hz的數(shù)據(jù)位1和0的邊界的相位角是連續(xù)的,所以數(shù)字通訊信號不會影響4~20mA的模擬信號。
1.2 數(shù)據(jù)鏈路層規(guī)范
這一部分協(xié)議規(guī)定了HART幀的格式,實現(xiàn)建立、維護、終結(jié)鏈路通訊功能,HART協(xié)議根據(jù)冗余檢錯碼信息,通過差錯檢測機制和采用自動重發(fā)請求協(xié)議(ARQ),實現(xiàn)通訊數(shù)據(jù)無差錯傳送。與協(xié)議相關(guān)的實體間的數(shù)據(jù)傳輸是以幀的形式實現(xiàn)的。幀是用戶控制和尋址信息對用戶數(shù)據(jù)的封裝,只有幀中的字節(jié)記數(shù)結(jié)束且經(jīng)過了差錯檢驗接收正確無誤或是物理層通知信號傳輸終止(如檢測不到載波)之后才可以進行幀的識別。HART幀的格式如圖1所示。
●PREAMBLE前導(dǎo)信號:實際上是同步信號,各通訊設(shè)備可以據(jù)此略做調(diào)整,保證信息的同步。
●DELIM定界符:一個獨特的或是*容易識別的字符,*高位規(guī)定幀的尋址信息分為長格式或短格式,低3位定義了幀的類型。
●ADDR地址字節(jié):包含了源地址和目的地址,*高位都用來表示與該幀相關(guān)的主設(shè)備的地址。“1”表示基本主設(shè)備;“0”表示副主設(shè)備。
●COM命令字節(jié):表示現(xiàn)場儀表所要執(zhí)行的功能,范圍為255個。
●BYTE CORNT數(shù)據(jù)總長度:該值表示的是BYTE CORNT下一個字節(jié)到*后(不包括校驗字節(jié))的字節(jié)數(shù)。
●DATA數(shù)據(jù)字節(jié):傳送用戶數(shù)據(jù)和響應(yīng)數(shù)據(jù),但不是每個幀中都會包含數(shù)據(jù)。
●CHK奇偶校驗:方式是縱向奇偶校驗。
在數(shù)據(jù)鏈路層中的HART協(xié)議是一種“主/從”協(xié)議,即由主設(shè)備產(chǎn)生消息,而從設(shè)備只在接收到發(fā)送給它的消息后才做出應(yīng)答。在從設(shè)備的應(yīng)答消息中除了已被接收的確認命令,許多消息中還包含了主設(shè)備詢問的數(shù)據(jù)。HART協(xié)議允許系統(tǒng)中同時有兩個主設(shè)備運行,一個基本主設(shè)備,一個副主設(shè)備。從設(shè)備根據(jù)兩個主設(shè)備不同的地址來向它們分發(fā)各自的應(yīng)答命令消息。實際上在智能現(xiàn)場設(shè)備與中央控制或監(jiān)測設(shè)備的信息往返通訊,根據(jù)傳輸信號的不同,可以分為以下3種通訊模式:模擬模式、模擬+數(shù)字模式和廣播(全數(shù)字)模式。
1.3 應(yīng)用層規(guī)范
HART協(xié)議中包含三類命令:*一類為通用命令,適用于遵守HART協(xié)議的所有產(chǎn)品,符合HART協(xié)議的設(shè)備提供功能描述;*二類為普通操作命令,適用于遵守HART協(xié)議的大部分產(chǎn)品,當(dāng)設(shè)備具有某些功能時,該命令用于對這些功能的描述;*三類為設(shè)備特殊命令,適用于遵守HART協(xié)議的特殊產(chǎn)品,提供一些特殊的功能描述命令。HART協(xié)議對于廠家生產(chǎn)的具有特殊功能的產(chǎn)品還提供了設(shè)備描述語言DDL,以確?;ゲ僮餍?。
2、基于HART協(xié)議的雨水流量計的硬件設(shè)計
帶有HART通訊協(xié)議的雨水流量計的硬件系統(tǒng)電路采用模塊化設(shè)計,主要包括傳感器模塊、MCU模塊、HART通訊模塊和人機界面模塊4個部分。由單片機控制的低頻勵磁電流輸出到傳感器的勵磁線圈中,同時來自電磁流量傳感器的微小電勢信號經(jīng)前置放大后通過AD模數(shù)轉(zhuǎn)換電路送入到單片機。單片機對這些信號進行數(shù)據(jù)采集,分析處理送至液晶顯示屏進行瞬時流量和累積流量的顯示。同時單片機通過計算公式對得到的流量值進行補償,將補償后的流量信號通過HART通訊模塊實現(xiàn)與上位機的遠程通訊。
2.1 HART通訊模塊設(shè)計
HT2012芯片用來實現(xiàn)HART協(xié)議中通訊信號的解調(diào)及調(diào)制過程。圖2為調(diào)制解調(diào)器與微處理器的連接。
HARTHART信號的解調(diào)過程:由帶通濾波器輸出的脈沖信號進入HT2012后,調(diào)制解調(diào)器分別將脈沖信號中的1200Hz和2200Hz解調(diào)為數(shù)字1和0,再將數(shù)字信號由HT2012的ORXD端口輸出,CPU對接收到的數(shù)據(jù)進行判斷并執(zhí)行相應(yīng)的任務(wù)。
2.2 HT2012與外部接口
HART數(shù)字信號規(guī)范是峰值為1mA、平均值為0mA正弦交流電流信號,此信號經(jīng)線路阻抗轉(zhuǎn)化為正弦交流電壓信號,而HT2012輸入和輸出信號是0~5V的方波信號,因此在HT2012和外部的HART信號之間還需要有濾波電路和整形電路。如圖3所示,由TLC27組成的濾波器是帶通濾波器,用來減少接收信號的噪聲干擾。濾波器還用來消除波形中的尖峰,從而使接收到的信號變得平緩。TLC37組成的數(shù)字方波產(chǎn)生回路把經(jīng)過TLC27濾波后的正弦波轉(zhuǎn)變成相應(yīng)的方波,以便于HT2012接收。
如圖4所示,緩沖器74HC126的作用是使方波的上升沿和下降沿趨于平緩,使信號滿足HART物理層規(guī)范所要求的信號波形上升沿和下沿的時要求,因為較平緩的上升沿和下降沿時間可以降低與其它網(wǎng)絡(luò)間的串?dāng)_。
HT2012需要外部提供460.8kHz的時鐘信號,且要求時鐘頻率的誤差是0.1%,若直接入一個460.8kHz的晶振不僅會引起系統(tǒng)功耗的增加,而且該晶振屬于非標(biāo)準(zhǔn)晶振,需專門定制。為了解決這一問題,在系統(tǒng)中采用一片1.8432MHz的晶振以產(chǎn)生時鐘信號,再經(jīng)分頻器CD4013進行4分頗,可輸出1.8432MHz/4=460.8kHz的分頻信號供HT2012使用。AD421其內(nèi)部的電壓調(diào)節(jié)器與外部的場效應(yīng)管DN25D對輸入到AD421的電壓進行調(diào)整,可提供+3.3V電壓作為其他設(shè)備的電源。HART發(fā)出的FSK信號,經(jīng)過一個電容耦合送到AD421中,轉(zhuǎn)換成相應(yīng)的0.5mA正弦電流信號,實現(xiàn)電壓信號到電流信號的轉(zhuǎn)換,同時,疊加在4~20mA的電流上送給接收設(shè)備,實現(xiàn)了HART協(xié)議的信息的交換。本電路耦合電容取為0.0033μF,如圖5所示。
3、HART通訊協(xié)議的軟件實現(xiàn)
3.1 雨水流量計串口中斷程序
在HART通信中,雨水流量計作為從設(shè)備進行通訊,所以這里的軟件設(shè)計只是針對于從設(shè)備。HART通信采用水平和垂直校驗的方法。當(dāng)檢測到接收數(shù)據(jù)有差錯時,則等到主設(shè)備命令幀發(fā)完后,通知主設(shè)備數(shù)據(jù)接收有誤。主設(shè)備則重新發(fā)命令幀,從而保證通信的準(zhǔn)確可靠。HART中斷子程序流程圖如圖6所示。由于HART通信為主從方式,HART幀中每個字節(jié)在物理層傳輸需要9ms左右,為了保證通訊的實時性,通訊程序采用串行口終端接收/發(fā)送。該中斷所要完成通信中的主要任務(wù),即接收和發(fā)送幀,幀的拆分和打包。
3.2 上位機軟件數(shù)據(jù)采集程序
1)形成讀流量計長幀地址命令字:5個FF前導(dǎo)碼;起始字符為02(采用短幀格式時,主設(shè)備向從設(shè)備發(fā)送);地址為00(輪循地址);命令字是00(讀變送器標(biāo)識命令字節(jié)數(shù));無數(shù)據(jù)。
2)追加校驗和:采用異或邏輯運算求校驗和追加在字節(jié)數(shù)后,形成完整命令。
3)按異步串行通信方式發(fā)送命令并接收從設(shè)備回答的信息。
4)從回答的信息中提取流量計長幀地址。
5)形成讀流量計其他數(shù)據(jù)命令:5個FF前導(dǎo)碼;起始字符為82(采用長幀格式時,主設(shè)備向從設(shè)備發(fā)送);地址為流量計長幀地址;命令字、字節(jié)數(shù)和數(shù)據(jù)略;采用異或邏輯運算求校驗和,追加在字節(jié)數(shù)后,形成完整命令。
6)按異步串行通信方式發(fā)送命令并接收儀器回答的信息。
7)從回答的信息中提取流量計數(shù)據(jù)。以后再讀取流量計的數(shù)據(jù)時,只進行(5)~(7)步即可。流程圖見圖7所示。
4、結(jié)論
對研制的雨水流量計進行試驗表明:該流量計集成化程度高、功能強、操作方便、性能可靠;具有自診斷、自檢定功能和HART數(shù)據(jù)通訊功能;可測正反兩個方向流量,也可測脈動流量;抗電磁干擾和溫度性能好,適合于現(xiàn)場測量和顯示;測量范圍大,準(zhǔn)確度高。
HART,即Highway Addressable Remote Transduc-er,是可尋址遠程傳感器高速公路的簡稱,*早由美國Rosemount公司開發(fā)并得到八十多家**儀表公司的支持,其特點是在不干擾4~20mA模擬信號的同時允許雙向數(shù)字通訊。符合HART協(xié)議的雨水流量計不僅可以實現(xiàn)各種流量的檢測和就地顯示,還可以通過上位機進行遠程設(shè)定,改變流量計的零點、量程,以及完成自診斷等功能,在很大程度上方便了流量計的使用和維護,因而具有較強的市場競爭力。本文討論基于HART協(xié)議雨水流量計具體實現(xiàn)的技術(shù)問題,一是要解決硬件電路的設(shè)計問題,二是要討論實現(xiàn)HART協(xié)議命令集編程及上位機軟件的實現(xiàn)。
1、HART協(xié)議簡介
HART協(xié)議遵循ISO制訂的OSI開放式系統(tǒng)互連參考模型,采用了OSI模型的*一層、*二層和*七層,即物理層、數(shù)據(jù)鏈路層和應(yīng)用層。
1.1 物理層規(guī)范
HART協(xié)議采用美國電話通訊系統(tǒng)Bell202頻移鍵控(FSK)標(biāo)準(zhǔn),在4~20 mA的模擬0.5mA的正弦波,波特率是1200bps。因為所疊加的正弦信號平均值為0,而且相位連續(xù)頻移鍵控技術(shù)要求在波特率為1200Hz的數(shù)據(jù)位1和0的邊界的相位角是連續(xù)的,所以數(shù)字通訊信號不會影響4~20mA的模擬信號。
1.2 數(shù)據(jù)鏈路層規(guī)范
這一部分協(xié)議規(guī)定了HART幀的格式,實現(xiàn)建立、維護、終結(jié)鏈路通訊功能,HART協(xié)議根據(jù)冗余檢錯碼信息,通過差錯檢測機制和采用自動重發(fā)請求協(xié)議(ARQ),實現(xiàn)通訊數(shù)據(jù)無差錯傳送。與協(xié)議相關(guān)的實體間的數(shù)據(jù)傳輸是以幀的形式實現(xiàn)的。幀是用戶控制和尋址信息對用戶數(shù)據(jù)的封裝,只有幀中的字節(jié)記數(shù)結(jié)束且經(jīng)過了差錯檢驗接收正確無誤或是物理層通知信號傳輸終止(如檢測不到載波)之后才可以進行幀的識別。HART幀的格式如圖1所示。
●PREAMBLE前導(dǎo)信號:實際上是同步信號,各通訊設(shè)備可以據(jù)此略做調(diào)整,保證信息的同步。
●DELIM定界符:一個獨特的或是*容易識別的字符,*高位規(guī)定幀的尋址信息分為長格式或短格式,低3位定義了幀的類型。
●ADDR地址字節(jié):包含了源地址和目的地址,*高位都用來表示與該幀相關(guān)的主設(shè)備的地址。“1”表示基本主設(shè)備;“0”表示副主設(shè)備。
●COM命令字節(jié):表示現(xiàn)場儀表所要執(zhí)行的功能,范圍為255個。
●BYTE CORNT數(shù)據(jù)總長度:該值表示的是BYTE CORNT下一個字節(jié)到*后(不包括校驗字節(jié))的字節(jié)數(shù)。
●DATA數(shù)據(jù)字節(jié):傳送用戶數(shù)據(jù)和響應(yīng)數(shù)據(jù),但不是每個幀中都會包含數(shù)據(jù)。
●CHK奇偶校驗:方式是縱向奇偶校驗。
在數(shù)據(jù)鏈路層中的HART協(xié)議是一種“主/從”協(xié)議,即由主設(shè)備產(chǎn)生消息,而從設(shè)備只在接收到發(fā)送給它的消息后才做出應(yīng)答。在從設(shè)備的應(yīng)答消息中除了已被接收的確認命令,許多消息中還包含了主設(shè)備詢問的數(shù)據(jù)。HART協(xié)議允許系統(tǒng)中同時有兩個主設(shè)備運行,一個基本主設(shè)備,一個副主設(shè)備。從設(shè)備根據(jù)兩個主設(shè)備不同的地址來向它們分發(fā)各自的應(yīng)答命令消息。實際上在智能現(xiàn)場設(shè)備與中央控制或監(jiān)測設(shè)備的信息往返通訊,根據(jù)傳輸信號的不同,可以分為以下3種通訊模式:模擬模式、模擬+數(shù)字模式和廣播(全數(shù)字)模式。
1.3 應(yīng)用層規(guī)范
HART協(xié)議中包含三類命令:*一類為通用命令,適用于遵守HART協(xié)議的所有產(chǎn)品,符合HART協(xié)議的設(shè)備提供功能描述;*二類為普通操作命令,適用于遵守HART協(xié)議的大部分產(chǎn)品,當(dāng)設(shè)備具有某些功能時,該命令用于對這些功能的描述;*三類為設(shè)備特殊命令,適用于遵守HART協(xié)議的特殊產(chǎn)品,提供一些特殊的功能描述命令。HART協(xié)議對于廠家生產(chǎn)的具有特殊功能的產(chǎn)品還提供了設(shè)備描述語言DDL,以確?;ゲ僮餍?。
2、基于HART協(xié)議的雨水流量計的硬件設(shè)計
帶有HART通訊協(xié)議的雨水流量計的硬件系統(tǒng)電路采用模塊化設(shè)計,主要包括傳感器模塊、MCU模塊、HART通訊模塊和人機界面模塊4個部分。由單片機控制的低頻勵磁電流輸出到傳感器的勵磁線圈中,同時來自電磁流量傳感器的微小電勢信號經(jīng)前置放大后通過AD模數(shù)轉(zhuǎn)換電路送入到單片機。單片機對這些信號進行數(shù)據(jù)采集,分析處理送至液晶顯示屏進行瞬時流量和累積流量的顯示。同時單片機通過計算公式對得到的流量值進行補償,將補償后的流量信號通過HART通訊模塊實現(xiàn)與上位機的遠程通訊。
2.1 HART通訊模塊設(shè)計
HT2012芯片用來實現(xiàn)HART協(xié)議中通訊信號的解調(diào)及調(diào)制過程。圖2為調(diào)制解調(diào)器與微處理器的連接。
HARTHART信號的解調(diào)過程:由帶通濾波器輸出的脈沖信號進入HT2012后,調(diào)制解調(diào)器分別將脈沖信號中的1200Hz和2200Hz解調(diào)為數(shù)字1和0,再將數(shù)字信號由HT2012的ORXD端口輸出,CPU對接收到的數(shù)據(jù)進行判斷并執(zhí)行相應(yīng)的任務(wù)。
2.2 HT2012與外部接口
HART數(shù)字信號規(guī)范是峰值為1mA、平均值為0mA正弦交流電流信號,此信號經(jīng)線路阻抗轉(zhuǎn)化為正弦交流電壓信號,而HT2012輸入和輸出信號是0~5V的方波信號,因此在HT2012和外部的HART信號之間還需要有濾波電路和整形電路。如圖3所示,由TLC27組成的濾波器是帶通濾波器,用來減少接收信號的噪聲干擾。濾波器還用來消除波形中的尖峰,從而使接收到的信號變得平緩。TLC37組成的數(shù)字方波產(chǎn)生回路把經(jīng)過TLC27濾波后的正弦波轉(zhuǎn)變成相應(yīng)的方波,以便于HT2012接收。
如圖4所示,緩沖器74HC126的作用是使方波的上升沿和下降沿趨于平緩,使信號滿足HART物理層規(guī)范所要求的信號波形上升沿和下沿的時要求,因為較平緩的上升沿和下降沿時間可以降低與其它網(wǎng)絡(luò)間的串?dāng)_。
HT2012需要外部提供460.8kHz的時鐘信號,且要求時鐘頻率的誤差是0.1%,若直接入一個460.8kHz的晶振不僅會引起系統(tǒng)功耗的增加,而且該晶振屬于非標(biāo)準(zhǔn)晶振,需專門定制。為了解決這一問題,在系統(tǒng)中采用一片1.8432MHz的晶振以產(chǎn)生時鐘信號,再經(jīng)分頻器CD4013進行4分頗,可輸出1.8432MHz/4=460.8kHz的分頻信號供HT2012使用。AD421其內(nèi)部的電壓調(diào)節(jié)器與外部的場效應(yīng)管DN25D對輸入到AD421的電壓進行調(diào)整,可提供+3.3V電壓作為其他設(shè)備的電源。HART發(fā)出的FSK信號,經(jīng)過一個電容耦合送到AD421中,轉(zhuǎn)換成相應(yīng)的0.5mA正弦電流信號,實現(xiàn)電壓信號到電流信號的轉(zhuǎn)換,同時,疊加在4~20mA的電流上送給接收設(shè)備,實現(xiàn)了HART協(xié)議的信息的交換。本電路耦合電容取為0.0033μF,如圖5所示。
3、HART通訊協(xié)議的軟件實現(xiàn)
3.1 雨水流量計串口中斷程序
在HART通信中,雨水流量計作為從設(shè)備進行通訊,所以這里的軟件設(shè)計只是針對于從設(shè)備。HART通信采用水平和垂直校驗的方法。當(dāng)檢測到接收數(shù)據(jù)有差錯時,則等到主設(shè)備命令幀發(fā)完后,通知主設(shè)備數(shù)據(jù)接收有誤。主設(shè)備則重新發(fā)命令幀,從而保證通信的準(zhǔn)確可靠。HART中斷子程序流程圖如圖6所示。由于HART通信為主從方式,HART幀中每個字節(jié)在物理層傳輸需要9ms左右,為了保證通訊的實時性,通訊程序采用串行口終端接收/發(fā)送。該中斷所要完成通信中的主要任務(wù),即接收和發(fā)送幀,幀的拆分和打包。
3.2 上位機軟件數(shù)據(jù)采集程序
1)形成讀流量計長幀地址命令字:5個FF前導(dǎo)碼;起始字符為02(采用短幀格式時,主設(shè)備向從設(shè)備發(fā)送);地址為00(輪循地址);命令字是00(讀變送器標(biāo)識命令字節(jié)數(shù));無數(shù)據(jù)。
2)追加校驗和:采用異或邏輯運算求校驗和追加在字節(jié)數(shù)后,形成完整命令。
3)按異步串行通信方式發(fā)送命令并接收從設(shè)備回答的信息。
4)從回答的信息中提取流量計長幀地址。
5)形成讀流量計其他數(shù)據(jù)命令:5個FF前導(dǎo)碼;起始字符為82(采用長幀格式時,主設(shè)備向從設(shè)備發(fā)送);地址為流量計長幀地址;命令字、字節(jié)數(shù)和數(shù)據(jù)略;采用異或邏輯運算求校驗和,追加在字節(jié)數(shù)后,形成完整命令。
6)按異步串行通信方式發(fā)送命令并接收儀器回答的信息。
7)從回答的信息中提取流量計數(shù)據(jù)。以后再讀取流量計的數(shù)據(jù)時,只進行(5)~(7)步即可。流程圖見圖7所示。
4、結(jié)論
對研制的雨水流量計進行試驗表明:該流量計集成化程度高、功能強、操作方便、性能可靠;具有自診斷、自檢定功能和HART數(shù)據(jù)通訊功能;可測正反兩個方向流量,也可測脈動流量;抗電磁干擾和溫度性能好,適合于現(xiàn)場測量和顯示;測量范圍大,準(zhǔn)確度高。