支持多種接入方式的無(wú)線網(wǎng)關(guān)的設(shè)計(jì)與應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
羅 立,賀 政,趙小龍
(重慶郵電大學(xué),重慶 400065)
引 言
無(wú)線網(wǎng)關(guān)能夠?qū)o(wú)線傳感網(wǎng)中的現(xiàn)場(chǎng)設(shè)備實(shí)時(shí)監(jiān)控,設(shè)備的運(yùn)行狀況以及設(shè)備對(duì)周圍環(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.4GHz 無(wú)線子網(wǎng)模塊,780MHz無(wú)線子網(wǎng)模塊,470MHz無(wú)線子網(wǎng)模塊和 433MHz 無(wú)線子網(wǎng)模塊。其中,2.4GHz射頻模塊采用臺(tái)灣達(dá)盛公司生產(chǎn)的US2400單射頻芯片,它由 S3C2440控制單元直接對(duì)其收發(fā)進(jìn)行控制。其余三個(gè)頻段的射頻模塊均采用主控制器直接控制射頻芯片的形式,433MHz 和 470MHz的射頻芯片分別為TI公司CC1101,CC1100E,780MHz射頻芯片為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ò)接入模塊以 MiniPCI-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ò)基于IEEE802.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ì)將RS232通用串行接口作為網(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電源管理芯片分別將 5V直流源輸入轉(zhuǎn)成 3.3V直流輸出,并在輸入端和輸出端加上了旁路和去耦電容,以有效抑制輸出電壓的紋波,保證了電源供電的穩(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 所示。
網(wǎng)關(guān)的協(xié)議棧包含了物理層、MAC 層、適配層、IP 層、傳輸層和應(yīng)用層 ;其中物理層和 MAC 層在 433 MHz、470 MHz、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)行讀與寫、打開(kāi)與關(guān)閉等操作。驅(qū)動(dòng)設(shè)計(jì)流程如圖 3 所示。
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è)子線程,其中 433 MHz 和 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 和470 MHz 對(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ù)。所謂的異步通知就類似于軟中斷,指的是應(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所示。
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ī)作為 TCP 客戶端,網(wǎng)關(guān)作 為 TCP 服務(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ī)界面。
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à)值。