支持多種接入方式的無線網(wǎng)關的設計與應用
羅 立,賀 政,趙小龍
(重慶郵電大學,重慶 400065)
引 言
無線網(wǎng)關能夠?qū)o線傳感網(wǎng)中的現(xiàn)場設備實時監(jiān)控,設備的運行狀況以及設備對周圍環(huán)境采集到的信息能夠匯聚于無線網(wǎng)關,網(wǎng)關能通過多種傳輸方式將無線傳感網(wǎng)里面節(jié)點采集到的環(huán)境信息上傳至監(jiān)控室內(nèi)的上位機,使整個工作環(huán)境能得到及時有效的監(jiān)控。
傳統(tǒng)的無線網(wǎng)關多數(shù)只支持單一頻段的無線傳感網(wǎng),隨著物聯(lián)網(wǎng)相關標準的制定和發(fā)展,僅支持一種無線頻段的模式已不再能滿足開發(fā)和使用需求,因此需要一種支持多種通信模式的網(wǎng)絡設備。本文提出了一種支持多種接入方式的無線網(wǎng)關, 它不僅支持符合 IEEE 802.15.4 標準的 433 MHz、470 MHz、780 MHz 和 2.4 GHz 無線傳感網(wǎng),還支持以太網(wǎng)、WiFi 及TD-SCDMA、CDMA2000、WCDMA、LTE 制式的3G/4G 移動通信網(wǎng)等,同時還基于此網(wǎng)關構建了一個用于工業(yè)無線監(jiān)控的數(shù)據(jù)采集系統(tǒng)。
1 無線網(wǎng)關總體設計與架構
1.1 無線網(wǎng)關的硬件設計
本文設計的無線網(wǎng)關硬件模型如圖 1 所示:
無線網(wǎng)關的硬件系統(tǒng)包括 :主控制單元,多頻段 WSN 子 網(wǎng)接入單元,外網(wǎng)接入單元,調(diào)試和交互接口模塊和電源模塊。
(1) 主控制單元 :主要負責調(diào)度和處理來自四個頻段子網(wǎng)模塊的數(shù)據(jù),并對這些數(shù)據(jù)進行處理,將這些數(shù)據(jù)包解析、處理成符合標準格式的數(shù)據(jù)包,通過外網(wǎng)接入模塊傳送給遠程終端。主控制單元必須具有功能強大的數(shù)據(jù)處理能力以及高速的外設通信資源,才能將數(shù)據(jù)實時、高速的上傳給3G 網(wǎng)絡、WiFi網(wǎng)和以太網(wǎng),因此這里選用三星公司型號為S3C2440 的ARM9芯片作為網(wǎng)關的主控制單元。
(2)多頻段WSN子網(wǎng)接入單元 :主要負責采集現(xiàn)場多頻段WSN的組網(wǎng)、對終端采集設備管理和數(shù)據(jù)交互。設計的多頻段WSN子網(wǎng)模塊主要有四種 :2.4GHz 無線子網(wǎng)模塊,780MHz無線子網(wǎng)模塊,470MHz無線子網(wǎng)模塊和 433MHz 無線子網(wǎng)模塊。其中,2.4GHz射頻模塊采用臺灣達盛公司生產(chǎn)的US2400單射頻芯片,它由 S3C2440控制單元直接對其收發(fā)進行控制。其余三個頻段的射頻模塊均采用主控制器直接控制射頻芯片的形式,433MHz 和 470MHz的射頻芯片分別為TI公司CC1101,CC1100E,780MHz射頻芯片為Atmel 公司的AT86RF212,其主控單元均為STM32F103,都以統(tǒng)一的串口形式接入網(wǎng)關。
(3)外網(wǎng)接入單元 :包括以太網(wǎng)接入模塊、3G/4G 網(wǎng)絡接入模塊和 WiFi無線通信模塊。其中以太網(wǎng)接入模塊主要負責數(shù)據(jù)管理模塊與以太網(wǎng)的信息交互,提供有線接入以太網(wǎng)的方式 ;3G 網(wǎng)絡接入模塊以 MiniPCI-E
接入網(wǎng)關,支持Linux 操作系統(tǒng),主要負責將數(shù)據(jù)管理模塊處理后的數(shù)據(jù)通過 3G 網(wǎng)絡傳送給遠程,以便對采集到的數(shù)據(jù)進行更進一步的分析和處理。采用通用接口的網(wǎng)關設備能夠在硬件層面上對三種制式采用相同接口標準的 3G 模塊和4G 模塊在實際開發(fā)應用中提供可調(diào)換的空間 ;WiFi 無線通信模塊主要負責將數(shù)據(jù)管理模塊處理后的數(shù)據(jù)通過基于IEEE802.11.n 的無線局域網(wǎng)實現(xiàn)與上位機的信息交互,以便對采集到的數(shù)據(jù)進行更進一步的分析和處理,模塊以USB 接口接入網(wǎng)關。
(4)交互借口模塊 :主要負責將網(wǎng)關的信息上傳至 PC機進行調(diào)試。本設計將RS232通用串行接口作為網(wǎng)關調(diào)試與交互接口模塊的一部分,用于網(wǎng)關和 PC機之間的連接和調(diào)試。
(5)電源管理單元 :主要負責給網(wǎng)關中的全部功能模塊供電。該部分的設計至關重要,關系到整個系統(tǒng)運行的持續(xù)性、穩(wěn)定性等方面的問題。更加合理的電源管理配置也使得網(wǎng)關對各個通信模塊所接的設備提供了一個更寬廣的用電需求。在具體設計中采用了兩個AS2830電源管理芯片分別將 5V直流源輸入轉(zhuǎn)成 3.3V直流輸出,并在輸入端和輸出端加上了旁路和去耦電容,以有效抑制輸出電壓的紋波,保證了電源供電的穩(wěn)定性,以此滿足系統(tǒng)內(nèi)部各個功能模塊對供電電源的要求。
1.2 無線網(wǎng)關的軟件設計
根據(jù)無線網(wǎng)關對各個通信協(xié)議的需求,網(wǎng)關需要安裝合適的嵌入式操作系統(tǒng)。本設計通過安裝嵌入式 Linux 操作系統(tǒng)來管理整個網(wǎng)關的通信資源設備。嵌入式 Linux 操作系統(tǒng)包括底層硬件驅(qū)動程序、各種通信協(xié)議棧、內(nèi)存進程控制管理軟件、應用服務等,其內(nèi)核提可供硬件驅(qū)動,包括串口擴展模塊驅(qū)動、3G/4G 模塊驅(qū)動、以太網(wǎng)接口驅(qū)動、WiFi 模塊驅(qū)動以及內(nèi)存管理、進程管理、文件系統(tǒng)管理、中斷和中斷處理、系統(tǒng)初始化、網(wǎng)絡協(xié)議棧、各種系統(tǒng)調(diào)用等。網(wǎng)關的應用服務是通過系統(tǒng)調(diào)用實現(xiàn)的,可實現(xiàn)無線接入或有線接入選擇、遠程登錄程序、數(shù)據(jù)查詢等,網(wǎng)關的軟件結(jié)構框圖如圖 2 所示。
網(wǎng)關的協(xié)議棧包含了物理層、MAC 層、適配層、IP 層、傳輸層和應用層 ;其中物理層和 MAC 層在 433 MHz、470 MHz、780 MHz 和2.4 GHz 無線模塊上實現(xiàn),適配層、IP 層、傳輸層和應用層在ARM 平臺上(軟件環(huán)境為 utuLinux 2.6.24) 實現(xiàn)。適配層實現(xiàn)分片重組,包頭壓縮等功能 ;IP 層實現(xiàn)鄰居發(fā)現(xiàn)等功能 ;MAC 層實現(xiàn)無線傳感網(wǎng)IEEE 802.15.4 與其他異構網(wǎng)絡的協(xié)議轉(zhuǎn)換,mesh 路由,串行鏈路的Internet 協(xié)議等。這些軟件功能需要在嵌入式 Linux 操作系統(tǒng)上實現(xiàn), 有關操作系統(tǒng)的移植方法以及 3G/4G 和 WiFi 功能在嵌入式Linux下的實現(xiàn)方法在網(wǎng)絡上有很多資料,這里由于篇幅限制不再贅述。
由于本網(wǎng)關是按照 4 個無線傳感網(wǎng)頻段進行設計,且有3 個頻段是以串口形式接入網(wǎng)關,而 ARM9 本身支持 3 個串口, 除了一個串口需要連接上位機進行調(diào)試之外,因此還需外接一個串口擴展芯片來滿足設計要求。本設計采用GM8142 串口擴展芯片,這是一款用 SPI 擴展串口的芯片,需要設計 GM8142 芯片的在嵌入式Linux下的底層驅(qū)動。
GM8142 的底層驅(qū)動必須遵循嵌入式 Linux 驅(qū)動設計標準,嵌入式 Linux 驅(qū)動分為字符設備驅(qū)動、網(wǎng)絡設備驅(qū)動和塊備驅(qū)動等。設計驅(qū)動時,首先需要系統(tǒng)無法根據(jù)硬件地址對設備進行管理,必須映射成能夠讓操作系統(tǒng)管理的虛擬地址,接著對 SPI 寄存器進行設置用來得到串口擴展芯片所需要的工作模式。接下來可以用底層的驅(qū)動函數(shù)對串口進行參數(shù)設置,最后創(chuàng)建驅(qū)動的write、read、open 和close 等操作函數(shù), 以此可在用戶程序里面對設備進行讀與寫、打開與關閉等操作。驅(qū)動設計流程如圖 3 所示。
2.4 GHz 頻段采用US2400 射頻芯片,由于該芯片并沒有集成主控制器,需要 S3C2440 控制單元對其芯片進行初始化和收發(fā)控制,也需設計相應的芯片底層驅(qū)動,具體驅(qū)動的設計流程同上面驅(qū)動的設計流程大體上相同,都必須遵循嵌入式Linux下驅(qū)動程序的設計標準,這里不再詳細闡述。
軟件模塊功能設計或移植好后,需要完成多接入無線網(wǎng)關主程的序設計。這里需要打開 4 個驅(qū)動設備,其中兩個是 433 MHz、470 MHz 頻段所對應的標準串口驅(qū)動設備,另外兩個是 780 MHz 頻段對應的擴展串口設備和 2.4 GHz 頻段對應的射頻驅(qū)動設備。為了提高網(wǎng)關的數(shù)據(jù)的處理能力和網(wǎng)關的響應速度,應用程序采用了多線程技術,即每個線程接收處理相應頻段的數(shù)據(jù)。在這里需要創(chuàng)建 3 個子線程,其中 433 MHz 和 470 MHz 頻段的子線程用來監(jiān)聽標準串口過來的數(shù)據(jù), 采用了select 監(jiān)聽機制, 用來檢測 433 MHz 和470 MHz 對應的驅(qū)動文件描述符是否發(fā)生了變化,一旦發(fā)生變化說明有數(shù)據(jù)包上來,這時將收到的數(shù)據(jù)包解析后通過UDP 套接字傳遞給 3G/4G、WiFi 和以太網(wǎng)傳遞給上位機實現(xiàn)遠程監(jiān)控。780 MHz 和 2.4 GHz 頻段子線程都采用了異步通知的方式來分別接收無線傳感網(wǎng)數(shù)據(jù)。所謂的異步通知就類似于軟中斷,指的是應用程序無需特定去監(jiān)聽某個數(shù)據(jù)通道, 當有數(shù)據(jù)流進時,應用程序里面的信號處理函數(shù)會自動從驅(qū)動設備讀取數(shù)據(jù),在進行解析后傳遞給UDP 套接字,這樣使整個程序的執(zhí)行效率得到有效提高。網(wǎng)關的應用主程序流程圖如圖 4所示。
2 無線網(wǎng)關在工業(yè)監(jiān)控上的應用
Modbus 協(xié)議是工業(yè)控制中的一種標準、開放的通用語言, 使用此協(xié)議的用戶無需繳納許可費用,也不會涉及到侵犯知識產(chǎn)權,且?guī)袷胶唵巍⒕o湊,格式規(guī)范、通俗易懂,已經(jīng)廣泛應用于工業(yè)現(xiàn)場設備控制中。
本網(wǎng)關上行部分結(jié)合 6LowPAN 協(xié)議棧,在協(xié)議棧的應 用層使用 Modbus 協(xié)議,下行利用 Modbus/TCP 協(xié)議以 3G/4G 和 WiFi 傳輸方式將無線傳感網(wǎng)節(jié)點設備采集的數(shù)據(jù)上傳至上 位機,同時上位機也能以輪訓方式發(fā)指令對節(jié)點設備進行周期 性控制。在此監(jiān)控系統(tǒng)中,上位機作為 TCP 客戶端,網(wǎng)關作 為 TCP 服務器,再加上網(wǎng)關下面的現(xiàn)場節(jié)點設備以此構成了 整個監(jiān)控系統(tǒng)。網(wǎng)關的系統(tǒng)服務進程主要由兩個子線程構成, 子線程 1 以 3G/4G 或 WiFi 通信方式接收遠端監(jiān)控上位機發(fā) 送的 Modbus/TCP 幀,在解析后封裝成 Modbus/RTU 幀,通 過網(wǎng)關上的協(xié)調(diào)器發(fā)送給下面節(jié)點設備 ;子線程 2 負責接收下 面節(jié)點設備采集到的數(shù)據(jù),再解析以 Modbus/RTU 封裝成的 數(shù)據(jù)幀后,又封裝成 Modbus/TCP 幀后以 3G/4G 或 WiFi 通 信方式傳送至遠程上位機監(jiān)控終端。整個監(jiān)控系統(tǒng)的軟件流 程如圖 5 所示。
3 工業(yè)監(jiān)控結(jié)果展示 本文設計的支持多種接入方式的無線網(wǎng)關已經(jīng)應用于工 業(yè)無線監(jiān)控系統(tǒng)中,并取得了良好的實際應用效果,實現(xiàn)了本 無線網(wǎng)關的設計目標。圖 6 展示了工業(yè)監(jiān)控系統(tǒng)中基于組態(tài) 軟件設計的對于工廠設備實時監(jiān)控的上位機界面。
4 結(jié) 語
隨著無線通信技術逐漸進入工業(yè)領域,無線通信系統(tǒng)在 工業(yè)通信網(wǎng)絡中應用逐漸增加,由 3G、4G 和 WiFi 在國內(nèi)的 蓬勃發(fā)展所帶來了巨大的機會,尤其是物聯(lián)網(wǎng)時代,3G、4G 和 WiFi 技術將促進物聯(lián)網(wǎng)有效發(fā)揮無縫通信的巨大威力。本 文以充分利用互聯(lián)網(wǎng)和無線通信公用網(wǎng)絡資源為目的,將無線 傳感網(wǎng)技術、嵌入式技術、3G/4G 通信及以 WiFi 通信有機的 結(jié)合起來,完成了一種支持多種接入方式的無線網(wǎng)關的設計, 實現(xiàn)了無線傳感網(wǎng)與互聯(lián)網(wǎng)之間的互聯(lián)互通。該網(wǎng)關具有數(shù) 據(jù)處理能力強,數(shù)據(jù)傳輸速率快,實時性好等諸多優(yōu)點,特 別已經(jīng)在工業(yè)監(jiān)控系統(tǒng)中得到了有效應用,因此在工程技術 領域有著良好的應用價值。