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