一種基于IPv6的無線傳感器網(wǎng)絡(luò)邊界路由器設(shè)計(jì)
本文針對(duì)無線傳感器網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò)互聯(lián),在分析現(xiàn)有接入方式不足的基礎(chǔ)上提出了一種基于IPv6的無線傳感器網(wǎng)絡(luò)邊界路由器的設(shè)計(jì)方案。方案主要闡述了邊界路由器的硬件和軟件設(shè)計(jì)的實(shí)現(xiàn),重點(diǎn)介紹了基于IPv6的無線傳感器網(wǎng)絡(luò)協(xié)議棧適配層的設(shè)計(jì)。通過數(shù)據(jù)包分片與重組機(jī)制以及報(bào)頭壓縮機(jī)制,協(xié)議棧適配層實(shí)現(xiàn)了IPv6數(shù)據(jù)包在IEEE 802.15.4鏈路中的傳輸。實(shí)驗(yàn)結(jié)果表明,該設(shè)計(jì)方案實(shí)現(xiàn)了無線傳感器網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò)的無縫融合,數(shù)據(jù)傳輸穩(wěn)定可靠,具有實(shí)用性的應(yīng)用價(jià)值。
本文引用地址:http://www.ex-cimer.com/article/247726.htm0 引言
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)近年來發(fā)展迅速,在環(huán)境保護(hù)、工業(yè)設(shè)備監(jiān)控、醫(yī)療監(jiān)護(hù)、農(nóng)田監(jiān)測(cè)、智能家居、市政交通管理、軍事偵察等領(lǐng)域具有廣闊的應(yīng)用前景。無線傳感器網(wǎng)絡(luò)的諸多應(yīng)用都需要遠(yuǎn)程用戶能夠方便地對(duì)無線傳感器網(wǎng)絡(luò)資源進(jìn)行訪問、控制和使用。TCP/IP的廣泛應(yīng)用已經(jīng)使其成為事實(shí)上的協(xié)議標(biāo)準(zhǔn),加之IPv6 的諸多優(yōu)良特性,都使得實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò)的互聯(lián)與融合是當(dāng)前最現(xiàn)實(shí)的選擇。
目前,無線傳感器網(wǎng)絡(luò)與IPv6 網(wǎng)絡(luò)互聯(lián)主要有網(wǎng)關(guān)接入和直接接入兩種方式。其中,網(wǎng)關(guān)接入是指利用網(wǎng)關(guān)在無線傳感器網(wǎng)絡(luò)和IP 網(wǎng)絡(luò)之間進(jìn)行協(xié)議轉(zhuǎn)換,實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)發(fā)任務(wù),但是網(wǎng)關(guān)接入還存在著網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜、成本較高等諸多問題;直接接入方式是指在無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)直接運(yùn)行 IPv6 協(xié)議,能夠?qū)崿F(xiàn)無線傳感器網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)的無縫融合。無線傳感器網(wǎng)絡(luò)是低速率、低功耗的資源受限網(wǎng)絡(luò),在無線傳感器節(jié)點(diǎn)上并不適合直接運(yùn)行標(biāo)準(zhǔn)IPv6協(xié)議。
本文提出了一種基于JN5148模塊的無線傳感器網(wǎng)絡(luò)邊界路由器的設(shè)計(jì)方案,該方案能夠?qū)崿F(xiàn)無線傳感器網(wǎng)絡(luò)與IPv6 網(wǎng)絡(luò)的無縫融合,并通過實(shí)際測(cè)試證明了該方案的可行性。
1 邊界路由器硬件設(shè)計(jì)
邊界路由器硬件包括射頻模塊、處理器模塊和電源模塊等部分。其中,射頻模塊負(fù)責(zé)IEEE 802.15.4 數(shù)據(jù)幀的收發(fā);處理器模塊負(fù)責(zé)解析收到的數(shù)據(jù)幀,選擇路徑后進(jìn)行轉(zhuǎn)發(fā)處理;電源模塊負(fù)責(zé)對(duì)其他模塊供電。邊界路由器的硬件結(jié)構(gòu)如圖1所示。
1.1 射頻模塊
目前,無線傳感器網(wǎng)絡(luò)領(lǐng)域面向不同應(yīng)用的協(xié)議棧眾多,其中絕大部分協(xié)議棧都把IEEE 802.15.4作為物理層和數(shù)據(jù)鏈路層的無線通信標(biāo)準(zhǔn)。支持IEEE 802.15.4的射頻模塊主要有Jennic 公司的JN5148、Ember250、MC13192、TI公司的CC2430 和Digi公司的XBEE 模塊。
其中,JN5148模塊將射頻芯片與處理器集成一體,內(nèi)置了IEEE 802.15.4 協(xié)議,不需要自行設(shè)計(jì)無線射頻天線接口,開發(fā)成本較低,本文設(shè)計(jì)中選用Jennic 公司的JN5148 模塊作為邊界路由器的處理器和射頻模塊。
JN5148模塊集成了基于OpenRISC核的32位RISC處理器,擁有完全兼容2.4 GHz IEEE 802.15.4標(biāo)準(zhǔn)的無線收發(fā)器,128 KB 的RAM 運(yùn)行應(yīng)用程序,512 KB 的FLASH能夠滿足包括存儲(chǔ)應(yīng)用程序在內(nèi)的大部分需求。
1.2 串行通信接口設(shè)計(jì)
無線傳感器網(wǎng)絡(luò)數(shù)據(jù)流量較小,對(duì)網(wǎng)絡(luò)帶寬要求不高,因此邊界路由器與Internet網(wǎng)絡(luò)之間可以采用UART串行總線連接。目前,各種網(wǎng)絡(luò)設(shè)備中普遍應(yīng)用USB接口,可以使用轉(zhuǎn)換電路將USB接口轉(zhuǎn)換為UART串行總線接口,本文選擇 FTDI232R芯片完成電平匹配和接口轉(zhuǎn)換,F(xiàn)TDI232R 是一款可編程的USB 接口轉(zhuǎn)UART 接口的集成芯片,具有3.3 V電壓輸出,可編程顯示數(shù)據(jù)收發(fā)狀態(tài)。具體電路如圖2所示。
2 邊界路由器軟件設(shè)計(jì)
2.1 協(xié)議棧框架設(shè)計(jì)
無線傳感器網(wǎng)絡(luò)協(xié)議棧是無線傳感器網(wǎng)絡(luò)軟件設(shè)計(jì)的核心,是無線傳感器網(wǎng)絡(luò)組網(wǎng)、節(jié)點(diǎn)與邊界路由器以及節(jié)點(diǎn)與節(jié)點(diǎn)之間數(shù)據(jù)通信的基礎(chǔ)。為了滿足無線傳感器網(wǎng)絡(luò)全I(xiàn)P 互聯(lián),需要精簡(jiǎn)IPv6 協(xié)議以及實(shí)現(xiàn)IPv6數(shù)據(jù)幀在IEEE 802.15.4幀中傳輸。本文設(shè)計(jì)的邊界路由器采用基于IPv6的無線傳感器網(wǎng)絡(luò)協(xié)議棧。協(xié)議??蚣苋鐖D3所示。
IEEE 802.15.4物理層主要負(fù)責(zé)啟動(dòng)和關(guān)閉射頻收發(fā)器、能量檢測(cè)與信道掃描、清除信道評(píng)估以及無線電波信號(hào)的調(diào)制和解調(diào)等工作。IEEE 802.15.4 MAC層主要完成信道接入、鏈路的連接及斷開以及數(shù)據(jù)通信的差錯(cuò)及流量控制等工作。輕量級(jí)操作系統(tǒng)Contiki負(fù)責(zé)協(xié)議棧各層任務(wù)調(diào)度及管理,保證協(xié)議棧工作的實(shí)時(shí)性。
協(xié)議棧包括的任務(wù)有自組網(wǎng)任務(wù)、適配層主任務(wù)、網(wǎng)絡(luò)維護(hù)任務(wù)、IP層任務(wù)以及應(yīng)用層任務(wù),任務(wù)調(diào)度關(guān)系如圖4 所示。
本設(shè)計(jì)選用的JN5148 模塊內(nèi)部集成了IEEE802.15.4的物理層和MAC層協(xié)議,因此,協(xié)議棧設(shè)計(jì)的重點(diǎn)是適配層、IP網(wǎng)絡(luò)層和傳輸層。
2.2 適配層設(shè)計(jì)
組建網(wǎng)絡(luò)是邊界路由器適配層需要完成的基本任務(wù),系統(tǒng)啟動(dòng)后,自組網(wǎng)任務(wù)負(fù)責(zé)在選定信道和網(wǎng)絡(luò)16 位PAN_ID后建立網(wǎng)絡(luò)。網(wǎng)絡(luò)維護(hù)任務(wù)在網(wǎng)絡(luò)建立后維持父節(jié)點(diǎn)與子節(jié)點(diǎn)之間的鏈路穩(wěn)定,并在鏈路出現(xiàn)異常時(shí)進(jìn)行上報(bào)并嘗試修復(fù)鏈路。IEEE 802.15.4物理層數(shù)據(jù)單元最大為127 B,而IPv6 要求鏈路支持的最小MTU(Maximum Transmission Unit,MTU)長(zhǎng)度為1 280 B,明顯不支持此長(zhǎng)度MTU.適配層介于IEEE 802.15.4 MAC層和IP 層之間,因此適配層主任務(wù)除了負(fù)責(zé)管理MAC層協(xié)議事件之外,主要完成節(jié)點(diǎn)自動(dòng)地址配置、IP數(shù)據(jù)包的分片與重組和IP數(shù)據(jù)包頭壓縮與解壓等功能以實(shí)現(xiàn) IP數(shù)據(jù)包在IEEE 802.15.4鏈路中的傳輸。
2.2.1 地址映射機(jī)制
基于IPv6的無線傳感器網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都需要配置惟一的IPv6 地址,但是手動(dòng)配置繁瑣并且難以保證地址惟一性。本文設(shè)計(jì)的無線傳感器網(wǎng)絡(luò)邊界路由器采用無狀態(tài)地址自動(dòng)配置機(jī)制。IPv6地址由全局地址前綴和接口標(biāo)識(shí) ID(Interface ID,IID)兩部分組成。因?yàn)槊恳粋€(gè)射頻模塊都分配有一個(gè)全球惟一的IEEE EUI-64標(biāo)識(shí)符,即64位MAC 地址,因此可以利用EUI-64標(biāo)識(shí)符獲得一個(gè)IPv6地址接口標(biāo)識(shí)ID來實(shí)現(xiàn)無狀態(tài)地址自動(dòng)配置。
2.2.2 適配層分片與重組機(jī)制
為了減少適配層包頭開銷,適配層幀頭分為不分片和分片兩種格式,分別用于IP數(shù)據(jù)包長(zhǎng)度小于MAC 層MTU 的報(bào)文和IP 數(shù)據(jù)包長(zhǎng)度大于MAC 層MTU 的報(bào)文。適配層不分片幀頭格式與常規(guī)幀頭相同,分片幀頭又分為第一個(gè)分片和后續(xù)分片兩種格式,如圖5和圖6所示。
節(jié)點(diǎn)適配層接收到適配層數(shù)據(jù)包時(shí),首先檢查該數(shù)據(jù)包是否分片,如果是一個(gè)分片的數(shù)據(jù)包,則在將所有數(shù)據(jù)分片重新組合成完整的IP 數(shù)據(jù)包后,再傳送到IP網(wǎng)絡(luò)層處理;若某一個(gè)分片丟失,則丟棄該IP數(shù)據(jù)包的所有后續(xù)分片。對(duì)于IP 層下發(fā)的數(shù)據(jù)包,節(jié)點(diǎn)適配層判斷IP報(bào)文長(zhǎng)度是否超過鏈路層MTU 長(zhǎng)度,若超過鏈路層MTU長(zhǎng)度,則將此IP數(shù)據(jù)包分片后發(fā)送;若不超過鏈路層MTU長(zhǎng)度,則按照不分片格式發(fā)送。
適配層的每一種數(shù)據(jù)幀都有調(diào)度編碼位域(8位),不同的調(diào)度編碼位域表示不同的解析方式,主要包括不分片、分片、IP包頭壓縮、UDP報(bào)頭壓縮以及預(yù)留功能等多種類型。其中,11000xxx表示本數(shù)據(jù)幀是已分片適配層數(shù)據(jù)幀的第一個(gè)分片,11100xxx則表示本數(shù)據(jù)幀是已分片適配層數(shù)據(jù)幀的后續(xù)分片。
datagram_size:11 b,表示鏈路層未分包之前的IP數(shù)據(jù)包的總長(zhǎng)度,該IP 數(shù)據(jù)包所有鏈路層分片的該字段的值都應(yīng)該相同。
datagram_tag:16 b,分片標(biāo)識(shí),用來區(qū)分同一數(shù)據(jù)源節(jié)點(diǎn)的不同IP數(shù)據(jù)包。同一個(gè)IP數(shù)據(jù)包的所有鏈路層分片都具有相同的分片標(biāo)識(shí),數(shù)據(jù)源節(jié)點(diǎn)每成功發(fā)送一個(gè)完整的IP數(shù)據(jù)包都更新(加1)該字段的值。
datagram_offset:8 b,分片偏移量,表示該分片在所有分片中的偏移量(以8 B 為單位),該字段只出現(xiàn)在第二個(gè)及后續(xù)分片中。
傳感器相關(guān)文章:傳感器工作原理
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理
評(píng)論