羅立++賀政++趙小龍
摘 要:在研究多種通信模式的網(wǎng)絡(luò)設(shè)備基礎(chǔ)上,提出一種支持多種接入方式的無(wú)線網(wǎng)關(guān)的設(shè)計(jì)方案,實(shí)現(xiàn)多種通信模式的異構(gòu)網(wǎng)絡(luò)與無(wú)線傳感器網(wǎng)絡(luò)的通信,詳細(xì)論述了網(wǎng)關(guān)的硬件設(shè)計(jì)與軟件設(shè)計(jì),并將其應(yīng)用于工業(yè)無(wú)線監(jiān)控系統(tǒng)中,結(jié)果表明,網(wǎng)關(guān)能夠在實(shí)際網(wǎng)絡(luò)中運(yùn)行。
關(guān)鍵詞:無(wú)線傳感網(wǎng);多接入;無(wú)線網(wǎng)關(guān);監(jiān)控系統(tǒng)
中圖分類(lèi)號(hào):TP274 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2015)02-00-03
0 引 言
無(wú)線網(wǎng)關(guān)能夠?qū)o(wú)線傳感網(wǎng)中的現(xiàn)場(chǎng)設(shè)備實(shí)時(shí)監(jiān)控,設(shè)備的運(yùn)行狀況以及設(shè)備對(duì)周?chē)h(huán)境采集到的信息能夠匯聚于無(wú)線網(wǎng)關(guān),網(wǎng)關(guān)能通過(guò)多種傳輸方式將無(wú)線傳感網(wǎng)里面節(jié)點(diǎn)采集到的環(huán)境信息上傳至監(jiān)控室內(nèi)的上位機(jī),使整個(gè)工作環(huán)境能得到及時(shí)有效的監(jiān)控。
傳統(tǒng)的無(wú)線網(wǎng)關(guān)多數(shù)只支持單一頻段的無(wú)線傳感網(wǎng),隨著物聯(lián)網(wǎng)相關(guān)標(biāo)準(zhǔn)的制定和發(fā)展,僅支持一種無(wú)線頻段的模式已不再能滿足開(kāi)發(fā)和使用需求,因此需要一種支持多種通信模式的網(wǎng)絡(luò)設(shè)備。本文提出了一種支持多種接入方式的無(wú)線網(wǎng)關(guān),它不僅支持符合IEEE 802.15.4標(biāo)準(zhǔn)的433 MHz、470 MHz、780 MHz和2.4 GHz無(wú)線傳感網(wǎng),還支持以太網(wǎng)、WiFi及TD-SCDMA、CDMA2000、WCDMA、LTE制式的3G/4G移動(dòng)通信網(wǎng)等,同時(shí)還基于此網(wǎng)關(guān)構(gòu)建了一個(gè)用于工業(yè)無(wú)線監(jiān)控的數(shù)據(jù)采集系統(tǒng)。
1 無(wú)線網(wǎng)關(guān)總體設(shè)計(jì)與架構(gòu)
1.1 無(wú)線網(wǎng)關(guān)的硬件設(shè)計(jì)
本文設(shè)計(jì)的無(wú)線網(wǎng)關(guān)硬件模型如圖1所示:
無(wú)線網(wǎng)關(guān)的硬件系統(tǒng)包括:主控制單元,多頻段WSN子網(wǎng)接入單元,外網(wǎng)接入單元,調(diào)試和交互接口模塊和電源模塊。
(1)主控制單元:主要負(fù)責(zé)調(diào)度和處理來(lái)自四個(gè)頻段子網(wǎng)模塊的數(shù)據(jù),并對(duì)這些數(shù)據(jù)進(jìn)行處理,將這些數(shù)據(jù)包解析、處理成符合標(biāo)準(zhǔn)格式的數(shù)據(jù)包,通過(guò)外網(wǎng)接入模塊傳送給遠(yuǎn)程終端。主控制單元必須具有功能強(qiáng)大的數(shù)據(jù)處理能力以及高速的外設(shè)通信資源,才能將數(shù)據(jù)實(shí)時(shí)、高速的上傳給3G網(wǎng)絡(luò)、WiFi網(wǎng)和以太網(wǎng),因此這里選用三星公司型號(hào)為S3C2440的ARM9芯片作為網(wǎng)關(guān)的主控制單元。
(2)多頻段WSN子網(wǎng)接入單元:主要負(fù)責(zé)采集現(xiàn)場(chǎng)多頻段WSN的組網(wǎng)、對(duì)終端采集設(shè)備管理和數(shù)據(jù)交互。設(shè)計(jì)的多頻段WSN子網(wǎng)模塊主要有四種:2.4 GHz無(wú)線子網(wǎng)模塊,780 MHz無(wú)線子網(wǎng)模塊,470 MHz無(wú)線子網(wǎng)模塊和433 MHz無(wú)線子網(wǎng)模塊。其中,2.4 GHz射頻模塊采用臺(tái)灣達(dá)盛公司生產(chǎn)的US2400單射頻芯片,它由S3C2440控制單元直接對(duì)其收發(fā)進(jìn)行控制。其余三個(gè)頻段的射頻模塊均采用主控制器直接控制射頻芯片的形式,433 MHz和470 MHz的射頻芯片分別為T(mén)I公司CC1101,CC1100E,780 MHz射頻芯片為Atmel公司的AT86RF212,其主控單元均為STM32F103,都以統(tǒng)一的串口形式接入網(wǎng)關(guān)。
(3)外網(wǎng)接入單元:包括以太網(wǎng)接入模塊、3G/4G網(wǎng)絡(luò)接入模塊和WiFi無(wú)線通信模塊。其中以太網(wǎng)接入模塊主要負(fù)責(zé)數(shù)據(jù)管理模塊與以太網(wǎng)的信息交互,提供有線接入以太網(wǎng)的方式;3G網(wǎng)絡(luò)接入模塊以Mini PCI-E接入網(wǎng)關(guān),支持Linux操作系統(tǒng),主要負(fù)責(zé)將數(shù)據(jù)管理模塊處理后的數(shù)據(jù)通過(guò)3G網(wǎng)絡(luò)傳送給遠(yuǎn)程,以便對(duì)采集到的數(shù)據(jù)進(jìn)行更進(jìn)一步的分析和處理。采用通用接口的網(wǎng)關(guān)設(shè)備能夠在硬件層面上對(duì)三種制式采用相同接口標(biāo)準(zhǔn)的3G模塊和4G模塊在實(shí)際開(kāi)發(fā)應(yīng)用中提供可調(diào)換的空間;WiFi無(wú)線通信模塊主要負(fù)責(zé)將數(shù)據(jù)管理模塊處理后的數(shù)據(jù)通過(guò)基于IEEE 802.11.n的無(wú)線局域網(wǎng)實(shí)現(xiàn)與上位機(jī)的信息交互,以便對(duì)采集到的數(shù)據(jù)進(jìn)行更進(jìn)一步的分析和處理,模塊以USB接口接入網(wǎng)關(guān)。
(4)交互借口模塊:主要負(fù)責(zé)將網(wǎng)關(guān)的信息上傳至PC機(jī)進(jìn)行調(diào)試。本設(shè)計(jì)將RS 232通用串行接口作為網(wǎng)關(guān)調(diào)試與交互接口模塊的一部分,用于網(wǎng)關(guān)和PC機(jī)之間的連接和調(diào)試。
(5)電源管理單元:主要負(fù)責(zé)給網(wǎng)關(guān)中的全部功能模塊供電。該部分的設(shè)計(jì)至關(guān)重要,關(guān)系到整個(gè)系統(tǒng)運(yùn)行的持續(xù)性、穩(wěn)定性等方面的問(wèn)題。更加合理的電源管理配置也使得網(wǎng)關(guān)對(duì)各個(gè)通信模塊所接的設(shè)備提供了一個(gè)更寬廣的用電需求。在具體設(shè)計(jì)中采用了兩個(gè)AS2830電源管理芯片分別將5 V直流源輸入轉(zhuǎn)成3.3 V直流輸出,并在輸入端和輸出端加上了旁路和去耦電容,以有效抑制輸出電壓的紋波,保證了電源供電的穩(wěn)定性,以此滿足系統(tǒng)內(nèi)部各個(gè)功能模塊對(duì)供電電源的要求。
1.2 無(wú)線網(wǎng)關(guān)的軟件設(shè)計(jì)
根據(jù)無(wú)線網(wǎng)關(guān)對(duì)各個(gè)通信協(xié)議的需求,網(wǎng)關(guān)需要安裝合適的嵌入式操作系統(tǒng)。本設(shè)計(jì)通過(guò)安裝嵌入式Linux操作系統(tǒng)來(lái)管理整個(gè)網(wǎng)關(guān)的通信資源設(shè)備。嵌入式Linux操作系統(tǒng)包括底層硬件驅(qū)動(dòng)程序、各種通信協(xié)議棧、內(nèi)存進(jìn)程控制管理軟件、應(yīng)用服務(wù)等,其內(nèi)核提可供硬件驅(qū)動(dòng),包括串口擴(kuò)展模塊驅(qū)動(dòng)、3G/4G模塊驅(qū)動(dòng)、以太網(wǎng)接口驅(qū)動(dòng)、WiFi模塊驅(qū)動(dòng)以及內(nèi)存管理、進(jìn)程管理、文件系統(tǒng)管理、中斷和中斷處理、系統(tǒng)初始化、網(wǎng)絡(luò)協(xié)議棧、各種系統(tǒng)調(diào)用等。網(wǎng)關(guān)的應(yīng)用服務(wù)是通過(guò)系統(tǒng)調(diào)用實(shí)現(xiàn)的,可實(shí)現(xiàn)無(wú)線接入或有線接入選擇、遠(yuǎn)程登錄程序、數(shù)據(jù)查詢等,網(wǎng)關(guān)的軟件結(jié)構(gòu)框圖如圖2所示。
圖2 無(wú)線網(wǎng)關(guān)軟件結(jié)構(gòu)
網(wǎng)關(guān)的協(xié)議棧包含了物理層、MAC層、適配層、IP層、傳輸層和應(yīng)用層;其中物理層和MAC層在433 MHz、470MHz、780 MHz和2.4 GHz無(wú)線模塊上實(shí)現(xiàn),適配層、IP層、傳輸層和應(yīng)用層在ARM平臺(tái)上(軟件環(huán)境為utuLinux 2.6.24)實(shí)現(xiàn)。適配層實(shí)現(xiàn)分片重組,包頭壓縮等功能;IP層實(shí)現(xiàn)鄰居發(fā)現(xiàn)等功能;MAC層實(shí)現(xiàn)無(wú)線傳感網(wǎng)IEEE 802.15.4與其他異構(gòu)網(wǎng)絡(luò)的協(xié)議轉(zhuǎn)換,mesh路由,串行鏈路的Internet 協(xié)議等。這些軟件功能需要在嵌入式Linux操作系統(tǒng)上實(shí)現(xiàn),有關(guān)操作系統(tǒng)的移植方法以及3G/4G和WiFi功能在嵌入式Linux下的實(shí)現(xiàn)方法在網(wǎng)絡(luò)上有很多資料,這里由于篇幅限制不再贅述。
由于本網(wǎng)關(guān)是按照4個(gè)無(wú)線傳感網(wǎng)頻段進(jìn)行設(shè)計(jì),且有3個(gè)頻段是以串口形式接入網(wǎng)關(guān),而ARM9本身支持3個(gè)串口,除了一個(gè)串口需要連接上位機(jī)進(jìn)行調(diào)試之外,因此還需外接一個(gè)串口擴(kuò)展芯片來(lái)滿足設(shè)計(jì)要求。本設(shè)計(jì)采用GM8142串口擴(kuò)展芯片,這是一款用SPI擴(kuò)展串口的芯片,需要設(shè)計(jì)GM8142芯片的在嵌入式Linux下的底層驅(qū)動(dòng)。
GM8142的底層驅(qū)動(dòng)必須遵循嵌入式Linux驅(qū)動(dòng)設(shè)計(jì)標(biāo)準(zhǔn),嵌入式Linux驅(qū)動(dòng)分為字符設(shè)備驅(qū)動(dòng)、網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)和塊備驅(qū)動(dòng)等。設(shè)計(jì)驅(qū)動(dòng)時(shí),首先需要系統(tǒng)無(wú)法根據(jù)硬件地址對(duì)設(shè)備進(jìn)行管理,必須映射成能夠讓操作系統(tǒng)管理的虛擬地址,接著對(duì)SPI寄存器進(jìn)行設(shè)置用來(lái)得到串口擴(kuò)展芯片所需要的工作模式。接下來(lái)可以用底層的驅(qū)動(dòng)函數(shù)對(duì)串口進(jìn)行參數(shù)設(shè)置,最后創(chuàng)建驅(qū)動(dòng)的write、read、open和close等操作函數(shù),以此可在用戶程序里面對(duì)設(shè)備進(jìn)行讀與寫(xiě)、打開(kāi)與關(guān)閉等操作。驅(qū)動(dòng)設(shè)計(jì)流程如圖3所示。
圖3 串口擴(kuò)展驅(qū)動(dòng)設(shè)計(jì)流程
2.4 GHz頻段采用US2400射頻芯片,由于該芯片并沒(méi)有集成主控制器,需要S3C2440控制單元對(duì)其芯片進(jìn)行初始化和收發(fā)控制,也需設(shè)計(jì)相應(yīng)的芯片底層驅(qū)動(dòng),具體驅(qū)動(dòng)的設(shè)計(jì)流程同上面驅(qū)動(dòng)的設(shè)計(jì)流程大體上相同,都必須遵循嵌入式Linux下驅(qū)動(dòng)程序的設(shè)計(jì)標(biāo)準(zhǔn),這里不再詳細(xì)闡述。
軟件模塊功能設(shè)計(jì)或移植好后,需要完成多接入無(wú)線網(wǎng)關(guān)主程的序設(shè)計(jì)。這里需要打開(kāi)4個(gè)驅(qū)動(dòng)設(shè)備,其中兩個(gè)是433 MHz、470 MHz頻段所對(duì)應(yīng)的標(biāo)準(zhǔn)串口驅(qū)動(dòng)設(shè)備,另外兩個(gè)是780 MHz頻段對(duì)應(yīng)的擴(kuò)展串口設(shè)備和2.4 GHz頻段對(duì)應(yīng)的射頻驅(qū)動(dòng)設(shè)備。為了提高網(wǎng)關(guān)的數(shù)據(jù)的處理能力和網(wǎng)關(guān)的響應(yīng)速度,應(yīng)用程序采用了多線程技術(shù),即每個(gè)線程接收處理相應(yīng)頻段的數(shù)據(jù)。在這里需要?jiǎng)?chuàng)建3個(gè)子線程,其中433MHz和470 MHz頻段的子線程用來(lái)監(jiān)聽(tīng)標(biāo)準(zhǔn)串口過(guò)來(lái)的數(shù)據(jù),采用了select監(jiān)聽(tīng)機(jī)制,用來(lái)檢測(cè)433 MHz和470MHz對(duì)應(yīng)的驅(qū)動(dòng)文件描述符是否發(fā)生了變化,一旦發(fā)生變化說(shuō)明有數(shù)據(jù)包上來(lái),這時(shí)將收到的數(shù)據(jù)包解析后通過(guò)UDP套接字傳遞給3G/4G、WiFi和以太網(wǎng)傳遞給上位機(jī)實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。780 MHz和2.4 GHz頻段子線程都采用了異步通知的方式來(lái)分別接收無(wú)線傳感網(wǎng)數(shù)據(jù)。所謂的異步通知就類(lèi)似于軟中斷,指的是應(yīng)用程序無(wú)需特定去監(jiān)聽(tīng)某個(gè)數(shù)據(jù)通道,當(dāng)有數(shù)據(jù)流進(jìn)時(shí),應(yīng)用程序里面的信號(hào)處理函數(shù)會(huì)自動(dòng)從驅(qū)動(dòng)設(shè)備讀取數(shù)據(jù),在進(jìn)行解析后傳遞給UDP套接字,這樣使整個(gè)程序的執(zhí)行效率得到有效提高。網(wǎng)關(guān)的應(yīng)用主程序流程圖如圖4所示。
圖4 應(yīng)用主程序流程圖
2 無(wú)線網(wǎng)關(guān)在工業(yè)監(jiān)控上的應(yīng)用
Modbus協(xié)議是工業(yè)控制中的一種標(biāo)準(zhǔn)、開(kāi)放的通用語(yǔ)言,使用此協(xié)議的用戶無(wú)需繳納許可費(fèi)用,也不會(huì)涉及到侵犯知識(shí)產(chǎn)權(quán),且?guī)袷胶?jiǎn)單、緊湊,格式規(guī)范、通俗易懂,已經(jīng)廣泛應(yīng)用于工業(yè)現(xiàn)場(chǎng)設(shè)備控制中。
本網(wǎng)關(guān)上行部分結(jié)合6LowPAN協(xié)議棧,在協(xié)議棧的應(yīng)用層使用Modbus協(xié)議,下行利用Modbus/TCP協(xié)議以3G/4G和WiFi傳輸方式將無(wú)線傳感網(wǎng)節(jié)點(diǎn)設(shè)備采集的數(shù)據(jù)上傳至上位機(jī),同時(shí)上位機(jī)也能以輪訓(xùn)方式發(fā)指令對(duì)節(jié)點(diǎn)設(shè)備進(jìn)行周期性控制。在此監(jiān)控系統(tǒng)中,上位機(jī)作為T(mén)CP客戶端,網(wǎng)關(guān)作為T(mén)CP服務(wù)器,再加上網(wǎng)關(guān)下面的現(xiàn)場(chǎng)節(jié)點(diǎn)設(shè)備以此構(gòu)成了整個(gè)監(jiān)控系統(tǒng)。網(wǎng)關(guān)的系統(tǒng)服務(wù)進(jìn)程主要由兩個(gè)子線程構(gòu)成,子線程1以3G/4G或WiFi通信方式接收遠(yuǎn)端監(jiān)控上位機(jī)發(fā)送的Modbus/TCP幀,在解析后封裝成Modbus/RTU幀,通過(guò)網(wǎng)關(guān)上的協(xié)調(diào)器發(fā)送給下面節(jié)點(diǎn)設(shè)備;子線程2負(fù)責(zé)接收下面節(jié)點(diǎn)設(shè)備采集到的數(shù)據(jù),再解析以Modbus/RTU封裝成的數(shù)據(jù)幀后,又封裝成Modbus/TCP幀后以3G/4G或WiFi通信方式傳送至遠(yuǎn)程上位機(jī)監(jiān)控終端。整個(gè)監(jiān)控系統(tǒng)的軟件流程如圖5所示。
3 工業(yè)監(jiān)控結(jié)果展示
本文設(shè)計(jì)的支持多種接入方式的無(wú)線網(wǎng)關(guān)已經(jīng)應(yīng)用于工業(yè)無(wú)線監(jiān)控系統(tǒng)中,并取得了良好的實(shí)際應(yīng)用效果,實(shí)現(xiàn)了本無(wú)線網(wǎng)關(guān)的設(shè)計(jì)目標(biāo)。圖6展示了工業(yè)監(jiān)控系統(tǒng)中基于組態(tài)軟件設(shè)計(jì)的對(duì)于工廠設(shè)備實(shí)時(shí)監(jiān)控的上位機(jī)界面。
圖5 監(jiān)控系統(tǒng)軟件流程圖
圖6 變速器工廠監(jiān)控結(jié)果展示
4 結(jié) 語(yǔ)
隨著無(wú)線通信技術(shù)逐漸進(jìn)入工業(yè)領(lǐng)域,無(wú)線通信系統(tǒng)在工業(yè)通信網(wǎng)絡(luò)中應(yīng)用逐漸增加,由3G、4G和WiFi在國(guó)內(nèi)的蓬勃發(fā)展所帶來(lái)了巨大的機(jī)會(huì),尤其是物聯(lián)網(wǎng)時(shí)代,3G、4G和WiFi技術(shù)將促進(jìn)物聯(lián)網(wǎng)有效發(fā)揮無(wú)縫通信的巨大威力。本文以充分利用互聯(lián)網(wǎng)和無(wú)線通信公用網(wǎng)絡(luò)資源為目的,將無(wú)線傳感網(wǎng)技術(shù)、嵌入式技術(shù)、3G/4G通信及以WiFi通信有機(jī)的結(jié)合起來(lái),完成了一種支持多種接入方式的無(wú)線網(wǎng)關(guān)的設(shè)計(jì),實(shí)現(xiàn)了無(wú)線傳感網(wǎng)與互聯(lián)網(wǎng)之間的互聯(lián)互通。該網(wǎng)關(guān)具有數(shù)據(jù)處理能力強(qiáng),數(shù)據(jù)傳輸速率快,實(shí)時(shí)性好等諸多優(yōu)點(diǎn),特別已經(jīng)在工業(yè)監(jiān)控系統(tǒng)中得到了有效應(yīng)用,因此在工程技術(shù)領(lǐng)域有著良好的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 李婷.基于IPv6和PROFIBUS的遠(yuǎn)程監(jiān)測(cè)方法研究與實(shí)現(xiàn)[D].長(zhǎng)春:吉林大學(xué),2013.
[2] 徐聞?wù)?多模物聯(lián)網(wǎng)網(wǎng)關(guān)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2014.
[3] 常英亮.基于嵌入式Linux的物聯(lián)網(wǎng)網(wǎng)關(guān)研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2014.
[4] 繆銳.基于物聯(lián)網(wǎng)的太陽(yáng)能LED路燈監(jiān)控系統(tǒng)設(shè)計(jì)與研究[D].南京:南京理工大學(xué),2014.
[5] 安麗君.基于嵌入式的物聯(lián)網(wǎng)信息采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué), 2013.
[6] 馬妮娜.Zigbee/GPRS物聯(lián)網(wǎng)網(wǎng)關(guān)系統(tǒng)的實(shí)現(xiàn)研究[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2014(13):63-64.
[7]劉國(guó)彥,段益群.基于物聯(lián)網(wǎng)的溫室大棚系統(tǒng)設(shè)計(jì)[J].信息與電腦(理論版),2014(12):35-36.
[8] 孫其博,劉杰,黎羴,等. 物聯(lián)網(wǎng):概念、架構(gòu)與關(guān)鍵技術(shù)研究綜述[J]. 北京郵電大學(xué)學(xué)報(bào). 2010,33(3):1-9.
[9] 宋寶華.Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解[J].北京:人民郵電出版社,2010.
[10] Xiao Rong Zhou, Meng Tian Song, Gan Wei Cai. The Design of 3G Embedded Smart Home System Based on ARM Cortex MCU[J].Applied Mechanics and Materials,2013(3):73-75.