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