摘 要: 提出了基于ARM處理器LPC2103,、GPRS技術(shù),、Visual Basic可視化編程軟件相結(jié)合的遠程監(jiān)控系統(tǒng)設(shè)計。該系統(tǒng)改善了采用GPRS技術(shù)頻繁通信時存在的通信滯后,、誤碼率較高的問題,。簡化了GPRS模塊與PC機通信的軟件程序,降低了開發(fā)成本,。
關(guān)鍵詞: 遠程監(jiān)控,;LPC2103;GPRS技術(shù),;MC55
目前遠程監(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)初期投資巨大,,運營期間維護耗費較高,;通過市話網(wǎng)和Internet方式,通信效果好,,信號量大,,運營費用相對低廉,但接入網(wǎng)絡(luò)受到限制,,且網(wǎng)絡(luò)運行效果取決于網(wǎng)絡(luò)運營商,,難以達到工業(yè)現(xiàn)場覆蓋面;數(shù)傳電臺出現(xiàn)較早,、應(yīng)用廣泛,,信號傳輸實時性好、運行費用低,,但建網(wǎng)初期投資巨大,、傳輸范圍有限,易受空間無線信號干擾,。
通用分組無線業(yè)務(wù)GPRS(General Packet Radio Service)是在現(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)測中心上位機軟件三部分構(gòu)成。其中,,現(xiàn)場數(shù)據(jù)采集由系統(tǒng)監(jiān)控終端完成,,終端同時具有分析、記錄采集數(shù)據(jù)供上位機查詢,,并在現(xiàn)場出現(xiàn)異常事件時主動上傳報警信息的功能,;GPRS通信網(wǎng)絡(luò)是監(jiān)測中心與現(xiàn)場監(jiān)控終端之間數(shù)據(jù)傳輸?shù)臉蛄海宫F(xiàn)場相關(guān)數(shù)據(jù)及時傳送到監(jiān)測中心計算機,;監(jiān)測中心軟件一方面通過GPRS網(wǎng)絡(luò)與現(xiàn)場監(jiān)控終端進行雙向通信,,另一方面為用戶提供一個可視化界面。監(jiān)控系統(tǒng)的結(jié)構(gòu)如圖1所示,。
由于GPRS網(wǎng)絡(luò)的工作方式是以IP地址尋址為基礎(chǔ)的,,所以上位機作為網(wǎng)絡(luò)的服務(wù)器端,指定固定的IP和端口號,,而終端只需要簡單接入Internet,,具備公網(wǎng)動態(tài)分配的IP地址即可。終端接入Internet具備IP之后,,主動向上位機發(fā)送數(shù)據(jù)進行連接,。當(dāng)連接通道建立以后,,上位機和終端即可以進行雙工數(shù)據(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)遠程監(jiān)控,在水源地處每口井都用繼電器模塊4060控制潛水泵的啟停,,電量模塊采集電壓及電流等信號,,控制器MCU通過GPRS模塊與控制中心進行數(shù)據(jù)交換??刂葡到y(tǒng)分為三個單元:控制中心(一水廠),、水源地及二水廠。
2 系統(tǒng)硬件設(shè)計
2.1 控制器選型
控制器MCU選用PHILIPS公司最新推出的基于32位ARM7TDMI-S,、LQFP48封裝的LPC2103,,其帶有32 KB嵌入的高速Flash存儲器,128位寬度的存儲器接口和獨特的加速結(jié)構(gòu)使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)境,,支持單步,、全速及斷點等調(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-JTAG SERVER實現(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所示,。
調(diào)試軟件(AXD/RVDS/IAR/KEIL)通過RDI接口與H-JTAG SERVER進行交互,。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ù)傳送到遠端接在互聯(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兩個串行接口,,為綜合人機接口界面提供更大的適應(yīng)性。
2.3.1 啟動MC55
通過ignition line/IGT(Power on)時,,需要/IGT(Ignition)信號驅(qū)動到接地電壓至少100 ms,,并且最少距離VDD的最后一個下降沿10 ms,可以通過使用一個開漏極/集極驅(qū)動電路避免電流流入該引腳,。在電池供電應(yīng)用程序中,,/IGT持續(xù)時間最少必須達到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ò)注銷,,使軟件進入安全模式并且在斷電之前保存數(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)控中心進行報警,。LPC2103與GPRS模塊通過串口發(fā)送AT指令實現(xiàn)通信,。設(shè)計流程如圖4所示。
3.2 GPRS模塊設(shè)計
在本系統(tǒng)中,,GPRS模塊主要完成與LPC2103控制器之間的數(shù)據(jù)交換和通過移動公司的GPRS網(wǎng)絡(luò)與遠端計算機進行數(shù)據(jù)交換,。模塊的串口發(fā)送AT命令實現(xiàn)對模塊的控制,該模塊的主要功能有:(1)內(nèi)嵌TCP/IP協(xié)議棧,,能通過移動公司的GPRS網(wǎng)絡(luò)進行數(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所示,。
3.3 上位機軟件的編寫
上位機采用Visual Basic與組態(tài)王6.53進行開發(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ò)信號強度
①命令:AT+CGREG?
②響應(yīng):0~31,,0表示當(dāng)信號強度,>18時就可以進行GPRS通信
(4)撥號
①命令:ATD*99***1#
②響應(yīng):CONNNECT:撥號成功,,可以進行PPP交互
NO CARRIER:撥號失敗
本監(jiān)控系統(tǒng)使ARM處理器與GPRS模塊相結(jié)合,,提高了系統(tǒng)的可靠性,解決了GPRS模塊頻繁通信出現(xiàn)的滯后性的問題,,降低了數(shù)據(jù)的誤碼率,。使用VB與組態(tài)王相結(jié)合設(shè)計的上位機程序,在保證了界面美觀性的同時,,解決了PC機與GPRS模塊通信的問題,,降低了開發(fā)成本。本系統(tǒng)已用于實際現(xiàn)場,,效果良好,。
參考文獻
[1] 廣州周立功單片機發(fā)展有限公司.PHILIPS LPC2103芯片使用手冊[M].2008.
[2] 范逸之.Visual Bsaic與RS232串行通信控制[M].北京:中國青年出版社,2005.
[3] 張新成,,李慶亮.基于GPRS遠程數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,,2006,7(14):2561-2563.
[4] 廖勝.基于ARM嵌入式的遠程監(jiān)控系統(tǒng)設(shè)計[J].科技信息,,2007(1):44-46.