摘要: 提出了基于ARM 處理器LPC2103、GPRS 技術、Visual Basic 可視化編程軟件相結合的遠程監控系統設計。該系統改善了采用GPRS 技術頻繁通信時存在的通信滯后、誤碼率較高的問題。簡化了GPRS 模塊與PC 機通信的軟件程序,降低了開發成本。
目前遠程監控主要有以下方式: 短距離長線監控、通過市話網、通過Internet 網絡、通過自組網絡(CDPD網)及通過數傳電臺監控。
短距離長線監控和通過自組網絡自行建設通信網絡, 信號質量得以保證, 但建網初期投資巨大, 運營期間維護耗費較高; 通過市話網和Internet 方式, 通信效果好, 信號量大, 運營費用相對低廉, 但接入網絡受到限制, 且網絡運行效果取決于網絡運營商, 難以達到工業現場覆蓋面; 數傳電臺出現較早、應用廣泛, 信號傳輸實時性好、運行費用低, 但建網初期投資巨大、傳輸范圍有限, 易受空間無線信號干擾。
通用分組無線業務GPRS(General Packet Radio Ser -vice) 是在現有GSM 系統上發展出來的一種新的承載業務, 目的是為GSM 用戶提供分組形式的數據業務。
1 系統的總體結構
監控系統由現場數字量和模擬量采集及處理、GPRS 組網通信、監測中心上位機軟件三部分構成。其中, 現場數據采集由系統監控終端完成, 終端同時具有分析、記錄采集數據供上位機查詢, 并在現場出現異常事件時主動上傳報警信息的功能;GPRS 通信網絡是監測中心與現場監控終端之間數據傳輸的橋梁, 使現場相關數據及時傳送到監測中心計算機; 監測中心軟件一方面通過GPRS 網絡與現場監控終端進行雙向通信, 另一方面為用戶提供一個可視化界面。監控系統的結構如圖1 所示。
系統總體結構圖
圖1 系統總體結構圖
由于GPRS 網絡的工作方式是以IP 地址尋址為基礎的, 所以上位機作為網絡的服務器端, 指定固定的IP和端口號, 而終端只需要簡單接入Internet ,具備公網動態分配的IP 地址即可。終端接入Internet 具備IP 之后,主動向上位機發送數據進行連接。當連接通道建立以后, 上位機和終端即可以進行雙工數據傳輸。
上位機根據用戶要求, 通過GPRS 網絡向終端發送數據幀。終端接收到數據幀后, 先分析內容, 再執行相應命令。
系統的具體控制目的是在水廠監控中心與水源地之間利用GPRS 網絡實現遠程監控, 在水源地處每口井都用繼電器模塊4060 控制潛水泵的啟停, 電量模塊采集電壓及電流等信號, 控制器MCU 通過GPRS 模塊與控制中心進行數據交換。控制系統分為三個單元: 控制中心(一水廠)、水源地及二水廠。
2 系統硬件設計
2.1 控制器選型
控制器MCU 選用PHILIPS 公司最新推出的基于32位ARM7TDMI -S 、LQFP48 封裝的LPC2103 , 其帶有32KB 嵌入的高速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 - JTAGSERVER 實現調試代理的功能,H-FLASHER 則實現了Flash 燒寫的功能。
H-JTAG 支持ARM 公司的RDI 接口。通過RDI 接口,H -JTAG 能夠支持大多數主流的ARM 調試軟件。
JTAG 調試接口如圖2 所示, 調試結構如圖3 所示。
圖2 JTAG 調試接口
圖3 H-JTAG 調試結構
調試軟件(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 所示。
控制器軟件流程圖
圖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 所示。
GPRS 接收數據流程圖
圖5 GPRS 接收數據流程圖
GPRS 發送數據流程圖
圖6 GPRS 發送數據流程圖
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 模塊通信的問題, 降低了開發成本。本系統已用于實際現場, 效果良好。