袁 英,于艷艷,王 磊,梁 川,楊 軍
(云南大學(xué) 信息學(xué)院,昆明 650091)
遠(yuǎn)程控制是在網(wǎng)絡(luò)上由一臺電腦(主控端Remote/客戶端)遠(yuǎn)距離去控制另一臺電腦(被控端Host/服務(wù)器端)的技術(shù)[1]。電腦中的遠(yuǎn)程控制技術(shù)始于DOS時代,隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的高速發(fā)展,遠(yuǎn)程操作及控制技術(shù)越來越引起人們的關(guān)注,并廣泛應(yīng)用于人們的日常工作和生活中,如遠(yuǎn)程辦公、遠(yuǎn)程教育、遠(yuǎn)程維護(hù)、遠(yuǎn)程協(xié)助等[2-3]。遠(yuǎn)程控制將不僅極大地方便人們的日常生活,而且對整個社會生產(chǎn)活動將產(chǎn)生巨大的影響。
在傳統(tǒng)遠(yuǎn)程控制系統(tǒng)中,由于遠(yuǎn)程用戶與智能控制中心間的通信方式多采用電話線或網(wǎng)線,因而網(wǎng)絡(luò)布線復(fù)雜、網(wǎng)絡(luò)延時較大、可靠性較差,給用戶帶來極大的不便。本文設(shè)計(jì)的遠(yuǎn)程智能控制系統(tǒng)是基于實(shí)時操作系統(tǒng)并采用無線通信技術(shù)組建控制終端網(wǎng)絡(luò),系統(tǒng)實(shí)時性較好;用戶可通過瀏覽器登錄服務(wù)器來監(jiān)測控制遠(yuǎn)程終端,方便用戶使用。該系統(tǒng)便于應(yīng)用在智能家居、工業(yè)控制等相關(guān)領(lǐng)域,實(shí)現(xiàn)家居設(shè)備、工業(yè)設(shè)備等的智能化控制,對改善人們的日常生活方式,提高人們的工作效率具有一定的意義。
本系統(tǒng)設(shè)計(jì)的功能是通過PC機(jī)或移動設(shè)備登錄服務(wù)器系統(tǒng),訪問和控制多個遠(yuǎn)程控制終端。根據(jù)其功能特點(diǎn),該系統(tǒng)由無線控制終端和主控系統(tǒng)兩個部分組成。
1)無線控制終端由微控制器、傳感器模塊、無線收發(fā)模塊和控制電路模塊構(gòu)成。微控制器通過無線收發(fā)模塊與主控系統(tǒng)平臺進(jìn)行信息交互,傳感器模塊將采集現(xiàn)場數(shù)據(jù)信息傳給微控制器進(jìn)行處理,并將處理結(jié)果發(fā)送給主控系統(tǒng)進(jìn)一步分析,實(shí)現(xiàn)智能化控制。
2)主控系統(tǒng)由主控模塊、Web服務(wù)器、網(wǎng)絡(luò)通信模塊、無線收發(fā)模塊與現(xiàn)場控制模塊構(gòu)成。
主控模塊以Cortex-M3為核心處理器,搭載uCOSⅡ?qū)崟r操作系統(tǒng),由操作系統(tǒng)對各項(xiàng)任務(wù)進(jìn)行管理和維護(hù)。Web服務(wù)器存儲網(wǎng)頁數(shù)據(jù)和無線控制終端的數(shù)據(jù)信息。網(wǎng)絡(luò)通信模塊采用ENC28J60網(wǎng)絡(luò)接口芯片設(shè)計(jì),通過移植TCP/IP協(xié)議棧實(shí)現(xiàn)主控系統(tǒng)與Internet的連接。無線收發(fā)模塊實(shí)現(xiàn)與控制終端的信息交互?,F(xiàn)場控制模塊以TFT_LCD觸屏液晶建立良好的人機(jī)交互界面,實(shí)現(xiàn)對現(xiàn)場設(shè)備信息的控制和查看,并對控制終端進(jìn)行參數(shù)配置、初始化以及設(shè)置服務(wù)器遠(yuǎn)程功能的權(quán)限,防止非法訪問和操作,確保系統(tǒng)安全。系統(tǒng)的整體結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)整體結(jié)構(gòu)圖
主控模塊以Cortex-M3為核心處理器。Cortex-M3是基于ARM公司ARMv7-Mz體系結(jié)構(gòu)的32位微處理器芯片,其處理器在結(jié)構(gòu)上包括處理器內(nèi)核、嵌套向量中斷控制器、存儲器保護(hù)單元、總線接口單元和跟蹤調(diào)試單元等,有以下特點(diǎn)[4-5]:
1)采用了基于哈佛(Harvard)架構(gòu)的3級流水線內(nèi)核,集成了分支預(yù)測、單周期乘法、硬件除法等功能,可達(dá)到1.25 DMIPS/MHz的運(yùn)算速度,而功耗僅為0.19 mW/MHz。
2)采用的Thumb-2指令集結(jié)合了16位指令代碼密度和32位指令的性能,具有更高的指令效率和更強(qiáng)的性能。
3)Cortex-M3處理器總線矩陣將處理器核、調(diào)試接口與外部總線相連接,采用非對齊數(shù)據(jù)訪問和位段技術(shù),使得處理器的片上外圍設(shè)備訪問速度大大提高。
因此,Cortex-M3與ARM7、ARM9等其他系類相比,在相同時鐘頻率下的運(yùn)行速度可提高35,代碼可節(jié)省45,具有高性能、低功耗等特點(diǎn)。
網(wǎng)絡(luò)通信模塊采用ENC28J60網(wǎng)絡(luò)接口芯片設(shè)計(jì)。ENC28J60是全球目前最小封裝的以太網(wǎng)控制器,符合IEEE 802.3協(xié)議,且只有28引腳,體積小、設(shè)計(jì)簡單、容易使用[6]。它采用標(biāo)準(zhǔn)的SPI串行接口,只需4條連線即可與MCU連接,速度可達(dá)10 Mb/s。
遠(yuǎn)程控制終端采用STC11L02E單片機(jī)作為微控制器,通過無線收發(fā)模塊NRF2401收發(fā)數(shù)據(jù)信息,繼電器控制設(shè)備的工作狀態(tài),并將傳感器檢測的設(shè)備狀態(tài)信息發(fā)送給主控模塊。本系統(tǒng)的控制終端實(shí)驗(yàn)測控對象為電熱水器,采用DS18B20傳感器對水溫進(jìn)行測量。其中,STC11L02是一款高性能、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī),既兼容傳統(tǒng)8051單片機(jī),且運(yùn)行速度快8~12倍,被廣泛應(yīng)用于高速通信、智能控制與強(qiáng)干擾場合[7]。DS18B20是美國新一代“一線總線”的溫度傳感器,體積小、價格低、使用靈活,測溫范圍為-55℃ ~125℃,精度為±0.5℃。
uCOSII是一種源代碼公開、結(jié)構(gòu)小巧的實(shí)時操作系統(tǒng),包含了任務(wù)調(diào)度、時間管理、內(nèi)存管理、任務(wù)間的通信和同步等基本功能。CPU硬件相關(guān)部分用匯編語言編寫,具有執(zhí)行效率高、占用空間小、實(shí)時性能優(yōu)良和擴(kuò)展性強(qiáng)等特點(diǎn),最小內(nèi)核可編譯至2 KB[8]。本系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)需移植uCOSII操作系統(tǒng)來管理維護(hù)各項(xiàng)任務(wù)。
本系統(tǒng)軟件的設(shè)計(jì)是基于uCOSII實(shí)時操作系統(tǒng)創(chuàng)建信號集和各項(xiàng)任務(wù),通過信號集完成任務(wù)間的通信和同步功能。在系統(tǒng)初始化后創(chuàng)建MyTask()任務(wù),然后,在其任務(wù)內(nèi)創(chuàng)建3個子任務(wù),分別是MyTask1、MyTask2、MyTask3。MyTask1任務(wù)完成和控制終端的信息交互,并將數(shù)據(jù)信息存儲于Web服務(wù)器;MyTask2任務(wù)負(fù)責(zé)以太網(wǎng)信息的交互,發(fā)送Web服務(wù)器的網(wǎng)頁數(shù)據(jù);MyTask3任務(wù)完成現(xiàn)場控制系統(tǒng)的功能,顯示終端設(shè)備的運(yùn)行狀態(tài),對控制終端直接操作以及遠(yuǎn)程用戶的權(quán)限設(shè)置。
網(wǎng)絡(luò)驅(qū)動程序由TCP/IP協(xié)議棧和ENC28J60硬件驅(qū)動程序兩部分組成。TCP/IP協(xié)議負(fù)責(zé)與應(yīng)用程序之間的數(shù)據(jù)交換,ENC28J60驅(qū)動程序負(fù)責(zé)TCP/IP與Internet網(wǎng)絡(luò)之間的數(shù)據(jù)傳輸。TCP/IP協(xié)議采用開源、非常小巧的uIP協(xié)議棧。uIP協(xié)議去掉了TCP/IP中不常用的功能,簡化了通信流程;其硬件處理層、協(xié)議棧層和應(yīng)用層共用一個全局緩存區(qū),節(jié)省了空間和時間,其關(guān)系如圖2所示。
圖2 uIP協(xié)議棧
由上圖知,uIP協(xié)議通過API函數(shù)實(shí)現(xiàn)底層硬件和高層應(yīng)用程序的通信,即uip_init(),uip_input()和uip_periodic(),其與應(yīng)用程序的主要接口是UIP_APPCALL()函數(shù)。
嵌入式Web服務(wù)器設(shè)計(jì)需移植Boa服務(wù)器。Boa服務(wù)器是一款單任務(wù)的HTTP服務(wù)器,通過建立HTTP請求列表來處理多路HTTP連接請求,具有處理速度快和效率高等特點(diǎn)[9]。
Boa服務(wù)器的移植主要修改和配置mime.type和boa.conf文件,配置CGI腳本的存放路徑,創(chuàng)建CGI腳本目錄和HTML文檔目錄。當(dāng)Web服務(wù)器收到請求時,CGI程序處理瀏覽器發(fā)送的數(shù)據(jù),并將相應(yīng)的HTML頁面發(fā)送給遠(yuǎn)程用戶。
Web服務(wù)器共設(shè)計(jì)兩個頁面,分別是用戶登錄認(rèn)證頁面和遠(yuǎn)程監(jiān)測控制頁面,通過Web瀏覽器輸入服務(wù)器IP地址,顯示登錄頁面,輸入用戶名和密碼進(jìn)入遠(yuǎn)程控制系統(tǒng)頁面。Boa服務(wù)器的執(zhí)行流程如圖3所示。
控制終端程序設(shè)計(jì)采用PID控制算法設(shè)計(jì)的PID控制器結(jié)合了比例、積分、微分三種控制方式的優(yōu)點(diǎn),使閉環(huán)系統(tǒng)的階躍響應(yīng)盡可能地穩(wěn)、準(zhǔn)、快。
圖3 Boa服務(wù)器執(zhí)行流程圖
PID控制算式為:其傳遞函數(shù)可表示為:
式中:KP、Ti、Td分別是控制器的比例增益、積分時間和微分時間系數(shù);u0是控制器初始時輸出值,一般情況下為0;u(t)是控制器在t時刻的輸出值;e(t)是t時刻設(shè)定值與測量值之間的偏差值。其控制原理框圖如圖4所示。
圖4 控制原理框圖
控制終端通過無線收發(fā)模塊接收上位機(jī)的指令信息來執(zhí)行相應(yīng)的操作,并將設(shè)備的運(yùn)行狀態(tài)發(fā)送給上位機(jī)系統(tǒng)。其控制程序采用PID控制算法進(jìn)行設(shè)計(jì),通過傳感器將運(yùn)行狀態(tài)反饋給PID控制器,控制器輸出控制信號執(zhí)行操作。
本系統(tǒng)基于Cortex-M3處理器和Keil_MDK軟件平臺設(shè)計(jì)開發(fā)完成,無線控制終端基于STC11XX系列微控制器設(shè)計(jì),便于擴(kuò)展,可對多種設(shè)備進(jìn)行監(jiān)測和控制。為了測試遠(yuǎn)程智能控制系統(tǒng)的性能參數(shù),本系統(tǒng)實(shí)驗(yàn)測試對象為電熱水器,實(shí)現(xiàn)對電熱水器的遠(yuǎn)程控制和水溫監(jiān)測。用戶通過Web瀏覽器發(fā)出指令信息,終端熱水器接收到指令信息后,其水溫和加熱狀態(tài)情況如表1所示。
表1 熱水器的指示燈及水溫情況
分析上表得出該系統(tǒng)的控制延遲Ts=0.18 s,系統(tǒng)誤差Er=0,穩(wěn)定系數(shù) λ=79.5/80=0.993 7。經(jīng)實(shí)驗(yàn)驗(yàn)證,結(jié)合上述參數(shù)指標(biāo)可看出本系統(tǒng)實(shí)時性好、誤差低、可靠性高且性能穩(wěn)定。
本系統(tǒng)在高性能、低功耗的Cortex-M3處理器和uCOSII操作系統(tǒng)的基礎(chǔ)上,結(jié)合PID算法的穩(wěn)、準(zhǔn)、快特點(diǎn),設(shè)計(jì)實(shí)現(xiàn)了可通過PC機(jī)或移動終端的Web瀏覽器登錄服務(wù)器來控制及監(jiān)測遠(yuǎn)程控制終端的、簡單實(shí)用的遠(yuǎn)程智能控制系統(tǒng)。經(jīng)實(shí)驗(yàn)驗(yàn)證,該系統(tǒng)性能穩(wěn)定、實(shí)時性好、設(shè)計(jì)成本低,在智能家居與工業(yè)遠(yuǎn)程監(jiān)測控制等領(lǐng)域具有廣泛的應(yīng)用前景,對改善人們的生活方式,提高工作效率具有一定的意義。
[1] 林承華,覃青生.基于GSM的遠(yuǎn)程控制系統(tǒng)[J].電氣自動化,2012,34(1):40-42.
[2] 孫增雷,黃俊年,孫敏.基于GSM的遠(yuǎn)程報警系統(tǒng)的研制[J].武漢理工大學(xué)學(xué)報,2008,30(6):122-125.
[3] 黃慧萍,孟祥印,肖世德.基于B/S模式的步進(jìn)電機(jī)遠(yuǎn)程系統(tǒng)實(shí)驗(yàn)平臺[J].實(shí)驗(yàn)科學(xué)與技術(shù),2010,8(2):184-186.
[4] 杜明州,劉春生,張紹杰.基于Web的遠(yuǎn)程控制實(shí)驗(yàn)室平臺設(shè)計(jì)[J].電子電氣教學(xué)學(xué)報,2011,33(1):117-110.
[5] 王明陽,裴浩東.基于uCOSⅡ和多總線的多傳感器控制系統(tǒng)設(shè)計(jì)[J].科學(xué)技術(shù)與工程,2012,12(12):2845-2848.
[6] 趙曉東,丁岳偉.基于Linux嵌入式的智能家居系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,23(1):201-203.
[7] 李江權(quán),張興敢.基于Cortex-M3處理器的智能家居控制系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(7):47-49.
[8] Joseph Yiu.ARM Cortex-M3權(quán)威指南[M].北京:北京航空航天大學(xué)出版社,2009.
[9] Hande Alemda,Cem Ersoy.Wireless sensor network for healthcare[J].A Survey Computer Network,2010(54):2688-2710.