国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STR912的嵌入式無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)的設(shè)計(jì)

2013-11-12 05:54:04朱思建楊光友馬志艷
關(guān)鍵詞:關(guān)節(jié)點(diǎn)網(wǎng)關(guān)以太網(wǎng)

朱思建, 楊光友, 馬志艷, 張 錚

(1 湖北工業(yè)大學(xué)農(nóng)機(jī)工程研究設(shè)計(jì)院, 湖北 武漢 430068; 2 湖北工業(yè)大學(xué)機(jī)械工程學(xué)院, 湖北 武漢 430068)

無線傳感器網(wǎng)絡(luò)(wireless sensor network,WSN)[1]應(yīng)用于環(huán)境監(jiān)測(cè)、醫(yī)療健康、工業(yè)控制等眾多生活領(lǐng)域,并且能夠完成傳統(tǒng)系統(tǒng)無法完成的任務(wù),已經(jīng)成為國內(nèi)外眾多領(lǐng)域研究的熱點(diǎn).建立在IEEE 802.15.4標(biāo)準(zhǔn)[2]上的Zigbee技術(shù)[3],是應(yīng)用于無線監(jiān)測(cè)與控制的全球性無線通信標(biāo)準(zhǔn),已經(jīng)成為無線傳感器網(wǎng)絡(luò)組網(wǎng)的首選技術(shù)之一.

在鉆井工程等一些室外環(huán)境較惡劣的特定領(lǐng)域,經(jīng)常需要采用ZigBee網(wǎng)絡(luò)遠(yuǎn)程監(jiān)測(cè)目標(biāo)區(qū)域,這就需要在現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)設(shè)施(如RS232、485、以太網(wǎng)等)基礎(chǔ)上進(jìn)行遠(yuǎn)程監(jiān)控,此時(shí)ZigBee網(wǎng)關(guān)在整個(gè)無線傳感器網(wǎng)絡(luò)體系中起著重要的樞紐作用,它負(fù)責(zé)外部網(wǎng)絡(luò)和無線傳感器網(wǎng)絡(luò)間的協(xié)議轉(zhuǎn)換、數(shù)據(jù)存儲(chǔ)和處理等[4-5].本文提出了基于ZigBee的無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)的軟硬件方案,并實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)傳感數(shù)據(jù)的遠(yuǎn)程傳輸和監(jiān)控.

1 嵌入式網(wǎng)關(guān)系統(tǒng)總體結(jié)構(gòu)

網(wǎng)關(guān)系統(tǒng)中網(wǎng)關(guān)節(jié)點(diǎn)(協(xié)調(diào)器節(jié)點(diǎn))作為整個(gè)ZigBee無線網(wǎng)絡(luò)的中心,主動(dòng)建立網(wǎng)絡(luò)并允許傳感節(jié)點(diǎn)加入網(wǎng)絡(luò)[6],同時(shí)維護(hù)管理整個(gè)無線網(wǎng)絡(luò),接收感知區(qū)域傳感器節(jié)點(diǎn)發(fā)送的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)、解析、封裝等處理,然后通過GPRS或以太網(wǎng)等發(fā)送至遠(yuǎn)程監(jiān)控中心;同時(shí)網(wǎng)關(guān)節(jié)點(diǎn)將監(jiān)控中心發(fā)送的指令發(fā)送至目標(biāo)區(qū)域,實(shí)現(xiàn)對(duì)目標(biāo)區(qū)域的監(jiān)控.但是網(wǎng)關(guān)節(jié)點(diǎn)通常需要連接外部網(wǎng)絡(luò)如GPRS或以太網(wǎng)等來實(shí)現(xiàn)ZigBee無線網(wǎng)絡(luò)與外部網(wǎng)絡(luò)的互聯(lián),這就需要在傳輸層基礎(chǔ)上完成不同網(wǎng)絡(luò)協(xié)議的轉(zhuǎn)換.本文使用具有較強(qiáng)信息處理能力和網(wǎng)絡(luò)功能的ARM9系列芯片STR912作為核心處理器[7],完成ZigBee協(xié)議與以太網(wǎng)協(xié)議的相互轉(zhuǎn)換,完成ZigBee無線傳感器網(wǎng)絡(luò)與外部以太網(wǎng)的互聯(lián).圖1為嵌入式無線傳感網(wǎng)絡(luò)網(wǎng)關(guān)系統(tǒng)的體系結(jié)構(gòu).

圖 1 ZigBee無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)體系結(jié)構(gòu)

本文中嵌入式網(wǎng)關(guān)系統(tǒng)采用三層結(jié)構(gòu)(圖2),硬件層主要由STR912處理器芯片與ZigBee無線芯片CC2530[8]組成,實(shí)現(xiàn)數(shù)據(jù)解析、封裝和存儲(chǔ)等功能.軟件層主要實(shí)現(xiàn)在嵌入式操作系統(tǒng)μC/OS-II[9]下建立多任務(wù)以及在uIP協(xié)議[10-11]下以太網(wǎng)數(shù)據(jù)傳輸,在CC2530無線節(jié)點(diǎn)上運(yùn)行ZigBee協(xié)議棧,建立并維護(hù)無線傳感器網(wǎng)絡(luò),從而實(shí)現(xiàn)ZigBee無線傳感器網(wǎng)絡(luò)協(xié)議數(shù)據(jù)和以太網(wǎng)協(xié)議數(shù)據(jù)的雙向轉(zhuǎn)換;應(yīng)用層主要由用戶定義的應(yīng)用程序組成,調(diào)用軟件接口函數(shù),用戶可根據(jù)實(shí)際需要擴(kuò)充應(yīng)用API接口函數(shù).

圖 2 ZigBee網(wǎng)關(guān)系統(tǒng)架構(gòu)

2 網(wǎng)關(guān)系統(tǒng)硬件結(jié)構(gòu)

本文中嵌入式網(wǎng)關(guān)硬件結(jié)構(gòu)如圖3所示.處理器采用基于ARM920T內(nèi)核的ST公司的微處理器STR912FAW44芯片,支持內(nèi)核96MHz的工作頻率,具有96 KB SRAM,256 KB主Flash和32 KB從Flash,外部擴(kuò)展存儲(chǔ)器、LCD接口、JTAG接口、串口、以太網(wǎng)接口等組成硬件平臺(tái).其中串口(UART2)是連接STR912處理器和ZigBee網(wǎng)關(guān)節(jié)點(diǎn)的橋梁.ZigBee網(wǎng)關(guān)節(jié)點(diǎn)選用TI公司2.4 GHz 的無線芯片CC2530,其內(nèi)部集成了工業(yè)標(biāo)準(zhǔn)增強(qiáng)型8051微處理器和高性能射頻CRF收發(fā)器,使用TI公司的Zstack無線通信協(xié)議棧實(shí)現(xiàn)ZigBee無線傳感網(wǎng)絡(luò)的建立和維護(hù).

圖 3 嵌入式網(wǎng)關(guān)硬件結(jié)構(gòu)

3 網(wǎng)關(guān)系統(tǒng)軟件結(jié)構(gòu)設(shè)計(jì)

整個(gè)嵌入式網(wǎng)關(guān)系統(tǒng)是以STR912芯片作為微處理器,采用嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II和微型嵌入式TCP/IP協(xié)議棧uIP,通過以太網(wǎng)帶動(dòng)整個(gè)傳感器網(wǎng)絡(luò)的運(yùn)行,實(shí)現(xiàn)ZigBee無線傳感網(wǎng)絡(luò)和以太網(wǎng)兩個(gè)相對(duì)獨(dú)立網(wǎng)絡(luò)的互聯(lián).所以軟件方面需要在μC/OS-II操作系統(tǒng)和uIP協(xié)議下運(yùn)行,并完成網(wǎng)關(guān)節(jié)點(diǎn)的程序設(shè)計(jì).

3.1 嵌入式操作系統(tǒng)μC/OS-II下多任務(wù)建立

在實(shí)時(shí)多任務(wù)操作系統(tǒng)μC/OS-II[9]下,完成上述的網(wǎng)關(guān)系統(tǒng)的功能,需要建立4個(gè)任務(wù).運(yùn)行流程如圖4所示.

圖 4 μC/OS-II下嵌入式網(wǎng)關(guān)系統(tǒng)任務(wù)

TASK1是對(duì)LCD觸摸屏的初始化以及相關(guān)GPIO的配置,設(shè)置相關(guān)參數(shù)如串口的波特率,以及IP地址、端口號(hào)的設(shè)置等.

TASK2是鍵盤掃描任務(wù),通過矩陣鍵盤修改相關(guān)參數(shù),如UART2波特率、 IP地址等.

TASK3是串口任務(wù),實(shí)現(xiàn)網(wǎng)關(guān)節(jié)點(diǎn)與STR912微處理器的通信.網(wǎng)關(guān)節(jié)點(diǎn)與STR912微處理器通過UART2交互數(shù)據(jù),處理器接收到網(wǎng)關(guān)節(jié)點(diǎn)傳來的ZigBee無線協(xié)議數(shù)據(jù)包后,需要存儲(chǔ)、解析并封裝成以太網(wǎng)協(xié)議的數(shù)據(jù)報(bào);同時(shí)還要解析由遠(yuǎn)程終端發(fā)送的監(jiān)控命令,封裝成ZigBee無線協(xié)議數(shù)據(jù)包,通過網(wǎng)關(guān)節(jié)點(diǎn)發(fā)送至目標(biāo)區(qū)域的監(jiān)測(cè)節(jié)點(diǎn).

TASK4是以太網(wǎng)任務(wù),完成以太網(wǎng)模塊的初始化及uIP協(xié)議棧的輪詢,檢查是否有從遠(yuǎn)端機(jī)傳來的數(shù)據(jù)分組及應(yīng)用層是否有數(shù)據(jù)要發(fā)送,并做相應(yīng)的處理.

3.2 嵌入式uIP協(xié)議下以太網(wǎng)數(shù)據(jù)傳輸

uIP協(xié)議棧[10-11]是在TCP/IP協(xié)議基礎(chǔ)上去掉了TCP/IP協(xié)議中不常用的功能,簡化了通訊流程,但保留了網(wǎng)絡(luò)通信必須使用的協(xié)議機(jī)制.uIP協(xié)議棧相當(dāng)于一個(gè)代碼庫,通過一系列的函數(shù)實(shí)現(xiàn)底層硬件與上層應(yīng)用程序的通信,對(duì)于整個(gè)系統(tǒng)來說它內(nèi)部的協(xié)議族是透明的,從而增加了協(xié)議的通用性.uIP協(xié)議族與系統(tǒng)底層和上層應(yīng)用之間的關(guān)系如圖5所示.

圖 5 uIP通信結(jié)構(gòu)圖

從圖4可知uIP協(xié)議棧處于整個(gè)網(wǎng)絡(luò)通信的中間層,其上層為應(yīng)用層,下層稱為網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng).uIP協(xié)議棧與底層硬件有兩個(gè)接口,與應(yīng)用層有一個(gè)接口.

3.2.1uIP協(xié)議棧與底層設(shè)備驅(qū)動(dòng)程序的接口

1)uip_input()函數(shù).當(dāng)設(shè)備驅(qū)動(dòng)程序從網(wǎng)絡(luò)中收到數(shù)據(jù)包時(shí)要調(diào)用這個(gè)函數(shù),設(shè)備驅(qū)動(dòng)程序必須事先將數(shù)據(jù)包存入到uip_buf[]中,包長為uip_len,然后交由uip_input()函數(shù)處理,當(dāng)函數(shù)返回時(shí),如果uip_len不為0,則表明有帶外數(shù)據(jù)(如SYN,ACK等)要發(fā)送.當(dāng)需要ARP支持時(shí),還需要考慮更新ARP表或發(fā)出ARP請(qǐng)求和回應(yīng).

2)周期時(shí)鐘函數(shù)uip_periodic().這個(gè)函數(shù)用于uIP內(nèi)核對(duì)各連接的定時(shí)輪詢,因此需要一個(gè)硬件支持的定時(shí)程序周期性地用他輪詢各連接,一般用于檢驗(yàn)主機(jī)是否有數(shù)據(jù)要發(fā)送.

3.2.2uIP與上層應(yīng)用的接口為了將用戶的應(yīng)用程序掛接到uIP中,將宏UIP_APPCALL()定義成實(shí)際的應(yīng)用程序函數(shù)名,這樣,在任何一個(gè)事件發(fā)生時(shí)調(diào)用UIP_APPCALL(),uIP在接收到底層傳來的數(shù)據(jù)包后,在需要送到上層應(yīng)用程序處理的地方調(diào)用UIP_APPCALL().網(wǎng)關(guān)系統(tǒng)中uIP協(xié)議棧數(shù)據(jù)處理流程如圖6所示.

圖 6 uIP協(xié)議處理數(shù)據(jù)報(bào)流程圖

3.3 ZigBee網(wǎng)關(guān)節(jié)點(diǎn)程序設(shè)計(jì)分析

Zigbee網(wǎng)關(guān)節(jié)點(diǎn)在整個(gè)嵌入式網(wǎng)關(guān)系統(tǒng)中起著承上啟下的作用.網(wǎng)關(guān)節(jié)點(diǎn)負(fù)責(zé)構(gòu)建ZigBee無線網(wǎng)絡(luò),并管理整個(gè)ZigBee網(wǎng)絡(luò)路由表,接收來自感知區(qū)域無線節(jié)點(diǎn)的傳感數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行校正、封裝、存儲(chǔ)等[6],并通過串口API發(fā)送至STR912微處理器.網(wǎng)關(guān)節(jié)點(diǎn)的程序流程如圖7所示.

首先硬件上電,網(wǎng)關(guān)節(jié)點(diǎn)創(chuàng)建一個(gè)ZigBee網(wǎng)絡(luò),網(wǎng)絡(luò)中的其他節(jié)點(diǎn)發(fā)出加入網(wǎng)絡(luò)請(qǐng)求,如果加入網(wǎng)絡(luò)成功,每個(gè)加入網(wǎng)絡(luò)的節(jié)點(diǎn)會(huì)被分配一個(gè)網(wǎng)絡(luò)地址.無線傳感網(wǎng)絡(luò)中的節(jié)點(diǎn)將需要傳輸?shù)墓?jié)點(diǎn)地址信息和監(jiān)測(cè)數(shù)據(jù)以ZigBee數(shù)據(jù)幀的形式打包以無線的方式通過一跳或多跳發(fā)送至網(wǎng)關(guān)節(jié)點(diǎn).STR912微處理器經(jīng)UART2接收到來自網(wǎng)關(guān)節(jié)點(diǎn)傳來的數(shù)據(jù),將數(shù)據(jù)按ZigBee協(xié)議解包并封裝成TCP/IP協(xié)議報(bào)文,再通過以太網(wǎng)傳至上位機(jī);當(dāng)上位機(jī)下達(dá)監(jiān)測(cè)指令時(shí),STR912處理器將接收到的數(shù)據(jù)按TCP/IP協(xié)議解包,然后封裝成ZigBee協(xié)議數(shù)據(jù)包并通過UART2發(fā)送至網(wǎng)關(guān)節(jié)點(diǎn),網(wǎng)關(guān)節(jié)點(diǎn)通過ZigBee無線網(wǎng)絡(luò)將相應(yīng)指令發(fā)送至目標(biāo)區(qū)域節(jié)點(diǎn).

圖 7 ZigBee網(wǎng)關(guān)節(jié)點(diǎn)程序流程

4 測(cè)試

實(shí)驗(yàn)室環(huán)境下,隨意布置7個(gè)ZigBee節(jié)點(diǎn),ZigBee節(jié)點(diǎn)定時(shí)采集溫度、濕度以及光敏值并發(fā)送至網(wǎng)關(guān)節(jié)點(diǎn);ARM板與網(wǎng)關(guān)節(jié)點(diǎn)通過UART2連接,并通過交叉網(wǎng)線與PC連接,設(shè)置好網(wǎng)關(guān)IP和端口號(hào),嵌入式網(wǎng)關(guān)板實(shí)物如圖8所示.組網(wǎng)成功后可以在上位機(jī)拓?fù)鋱D中觀測(cè)到各個(gè)節(jié)點(diǎn)實(shí)時(shí)的溫度、濕度和光敏值(圖9).

圖 8 ZigBee網(wǎng)關(guān)實(shí)物圖

圖 9 ZigBee網(wǎng)絡(luò)拓?fù)鋱D

經(jīng)測(cè)試,整個(gè)嵌入式網(wǎng)關(guān)系統(tǒng)運(yùn)行穩(wěn)定.

5 結(jié)束語

本文使用基于ARM9系列微處理器STR912和ZigBee芯片CC2530構(gòu)建嵌入式無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)系統(tǒng),同時(shí)該系統(tǒng)擴(kuò)展了豐富的外圍接口設(shè)備,可將目標(biāo)區(qū)域中傳感器節(jié)點(diǎn)采集的位置、環(huán)境等參數(shù)通過以太網(wǎng)傳送至遠(yuǎn)程終端,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控.該網(wǎng)關(guān)具有低成本、低功耗、高可靠性與高抗干擾能力等特性,可方便地應(yīng)用于現(xiàn)代各種監(jiān)測(cè)領(lǐng)域,在工業(yè)控制領(lǐng)域具有很好的應(yīng)用和推廣價(jià)值.

[參考文獻(xiàn)]

[1] 孫利民,李建中.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.

[2] IEEE std. 802.15.4 - 2006: Wireless medium access control (mac) and physical layer (phy) specifications for low rate wireless personal area networks (lr-wpans)[S].IEEE Press,2006.

[3] 瞿雷, 劉盛德, 胡咸斌. ZigBee技術(shù)及應(yīng)用[M]. 北京:北京航空航天大學(xué)出版社,2007:5-8.

[4] 匡興紅,邵惠鶴. 無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)研究[J].計(jì)算機(jī)工程,2007,36(6):228-230.

[5] 李長峰,藤國庫,常 闖. 基于ZigBee的無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)的設(shè)計(jì)[J].安徽農(nóng)業(yè)科學(xué),2011,39(21):13 100-13 102.

[6] ZigBee Alliance, Inc. ZigBee specification[EB/OL].(2013-08-08) http://www.zigbee.org/Specifications/ZigBee/Overview.asp.

[7] STMicroelectronics group of companies.STR91X hardware development getting started[EB/OL].[2011-02-25] http://wenku.baidu.com/view/8ef2fbff04a1b0717fd5dd25.html.

[8] texas instruments.A True System-on-chip Solution for 2.4GHz 802.15.4 and ZigBee Application [EB/OL]. (2013-08-08)http://www.ti.com/lit/ds/symlink/cc2530.pdf.

[9] 楊宗德,張 兵.μCOS-II 標(biāo)準(zhǔn)教程[M].北京:人民郵電出版社,2009:5-6.

[10] 岳世為,尹為民. uIP協(xié)議棧在基于DSP以太網(wǎng)通信系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)與數(shù)字工程,2010,38(1):187.

[11] DUNKELS A. The uIP embedded TCP/IP stack[EB/OL]. [2006-06-01]http://sourceforge.net/projects/uip-stack/.

猜你喜歡
關(guān)節(jié)點(diǎn)網(wǎng)關(guān)以太網(wǎng)
基于深度學(xué)習(xí)和視覺檢測(cè)的地鐵違規(guī)行為預(yù)警系統(tǒng)研究與應(yīng)用
關(guān)節(jié)點(diǎn)連接歷史圖與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的雙人交互動(dòng)作識(shí)別
基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
搞好新形勢(shì)下軍營美術(shù)活動(dòng)需把握的關(guān)節(jié)點(diǎn)
談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
電子制作(2017年24期)2017-02-02 07:14:44
LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
應(yīng)對(duì)氣候變化需要打通“網(wǎng)關(guān)”
太陽能(2015年7期)2015-04-12 06:49:50
清流县| 防城港市| 文化| 锡林浩特市| 宁德市| 商都县| 五指山市| 徐水县| 瑞丽市| 五寨县| 南雄市| 温泉县| 宝坻区| 黄浦区| 郸城县| 富顺县| 旺苍县| 衡山县| 台江县| 永州市| 南陵县| 霍州市| 砚山县| 乐昌市| 会昌县| 盐山县| 大新县| 南京市| 巫溪县| 崇文区| 太湖县| 六枝特区| 凌源市| 商丘市| 三原县| 岫岩| 定襄县| 肇源县| 东港市| 中西区| 略阳县|