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