摘 要: 提出了基于ARM處理器LPC2103、GPRS技術、Visual Basic可視化編程軟件相結合的遠程監控系統設計。該系統改善了采用GPRS技術頻繁通信時存在的通信滯后、誤碼率較高的問題。簡化了GPRS模塊與PC機通信的軟件程序,降低了開發成本。
關鍵詞: 遠程監控;LPC2103;GPRS技術;MC55
目前遠程監控主要有以下方式:短距離長線監控、通過市話網、通過Internet網絡、通過自組網絡(CDPD網)及通過數傳電臺監控。
短距離長線監控和通過自組網絡自行建設通信網絡,信號質量得以保證,但建網初期投資巨大,運營期間維護耗費較高;通過市話網和Internet方式,通信效果好,信號量大,運營費用相對低廉,但接入網絡受到限制,且網絡運行效果取決于網絡運營商,難以達到工業現場覆蓋面;數傳電臺出現較早、應用廣泛,信號傳輸實時性好、運行費用低,但建網初期投資巨大、傳輸范圍有限,易受空間無線信號干擾。
通用分組無線業務GPRS(General Packet Radio Service)是在現有GSM系統上發展出來的一種新的承載業務,目的是為GSM用戶提供分組形式的數據業務。
1 系統的總體結構
監控系統由現場數字量和模擬量采集及處理、GPRS組網通信、監測中心上位機軟件三部分構成。其中,現場數據采集由系統監控終端完成,終端同時具有分析、記錄采集數據供上位機查詢,并在現場出現異常事件時主動上傳報警信息的功能;GPRS通信網絡是監測中心與現場監控終端之間數據傳輸的橋梁,使現場相關數據及時傳送到監測中心計算機;監測中心軟件一方面通過GPRS網絡與現場監控終端進行雙向通信,另一方面為用戶提供一個可視化界面。監控系統的結構如圖1所示。
由于GPRS網絡的工作方式是以IP地址尋址為基礎的,所以上位機作為網絡的服務器端,指定固定的IP和端口號,而終端只需要簡單接入Internet,具備公網動態分配的IP地址即可。終端接入Internet具備IP之后,主動向上位機發送數據進行連接。當連接通道建立以后,上位機和終端即可以進行雙工數據傳輸。
上位機根據用戶要求,通過GPRS網絡向終端發送數據幀。終端接收到數據幀后,先分析內容,再執行相應命令。
系統的具體控制目的是在水廠監控中心與水源地之間利用GPRS網絡實現遠程監控,在水源地處每口井都用繼電器模塊4060控制潛水泵的啟停,電量模塊采集電壓及電流等信號,控制器MCU通過GPRS模塊與控制中心進行數據交換。控制系統分為三個單元:控制中心(一水廠)、水源地及二水廠。
2 系統硬件設計
2.1 控制器選型
控制器MCU選用PHILIPS公司最新推出的基于32位ARM7TDMI-S、LQFP48封裝的LPC2103,其帶有32 KB嵌入的高速Flash存儲器,128位寬度的存儲器接口和獨特的加速結構使32位代碼能夠在最大時鐘速率下運行。在完全掉電模式下,達到6 μA的低功耗水平,與高級51系列單片機相比,LPC2103具有極高的性價比優勢,尤其是價格與單片機相差無幾。
多個32位和16位定時器、一個改良的10位ADC、所有定時器上輸出匹配的PWM特性、以及具有多達13個邊沿或電平觸發的外部中斷管腳的32條高速GPIO線,使這些微控制器特別適用于工業控制和醫療系統中。2.2 EsayJTAG-H仿真器
EasyJTAG-H仿真器是一款新型的仿真器,目前,可以支持LPC2103微控制器和部分ARM9芯片,支持ADS1.2集成開發環境,支持單步、全速及斷點等調試功能,支持下載程序到片內Flash和特定型號的片外Flash,采用ARM公司提供的標準20引腳JTAG仿真調試接口。這款仿真器需要H-JTAG軟件(調試代理)的支持。
H-JTAG是一款簡單易用的調試代理軟件,功能和流行的MULTI-ICE類似。H-JTAG包含兩個工具軟件:H-JTAG SERVER和H-FLASHER。其中,H-JTAG SERVER實現調試代理的功能,H-FLASHER則實現了Flash燒寫的功能。
H-JTAG支持ARM公司的RDI接口。通過RDI接口,H-JTAG能夠支持大多數主流的ARM調試軟件。JTAG調試接口如圖2所示,調試結構如圖3所示。
調試軟件(AXD/RVDS/IAR/KEIL)通過RDI接口與H-JTAG SERVER進行交互。H-JTAG SERVER通過與并口連接的JTAG調試板控制目標板。H-JTAG提供了靈活的JTAG接口設置,通過設置H-JTAG可以支持不同類型的JTAG調試板,如WIGGLER、SDT-JTAG。
2.3 GPRS模塊選型
電量模塊及繼電器模塊將采集到的數據通過RS232傳送到處理器,然后由GPRS模塊通過GPRS網絡將數據傳送到遠端接在互聯網上的網路端控制中心。選用MC55外接SIM卡,即可通過串行協議與ARM處理器通信,將采集信息以資料包的形式,先通過PPP與運營商的Internet服務器連接,然后把資料包發送到Internet上。
MC55包含了高性能GSM/GPRS應用的所有解決方案:基帶處理器、供電電路、完整的無線電頻段電路(包括電源放大器和天線接口)、電源放大器是從供電電壓BATT+直接引出來的。MC55的軟件存儲在Flash中,靜態RAM為GPRS連接提供了額外的存儲空間。該單元應用程序的物理接口是通過板對板的連接器來實現的。它是由50個針腳構成,用來控制該單元、傳輸數據和聲音信號及供電。MC55包含ASC0、ASC1兩個串行接口,為綜合人機接口界面提供更大的適應性。
2.3.1 啟動MC55
通過ignition line/IGT(Power on)時,需要/IGT(Ignition)信號驅動到接地電壓至少100 ms,并且最少距離VDD的最后一個下降沿10 ms,可以通過使用一個開漏極/集極驅動電路避免電流流入該引腳。在電池供電應用程序中,/IGT持續時間最少必須達到1 s,這段時間中連接充電器并且可以從Charge-only模式轉換到Normal模式。
2.3.2 關閉MC55
(1)正常關閉程序——通過AT命令關閉
最安全的方式就是通過發送AT ^ SMSO命令關閉。程序可以使MC55從網絡注銷,使軟件進入安全模式并且在斷電之前保存數據。在這種模式下,只有RTC(實時時鐘)保持運行。關閉該裝置之前先發送
^SMSO:MS OFF
OK
^SHUTDOWN
發送AT^SMSO之后不要再發送其他的AT命令。這種方式為軟件關閉。
(2)緊急情況關閉
緊急情況關閉方法稱為硬件關閉,將板對板連接器的/EMERGOFF信號接地=直接關掉電源,軟件控制的應用程序失效。
3 系統軟件設計
3.1 控制器LPC2103軟件設計
控制器LPC2103的軟件功能主要分為三個方面:對現場采集量及繼電器I/O量的處理、預警功能及與GPRS模塊的通信。現場電量模塊輸出的電量信號較復雜,主要表現在精度高、種類多,且含有大量冗余信息,LPC2103針對這些問題作出相應處理,輸出具有校驗位、起始位、停止位的電壓、電流、功率等信號。當采集量在允許范圍之外時,LPC2103做出預警響應,優先上傳到監控中心進行報警。LPC2103與GPRS模塊通過串口發送AT指令實現通信。設計流程如圖4所示。
3.2 GPRS模塊設計
在本系統中,GPRS模塊主要完成與LPC2103控制器之間的數據交換和通過移動公司的GPRS網絡與遠端計算機進行數據交換。模塊的串口發送AT命令實現對模塊的控制,該模塊的主要功能有:(1)內嵌TCP/IP協議棧,能通過移動公司的GPRS網絡進行數據交換;(2)SMS短信息的發送與接收;(3)GPRS數據包最高可達1.5 KB;(4)GPRS模塊與ARM處理器器經AT指令集通過串口進行數據通信。GPRS模塊與ARM處理器完成數據收、發的程序流程圖分別如圖5、圖6所示。
3.3 上位機軟件的編寫
上位機采用Visual Basic與組態王6.53進行開發,軟件設計主要包括通信程序的設計、數據管理程序的設計以及系統界面的設計。VB中提供了用于數據通信的MSCOMM通信控件,如何利用該控件提供的屬性、方法和事件是設計運行穩定、數據傳輸正確的通信程序的關鍵。
GPRS模塊通信過程的實現:
(1)查看SIM卡是否插入
①命令:AT+CPIN?
②響應:READY:正常
ERROR:GPRS模塊未檢測到SIM卡
(2)查詢是否附著GPRS網絡
①命令:AT+CGATT?
②響應:AT+CGATT=1:附著網絡;AT+CGATT=0:未附著網絡
(3)查詢是網絡信號強度
①命令:AT+CGREG?
②響應:0~31,0表示當信號強度,>18時就可以進行GPRS通信
(4)撥號
①命令:ATD*99***1#
②響應:CONNNECT:撥號成功,可以進行PPP交互
NO CARRIER:撥號失敗
本監控系統使ARM處理器與GPRS模塊相結合,提高了系統的可靠性,解決了GPRS模塊頻繁通信出現的滯后性的問題,降低了數據的誤碼率。使用VB與組態王相結合設計的上位機程序,在保證了界面美觀性的同時,解決了PC機與GPRS模塊通信的問題,降低了開發成本。本系統已用于實際現場,效果良好。
參考文獻
[1] 廣州周立功單片機發展有限公司.PHILIPS LPC2103芯片使用手冊[M].2008.
[2] 范逸之.Visual Bsaic與RS232串行通信控制[M].北京:中國青年出版社,2005.
[3] 張新成,李慶亮.基于GPRS遠程數據采集系統的設計與實現[J].計算機工程與設計,2006,7(14):2561-2563.
[4] 廖勝.基于ARM嵌入式的遠程監控系統設計[J].科技信息,2007(1):44-46.