周澍,王劍,徐平,姜周曙
(杭州電子科技大學(xué)自動化研究所 浙江杭州 310018)
摘要:為了實現(xiàn)熱泵多機組的集中管理,設(shè)計了一套基于GPRS網(wǎng)絡(luò)無線通信技術(shù)的遠程監(jiān)控系統(tǒng)。系統(tǒng)利用自主研發(fā)的獨立的無線數(shù)據(jù)傳輸裝置來完成熱泵機組工作參數(shù)和控制信息的傳輸。該裝置采用Cortex_M3內(nèi)核的高性能單片機STM32F103作為核心測控元件;采用華為GPRS模塊EM310作為通信模塊,完成基于TCP/IP的數(shù)據(jù)通信。提供了標準的RS232和RS485接口,實現(xiàn)熱泵數(shù)據(jù)收發(fā),無特定的數(shù)據(jù)通信要求,具有一定通用性。為實現(xiàn)可靠的熱泵遠程監(jiān)控,提出了一種針對熱泵數(shù)據(jù)特點的應(yīng)用層無線數(shù)據(jù)傳輸協(xié)議和相應(yīng)的軟件方案。對比以往的遠程監(jiān)控,該方案具有成本低、體積小、傳輸速度高、無需布線等特點,具有較高推廣價值。
關(guān)鍵詞:熱泵;遠程監(jiān)控;GPRS;Cortex_M3
中圖分類號:TK43 文獻標識碼:A 文章編號:
GPRS network use in Heat Pump Monitoring
Zhou Shu, Wang Jian, Xu Ping, Jiang-Zhou Shu
(Institute of Automation, Hangzhou Dianzi University, Hangzhou Zhejiang,310018, China)
Abstract: In order to achieve the centralized management of multiple-unit heat pump, a set of remote monitoring and controlling system(MCS) was developed based on the GPRS wireless network communication technology. Using an independent wireless data transmission device, the system exchanges the local heat pump unit operating parameters and control information through the wireless network with the remote MCS . The device take high-performance microcontroller STM32F103 which has a Cortex_M3 kernel as the core monitoring device, and take Huawei GPRS module EM310 as the communication module to complete data communication based on TCP / IP protocol. The device provides standard RS232, and RS485 interfaces to receive data from heat pump. Don’t need a specific data communication protocol, this device can be used in many places. In order to meet the high reliability for remote monitoring, the paper proposed an application layer data transfer protocol and developed the corresponding software program. Comparison of other remote monitoring programs in the past, this one has features of lower cost, smaller size, higher transmission speed and without wiring. It has high promotion value.
key words:Heat pump; Remote monitoring; GPRS ; Cortex_M3
0 引言
熱泵熱水器是繼電熱熱水器、燃氣熱水器以及太陽能熱水器之后出現(xiàn)的新型熱水器,具有高效節(jié)能、安全環(huán)保、全天候運行、使用方便等優(yōu)點[1];在商業(yè)領(lǐng)域,尤其是在酒店賓館、醫(yī)院、學(xué)校、休閑場所等商用公用事業(yè)方面廣泛應(yīng)用[2]。目前熱泵控制器的種類繁多,但是多數(shù)控制器仍然與機組緊密結(jié)合,用戶需要在機組現(xiàn)場才能實現(xiàn)對機組的人為干預(yù)。隨著熱泵熱水器應(yīng)用的增多,熱泵機組故障問題也越來越受到人們的關(guān)注。其中有相當(dāng)一部分故障是由于管理不到位引起的。特別是酒店賓館等多機組熱泵的應(yīng)用場合,由于機組分散部件出現(xiàn)故障后往往不能得到及時的維修;而且管理人員也很難準確掌握各機組的實時運行狀況。
工業(yè)上經(jīng)常采用以太網(wǎng)進行遠程通信。但是由于熱泵機房環(huán)境差別大,以太網(wǎng)布線復(fù)雜、成本高,并不能很好的滿足各種環(huán)境下遠程監(jiān)控的需求。隨著GPRS網(wǎng)絡(luò)數(shù)據(jù)傳輸技術(shù)日趨成熟,利用GPRS網(wǎng)絡(luò)傳輸數(shù)據(jù)可以方便地接入基于TCP /IP協(xié)議的網(wǎng)絡(luò),省去了繁雜的布線工程,大大增加了系統(tǒng)的靈活性[3];因此在數(shù)據(jù)采集、智能交通、實時信息查詢、智能家居等領(lǐng)域都有著廣泛的應(yīng)用[4]。鑒于此,本文提出了一種利用GPRS網(wǎng)絡(luò)進行遠程通信的無線數(shù)據(jù)終端。數(shù)據(jù)終端采用具有Cortex-M3內(nèi)核的STM32F103作為控制單元,華為EM310作為GPRS通訊單元,并設(shè)計了應(yīng)用層的數(shù)據(jù)傳輸協(xié)議以提高遠程控制的可靠性。
采用該獨立的無線數(shù)據(jù)終端實現(xiàn)的熱泵遠程監(jiān)控系統(tǒng),可以方便的接入Internet;管理員可在任何地點通過網(wǎng)絡(luò)進行實時的監(jiān)控。同時由于無線的設(shè)計,使得機組遷移后無需布線,不但節(jié)省了建設(shè)步驟和成本,同時也使得該系統(tǒng)可用于列車等移動的環(huán)境。
1 GPRS相關(guān)技術(shù)的介紹
GPRS( General Packet Radio Service) 通用分組無線業(yè)務(wù)是在現(xiàn)有第二代移動通信GSM系統(tǒng)基礎(chǔ)上引入了分組控制單元( PCU) 、服務(wù)支持節(jié)點(SGSN) 和網(wǎng)關(guān)支持節(jié)點( GGSN) 等新部件而構(gòu)成的無線數(shù)據(jù)傳輸系統(tǒng)[5]。GPRS通過多個GSM時隙的復(fù)用,數(shù)據(jù)傳輸速率57.6Kbit/s,最大理論峰值可達171.2Kbit/s;可以接入基于TCP/IP 的外部網(wǎng)絡(luò)和X.25 網(wǎng)絡(luò)。
網(wǎng)絡(luò)為每個電話號碼動態(tài)的分配一個IP;提供實時在線功能,能隨時為用戶提供一個透明的IP通道用于訪問Internet。GPRS接入等待時間短,可快速建立連接,平均耗時為兩秒。此外,GPRS網(wǎng)絡(luò)按流量計費使其相比其他無線網(wǎng)絡(luò)具有明顯的成本優(yōu)勢[3] [6] [7]。
2 方案
熱泵機組遠程監(jiān)控的目的是幫助用戶實現(xiàn)對熱泵機組的異地管理,提供機組工況參數(shù)和機組部件控制操作。熱泵遠程監(jiān)控系統(tǒng)由熱泵本地控制器、GPRS無線數(shù)據(jù)終端和監(jiān)控中心軟件平臺構(gòu)成,結(jié)構(gòu)如圖1所示。
熱泵本地控制器是安裝在機組上的本地控制設(shè)備,主要用于采集各個部件的工作參數(shù)和控制相關(guān)部件的運行;如采集壓縮機溫度、壓力和控制風(fēng)機的啟停等工作。
監(jiān)控中心軟件平臺是指在Internet上運行有熱泵遠程控制軟件的用戶個人電腦;具有遠程顯示機組各部件參數(shù),故障報警,提供部件相應(yīng)控制操作的功能。
GPRS無線數(shù)據(jù)終端是上下行數(shù)據(jù)的樞紐,為熱泵本地控制器與遠程監(jiān)控中心提供無線數(shù)據(jù)通信服務(wù)。
GPRS無線數(shù)據(jù)終端提供了RS232和RS485接口用于與熱泵本地控制器通信;與監(jiān)控中心之間通過GPRS網(wǎng)絡(luò)和Internet,采用基于TCP/IP協(xié)議的無線數(shù)據(jù)傳輸方式進行通信。系統(tǒng)數(shù)據(jù)傳輸是雙向的,下行數(shù)據(jù)由監(jiān)控中心發(fā)起,主要用于傳遞熱泵機組控制信息;上行數(shù)據(jù)由本地?zé)岜每刂破靼l(fā)起,主要用于傳遞熱泵機組工作參數(shù)。整個過程中無線數(shù)據(jù)終端通信質(zhì)量決定了熱泵遠程監(jiān)控的可靠性。
3 數(shù)據(jù)終端硬件設(shè)計
無線數(shù)據(jù)終端由微控制器STM32F103、GPRS模塊通信電路、電源模塊、用戶串口電路、配置串口電路、獨立時鐘電路、外部存儲器等部分組成。其硬件結(jié)構(gòu)圖如圖2所示。
微控制器STM32F103使用高性能的ARM Cortex-M3 32位的RISC內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲器(高達512K字節(jié)的閃存和64K字節(jié)的SRAM)。STM32F103提供了程序存儲器(片內(nèi)FLASH)在應(yīng)用編程功能,無線數(shù)據(jù)終篯的工作參數(shù)可直接存儲于FLASH上而不必要外擴EEPRM芯片。此外STM3′F103還提供仆4個通用16位定時器哌豐富的通信接口:2個I2C和SPI、3個USART、2個UART、一個USB和一個CAN。豐篌的通信接口滿足了設(shè)訃中四個串口和一個I2C總線的靀求。
GPRS模塊采用華為EM310模塊,電源電壓3.4V~4.7ቖ,最大下行速率85.6Kbit/s,最大上行速率42.8Kbit/s,內(nèi)嵌TCP/IP協(xié)議,提供10K內(nèi)部緩存。采用EM310模塊用戶不需要自行編寫TCP/IP協(xié)議棧;微控制器STM32F103通過串口發(fā)送AT指令對模塊進行以系列操作,即可建立數(shù)據(jù)伨輸透明通道(TCP鏈接)。-獨立的外部時鐘電路采用時鐘芯片DS1302設(shè)計,為STM32F103提供亇一個高精度帶日歷功能皅實時時鐘,與微控制器采用I2C控口頚信。除了微控制器內(nèi)部SRAM仭外,本設(shè)計擴展了16位256K字節(jié)的SRAM存儲器,以提高應(yīng)對網(wǎng)絡(luò)信號變化和監(jiān)控中心失效等突發(fā)情況下,數(shù)據(jù)存儲和傳輸?shù)陌踩浴?/SPAN>
用戶串口單元直接與熱泵朼地控制器通信,提供RS232咬RS48‵兩種串口。該電路采用SP3223提供RS232電平的轉(zhuǎn)換;采用SP3585-3.3提供R[485電平的轉(zhuǎn)換。配置串口用于用戶配置數(shù)據(jù)終端的各種參數(shù),采用固定波特率38400bps的RS232接口。
電源模塊為整個系統(tǒng)提供兩種電平直流電源,分別為4V和7.3V〃4V電源采用了可調(diào)穩(wěn)壓芯片LM2596輸出最大3A電流,主要為EM310模塊提供一個穩(wěn)定的電源;數(shù)據(jù)終端的其他部分電路都采用3.3V電源供電。電源兩級分離的設(shè)計可以了保證GPRS模塊通信的穩(wěn)定供電。
4 無線數(shù)據(jù)傳輸協(xié)議
本文定義了一種用于熱泵遠程監(jiān)控的應(yīng)用層協(xié)議,以增強無線數(shù)據(jù)傳輸?shù)目煽啃。每次無線數(shù)據(jù)傳輸都以數(shù)據(jù)包的形式進行。數(shù)據(jù)包的格式如表1所示
表1 數(shù)據(jù)包格式
起始符 |
數(shù)據(jù)終端ID |
本次數(shù)據(jù)包編號 |
數(shù)據(jù)域長度 |
數(shù)據(jù)域 |
校驗域 |
結(jié)束符 |
功能代碼 |
數(shù)據(jù) |
|
|
|
|
|
|
|
|
數(shù)據(jù)包采用ASCII碼傳輸,即數(shù)據(jù)包內(nèi)的所有數(shù)據(jù)都以ASCII碼傳輸。除起始符和結(jié)束符外的所有數(shù)據(jù)原本都是非ASCII碼形式,因此必須先轉(zhuǎn)化成ASCII碼形式。轉(zhuǎn)換的方法是:先用16進制表示一個字節(jié)的數(shù)據(jù),分別將高四位和低四位的值轉(zhuǎn)換成ASCII碼存儲在兩個字節(jié)中,高字節(jié)在前。如0x13轉(zhuǎn)換后為0x31、0x33。除除起始符和結(jié)束符外所有域的數(shù)據(jù)都將從一個字節(jié)轉(zhuǎn)為兩個字節(jié)的ASCII碼。下面對各個域說明如下:
l 每個數(shù)據(jù)包以“起始符@”開始,“結(jié)束符!”結(jié)束,各占一個字節(jié)。
l “數(shù)據(jù)終端ID”用于標識本次數(shù)據(jù)發(fā)送方數(shù)據(jù)終端的身份,占四個字節(jié)。
l “本次數(shù)據(jù)包編號”用于標識本次數(shù)據(jù)發(fā)送的序號,占四個字節(jié)。
l “數(shù)據(jù)域長度”指的是數(shù)據(jù)域轉(zhuǎn)換前的長度,單位字節(jié),占四個字節(jié)。
l “校驗域”用于驗證本次數(shù)據(jù)通信的正確性,這里采用了CRC校驗。
l 數(shù)據(jù)域依次分為兩塊:“功能代碼段”和“數(shù)據(jù)段”!肮δ艽a”用于標識本次通訊的目的;數(shù)據(jù)域數(shù)據(jù)段主要用于存放需要傳遞的監(jiān)控數(shù)據(jù),也可以是對功能代碼的補充。功能代碼占兩個字節(jié),數(shù)據(jù)域數(shù)據(jù)段的長度可變,但整個數(shù)據(jù)域轉(zhuǎn)換前長度不超過1000字節(jié)。
5 數(shù)據(jù)終端軟件設(shè)計
5.1 數(shù)據(jù)終端運行流程
GPRS無線數(shù)據(jù)終端的軟件流程,如圖3所示。
上電啟動后,首先初始化微控制器參數(shù);接著為數(shù)據(jù)終端加載運行參數(shù),如監(jiān)控中心IP地址等信息。參數(shù)加載完成后對GPRS模塊進行初始化,初始化的AT指令流程如下:
1)AT%TSIM檢查SIM是否在線
2)AT+CSQ?檢查網(wǎng)絡(luò)信號強度
3)AT%IOMODE=1,1,0設(shè)置數(shù)據(jù)模式
4)AT+CGDCONT=1,“IP”,“CMNET”注冊移動的CMNET網(wǎng)關(guān)
5)AT%ETCPIP=“user”,“gprs”注冊用戶名密碼,并等分配IP
當(dāng)整個硬件平臺配置完成后,數(shù)據(jù)終端根據(jù)策略控制TCP的鏈接打開或者取消。當(dāng)數(shù)據(jù)終端用戶串口接收到的熱泵本地機組上傳的數(shù)據(jù)字節(jié)數(shù)達到1000或串口接收到最后一個字節(jié)數(shù)據(jù)100ms內(nèi)再未收到數(shù)據(jù)時,則將該次數(shù)據(jù)打包啟動一次發(fā)送流程。當(dāng)數(shù)據(jù)終端用戶串口接收到監(jiān)控中心數(shù)據(jù)包時則啟動相應(yīng)的數(shù)據(jù)接收流程。
5.2 TCP連接的控制策略
根據(jù)不同的上線模式控制策略有所不同。在“按需上線”模式下,當(dāng)有數(shù)據(jù)等待發(fā)送時建立TCP連接,在空閑時刻(900秒內(nèi)無數(shù)據(jù)發(fā)送)斷開TCP連接。在“按時上線”模式下按照規(guī)定設(shè)定的時刻進行上下線操作!坝肋h在線”模式即上電后即一直保持TCP鏈接的存在。鏈接通過MCU串口發(fā)送AT指令完成。對應(yīng)的AT指令為:AT%IPOPEN="TCP","61.144.176.175",3000 設(shè)置接收服務(wù)器的協(xié)議類型,IP,和端口號;61.144.176.175為監(jiān)控中心IP,3000為監(jiān)控中心端口號。
5.3 數(shù)據(jù)的收發(fā)流程
當(dāng)有數(shù)據(jù)要發(fā)送時,發(fā)送方將數(shù)據(jù)打包發(fā)往接收方并開始計時。接收方接收到數(shù)據(jù)后,通過校驗域的代碼驗證數(shù)據(jù)包內(nèi)容的正確性。若數(shù)據(jù)包內(nèi)容正確有效,則接收方發(fā)送一個數(shù)據(jù)包通知發(fā)送方數(shù)據(jù)通訊成功,并解析數(shù)據(jù)包執(zhí)行相應(yīng)操作;若數(shù)據(jù)包內(nèi)容出錯,則接收方也需要發(fā)送一個數(shù)據(jù)包通知發(fā)送方數(shù)據(jù)通訊失敗。當(dāng)發(fā)送方檢測到數(shù)據(jù)通訊成功信息后數(shù)據(jù)發(fā)送完成;當(dāng)檢測到數(shù)據(jù)通訊失敗信息或計時超過設(shè)定值時(本設(shè)備該參數(shù)設(shè)為10秒),發(fā)送方認為數(shù)據(jù)通訊失敗,并重新打包數(shù)據(jù)開始新一輪的數(shù)據(jù)發(fā)送和計時,直到通訊成功。這里的發(fā)送方指的是數(shù)據(jù)終端,接收方為監(jiān)控中心。
注:在監(jiān)控中心上運行的收發(fā)流程,兩者的位置剛好互換,兩者在TCP鏈接建立后,通信地位是平等的。通信的數(shù)據(jù)可以是熱泵本地控制器的機組工作參數(shù)或這是監(jiān)控中心的控制信息。
5.4 系統(tǒng)可靠性設(shè)計
為了加強MCU對GPRS模塊實時工作狀態(tài)的掌握,程序增加了AT%TSIM、AT+COPS?、AT+CSQ?、AT%IPOPEN?等四條AT指令;以實現(xiàn)對GPRS網(wǎng)絡(luò)信號、TCP鏈接等通訊環(huán)境參數(shù)的監(jiān)控。
為了及時地獲得無線網(wǎng)絡(luò)通信的質(zhì)量和速度,這里采用了一種“心跳”的方法。即在TCP連接建立后,數(shù)據(jù)終端每隔一定的時間向監(jiān)控中心發(fā)送一個固定的“心跳”數(shù)據(jù)包;監(jiān)控中心接收到數(shù)據(jù)包后返回一個同樣的“心跳”數(shù)據(jù)包。數(shù)據(jù)終端通過對這次數(shù)據(jù)通信的質(zhì)量和速度評價通信信道的質(zhì)量。
綜上所述,這里涉及到了三種通信目的的數(shù)據(jù)包,分別為信息數(shù)據(jù)包、“心跳”數(shù)據(jù)包、通信成功應(yīng)答數(shù)據(jù)包和通信失敗應(yīng)答數(shù)據(jù)包;分別用數(shù)據(jù)域的功能代碼四個不同代碼加以標識。信息數(shù)據(jù)包數(shù)據(jù)域數(shù)據(jù)段包含的是發(fā)送方需要發(fā)送的數(shù)據(jù);應(yīng)答型的數(shù)據(jù)包,無需由發(fā)送方再次做出應(yīng)答,數(shù)據(jù)域數(shù)據(jù)段包含的是應(yīng)答對象的數(shù)據(jù)包編號。
6 結(jié)語
空氣源熱泵本地控制器上傳數(shù)據(jù)一般在每秒50字節(jié)左右;監(jiān)控中心下傳的數(shù)據(jù)隨著用戶的操作波動較大,單次通信數(shù)據(jù)長度小于200字節(jié)。測試表明,該數(shù)據(jù)終端可以連續(xù)承受每秒400字節(jié)的數(shù)據(jù)流量,單次通信數(shù)據(jù)最大長度1024字節(jié)。按照每秒50字節(jié)流量的數(shù)據(jù)上傳計算,外擴的256K存儲器SRAM可以保證遠程主機失效的情況下維持87分鐘的數(shù)據(jù)存儲。相對于以前的通信終端,筆者所設(shè)計的系統(tǒng)具有體積小、結(jié)構(gòu)簡單、成本低廉、移動性高、數(shù)據(jù)吞吐量大的特點,在熱泵遠程控制系統(tǒng)中具有廣闊的應(yīng)用前景。
參考文獻
[1] 顏詩敏,姜周曙,黃國輝.基于S3F9488單片機的熱泵熱水器控制器[J].機電工程,2009,26(02):34-37.
[2] 肖建忠,許飛云.氣源熱泵熱水機組控制器設(shè)計[J].現(xiàn)代電子技術(shù),2007,(19):168-172.
[3] 郜向陽,王庫,李墨雪.GPRS 無線數(shù)據(jù)傳送在農(nóng)情監(jiān)測系統(tǒng)中的應(yīng)用[J].農(nóng)機化研究,2006,(06):186-188.
[4] 衛(wèi)革.基于GPRS的遠程無線數(shù)據(jù)采集系統(tǒng)設(shè)計 [D].北方工業(yè)大學(xué),2010:1-48.
[5] 劉世良.GPRS 技術(shù)在電能量計費系統(tǒng)中的應(yīng)用[J].青海電力,2007,26(04):37-39.
[6] 郭文海,楊軍.CAN 總線與GPRS 在遠程監(jiān)控系統(tǒng)中的應(yīng)用[J].科技信息,2009,(33):29-30
[7] 楊永平.基于GPRS的嵌入式數(shù)據(jù)采集系統(tǒng)設(shè)計[D].大連理工大學(xué),2007:1-70.
|