南京信息職業(yè)技術(shù)學(xué)院 孫 玥 魏 欣
基于CC2510的無線自組織傳感器網(wǎng)絡(luò)構(gòu)建
南京信息職業(yè)技術(shù)學(xué)院 孫 玥 魏 欣
無線傳感器網(wǎng)絡(luò)是由部署在監(jiān)測區(qū)域內(nèi)大量的廉價微型傳感器節(jié)點組成,通過無線通信方式形成的一個網(wǎng)絡(luò)系統(tǒng)??紤]到體積和節(jié)能等因素,對于很多應(yīng)用場合來說,傳感器的發(fā)射功率不可能很大。為了保證傳感器節(jié)點間協(xié)作,提高網(wǎng)絡(luò)的吞吐量,改善網(wǎng)絡(luò)的性能;采用了CC2510芯片來構(gòu)建無線自組織傳感器網(wǎng)絡(luò)的方法,實驗結(jié)果表明,自組織網(wǎng)絡(luò)具有無中心、自組織、多跳路由、動態(tài)拓撲等區(qū)別于普通網(wǎng)絡(luò)的特性,提高了網(wǎng)絡(luò)的整體效用。
CC2510;自組織網(wǎng)絡(luò);路由協(xié)議;無線傳感器網(wǎng)絡(luò)
無線傳感器網(wǎng)絡(luò)由無數(shù)個隨機分布的節(jié)點構(gòu)成,每個節(jié)點均集成有傳感器模塊、數(shù)據(jù)處理模塊和通信模塊[1]。各個節(jié)點又通過自組織的方式構(gòu)成網(wǎng)絡(luò),通過內(nèi)置的多樣化的傳感器測量所在周邊環(huán)境中的熱、紅外、聲、電磁波等信號,從而探測包括溫度、濕度、噪聲、光強度、壓力等相關(guān)信息。隨著無線傳感器網(wǎng)絡(luò)技術(shù)的不斷發(fā)展和深化,其應(yīng)用范圍也越來越廣,適用于軍事、環(huán)境監(jiān)測、工業(yè)控制、農(nóng)業(yè)生產(chǎn)、醫(yī)療護理、建筑物監(jiān)控等領(lǐng)域。由于無線傳感器網(wǎng)絡(luò)的特點,要求其節(jié)點具有集成度高、低能耗和廉價等特點[2]。因此選擇一款合適的專用芯片,來構(gòu)建無線傳感器節(jié)點至關(guān)重要。本文討論了采用TI公司出品的CC2510芯片來組建無線傳感器網(wǎng)絡(luò)和通信協(xié)議的研究。
TI公司推出的CC2510芯片是一種低成本的無線片上系統(tǒng)(SoC),專為低功耗無線應(yīng)用而設(shè)計的。在CC2510芯片中主要集成了一個標準的增強型8051MCU,同時還包括了一個無線收發(fā)模塊CC2500芯片。整個芯片的尺寸只有6′6mm,尤其適合于對器件大小有限制的場合。
8051MCU自帶了32KB Flash和4KB RAM,還包含了8~14位模/數(shù)轉(zhuǎn)換器(ADC)、定時器、AES128協(xié)處理器、看門狗定時器、32KHz晶振的休眠模式定時器、上電復(fù)位電路、掉電檢測電路以及21個可編程I/O引腳。CC2510收發(fā)模塊則工作在2.4GHz免費頻段上。
CC2510芯片的最大特點在于其低功耗的特性,CC2510采用了4種低功耗工作模式,并且可以通過外部中斷和計時器從休眠狀態(tài)快速喚醒,處于低功耗工作狀態(tài)時電路消耗在0.3-0.5uA[3,4,5]。
由此可見該芯片既能進行常規(guī)無線通訊同時還能對數(shù)據(jù)進行處理,自帶的ADC為采集和利用外接傳感器數(shù)據(jù)提供了極大的便利。低功耗、低成本和小尺寸等一系列特點決定了該款芯片在無線傳感器網(wǎng)絡(luò)中有極大的應(yīng)用前景。
無線傳感器網(wǎng)絡(luò)由大量的小尺寸、低成本、低功耗傳感器節(jié)點構(gòu)成。一個最簡節(jié)點的基本構(gòu)成包括了傳感單元(傳感器和數(shù)/模轉(zhuǎn)換),處理單元(處理器和存儲器),通信單元(無線收發(fā)模塊)以及電源單元(電池或直流電源),其結(jié)構(gòu)如圖1所示[6]:
相對于傳統(tǒng)的傳感器網(wǎng)絡(luò),無線傳感器網(wǎng)絡(luò)有以下一些特點[1]:
(1)要求較高的散布密度,保證數(shù)據(jù)采集的全面和完善。
(2)采用電池供電,有些場合不便于經(jīng)常更換電池,因此要求無線傳感器節(jié)點盡量做到低能耗,采用電池即能維持較長的工作周期。
(3)較強的容錯能力,保證了傳感器節(jié)點可以大范圍散布,并能工作在相對惡劣的環(huán)境中。
顯然,要滿足這些要求苛刻的要求,采用TI公司的CC2510芯片來組建無線節(jié)點無疑是不二的選擇。
圖1 無線傳感器節(jié)點的基本構(gòu)成
表1 無線傳感器網(wǎng)絡(luò)路由表
表2 廣播數(shù)據(jù)包格式
表3 發(fā)送廣播數(shù)據(jù)包
表4 回應(yīng)數(shù)據(jù)包格式
表5 數(shù)據(jù)包格式
表6 數(shù)據(jù)包格式實例
表7 數(shù)據(jù)包格式1
表8 數(shù)據(jù)包格式2
表9 數(shù)據(jù)包格式3
圖2 基于CC2510的無線傳感器節(jié)點結(jié)構(gòu)
圖3 無線傳感器網(wǎng)絡(luò)結(jié)構(gòu)圖
根據(jù)上文提到的無線傳感器節(jié)點的基本構(gòu)成可以看出,采用傳統(tǒng)設(shè)計,除去獨立的傳感器至少要采用兩片芯片,其中一片負責數(shù)據(jù)的采集和處理,另一片則負責無線通信。由于CC2510芯片將2.4GHz的無線接收機與工業(yè)級高性能8051單片集成到了一起,同時還自帶了ADC,因此采用一片CC2510芯片即能勝任數(shù)據(jù)處理和無線通信兩大主要功能。其節(jié)點構(gòu)成如圖2所示,可見其結(jié)構(gòu)相對圖1而言大大簡化[7,8]。
無線傳感器網(wǎng)絡(luò)構(gòu)成通常包括了一個中心節(jié)點和若干個子節(jié)點構(gòu)成。子節(jié)點主要負責對傳感器的管理、數(shù)據(jù)采集和傳輸,同時還要負責將來自低一級子節(jié)點的數(shù)據(jù)傳輸?shù)礁咭患壸庸?jié)點或是中心節(jié)點。中心節(jié)點的任務(wù)主要是對各級節(jié)點進行管理同時收集來自各級節(jié)點的檢測數(shù)據(jù),并與PC機進行通信,將數(shù)據(jù)傳輸?shù)交净蚴且蛱鼐W(wǎng),對所測數(shù)據(jù)進行綜合處理。其基本結(jié)構(gòu)如圖3所示。
首先,打開所有節(jié)點電源,保證其均處于交互狀態(tài)。然后,將它們隨機散布到待檢測區(qū)域,但要保證至少有一個節(jié)點在中心節(jié)點的通信范圍呢,同時任一個節(jié)點通信范圍內(nèi)至少有一個節(jié)點。每個節(jié)點通信范圍以及自組織形式如上圖3所示。
在完成節(jié)點的隨機散布之后,中心節(jié)點開始發(fā)送命令進行節(jié)點的自組織。首先,中心節(jié)點(0級0號節(jié)點)進行廣播,3號和5號節(jié)點收到廣播后回應(yīng)中心節(jié)點,將其自身節(jié)點定義為1級節(jié)點。根據(jù)3號和5號節(jié)點的回應(yīng)信號,中心節(jié)點更新其路由表。接著,3號和5號節(jié)點開始廣播,并根據(jù)回應(yīng)信號更新路由表。當2號和6號節(jié)點收到來自1級節(jié)點的廣播后,將自身定義為2級節(jié)點。依次類推,各節(jié)點定義自身級別,并完成路由表的更新。各節(jié)點路由表如表1所示。
在自組織網(wǎng)絡(luò)之前,數(shù)據(jù)包的路由表是空的。在進行自組織過程中,各節(jié)點只有通過廣播相互聯(lián)系,進行廣播時的數(shù)據(jù)包格式由表2所示。
發(fā)送廣播數(shù)據(jù)包時由于目標和最終地址不確定,因此采用“FFH”表示?!癋rom”表示進行廣播的地址,同時傳輸數(shù)據(jù)為空。當節(jié)點收到此廣播將更新“From”的數(shù)據(jù)。如表3所示。
當收到廣播數(shù)據(jù)后,回應(yīng)的數(shù)據(jù)包格式如表4所示
表中,“To”表示回應(yīng)的目標地址,“From”表示回應(yīng)的地址,“FFH”等待建立路由之后更新,“00H”依舊表示傳輸數(shù)據(jù)為空。根據(jù)接受到的路由表,收到回應(yīng)的節(jié)點將更新路由表。
在自組織過程中,有些節(jié)點可能會收到來自不同級別節(jié)點的廣播,這樣便會造成節(jié)點級別的不確定性。通常情況下,系統(tǒng)將會選擇最高級作為自身的級別,從而縮短信號傳輸?shù)拇螖?shù)。在傳輸信號時,如果各節(jié)點同時發(fā)送將有可能造成通信阻塞,因此通常會給每個節(jié)點定義一個延遲時間,保證通信的暢通。
在無線傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中,均采用統(tǒng)一的格式。其數(shù)據(jù)包格式為面向字節(jié)的協(xié)議。如表5所示。
受到地址和數(shù)據(jù)屬性長度的限制,在整個網(wǎng)絡(luò)中包括中心節(jié)點最多只能有32個節(jié)點,每次最多可以傳輸15個字節(jié)的數(shù)據(jù),最多經(jīng)過16次傳輸。因此在通訊協(xié)議的格式中,地址(包括“To”、“Final”、“From”)的格式為:高3位表示表示節(jié)點的級別,低5位表示節(jié)點的編號。數(shù)據(jù)屬性(“Atrribute”)的格式為:高4位表示數(shù)據(jù)傳輸?shù)拇螖?shù),低4位表示有效數(shù)據(jù)的長度。通過下面的例子可以明確包格式的含義,如表6所示。
從這個數(shù)據(jù)包里,我們可以看出:本數(shù)據(jù)包由1級4號節(jié)點發(fā)送2字節(jié)數(shù)據(jù):F1H和F5H到中心節(jié)點(0級0號節(jié)點)。傳輸?shù)哪康牡刂窞?0H(即00000000,表示的是0級0號節(jié)點——中心節(jié)點),最終地址也是00H,源地址為23H(即00100011,表示的是1級3號節(jié)點)。數(shù)據(jù)屬性是02H(即數(shù)據(jù)傳輸次數(shù)0次,有效數(shù)據(jù)長度為2個字節(jié))。其數(shù)據(jù)最終接受地址同樣也是中心節(jié)點,共發(fā)送了0次。最后一位為數(shù)據(jù)相加去符號,作為校驗和。如果在傳輸過程中超過16次,而仍未到達最終目的地,這數(shù)據(jù)包自動丟失。
通常無線傳感器網(wǎng)絡(luò)各節(jié)點收集到的傳感器信號都要送至中心節(jié)點處理,但并非每個節(jié)點都能與中心節(jié)點進行直接通信。只有1級節(jié)點才能與中心節(jié)點直接通信,其他級別節(jié)點則必須先與上一級節(jié)點通信,通過一級級的跳躍才能到達中心節(jié)點。例如1號節(jié)點如果需要與中心節(jié)點通信,首先要將數(shù)據(jù)傳輸?shù)?級節(jié)點,然后是1級節(jié)點,最后才能到達中心節(jié)點,期間需要經(jīng)過3次傳輸。注意在各級別中都有2個節(jié)點,通常會依次選擇其中的一個進行通信,保持各節(jié)點電能的平衡延長整個網(wǎng)絡(luò)的工作周期。例如1號節(jié)點與2號節(jié)點進行通信時期數(shù)據(jù)包格式如表7所示。
當2號節(jié)點收到數(shù)據(jù)完成校驗之后,MCU發(fā)現(xiàn)數(shù)據(jù)的最終地址是中心節(jié)點。根據(jù)路由表,2號節(jié)點的上一級節(jié)點為1級3號和5號節(jié)點,MCU更新數(shù)據(jù)包的目標地址和傳輸次數(shù),選擇5號節(jié)點進行數(shù)據(jù)傳輸,如表8所示。
當5號節(jié)點收到數(shù)據(jù)并完成校驗后,在對數(shù)據(jù)進行重新打包向中心節(jié)點發(fā)送,如表9所示。
最終數(shù)據(jù)通過2號和5號節(jié)點送達中心節(jié)點,同樣來自于中心節(jié)點的控制信號若要發(fā)送到每個子節(jié)點,也需要按照同樣的步驟進行。
無線傳感器網(wǎng)絡(luò)技術(shù)是傳感器網(wǎng)絡(luò)的一次革命性的變革,隨著專用芯片的出現(xiàn)這種變革正在不斷的深化。TI公司的CC2510芯片,由于其高集成度、低功耗、低成本和小尺寸的特點,必將在自組織無線傳感器網(wǎng)絡(luò)領(lǐng)域中得到更為廣泛的應(yīng)用。
[1]孫利民,李建中,陳渝等.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[2]方旭明,何蓉等.短距離無線與移動通網(wǎng)絡(luò)[M].北京:人民郵電出版社,2004.
[3]李文仲,段朝玉.CC1110/CC2510無線單片機和無線自組織網(wǎng)絡(luò)入門與實戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2008.
[4]郭兵.SOC技術(shù)原理應(yīng)用[M].北京:清華大學(xué)出版社,2006.
[5]CC2510Fx/CC2511Fx Low-Power SOC with MCU,Memory,2.4GHz RF Transceiver,and USB Controller,http://www.TI.com.
[6]鄭玉寶,等,譯.現(xiàn)代無線通信[M].北京:電子工業(yè)出版社,2006.
[7]李青,張?zhí)熘?移動自組織網(wǎng)及其關(guān)鍵技術(shù)研究[J].現(xiàn)代通信,2003(2):4-6.
[8]彭建盛,何奇文,廖維斌等.基于無線單片機CC2510的智能家居系統(tǒng)的設(shè)計[J].河池學(xué)院學(xué)報.2008(5):50-54.
[9]周航慈.單片機應(yīng)用程序設(shè)計技術(shù)[M].北京:北京航空航天大學(xué)出版社,1991.
[10]蔣挺,趙成.紫峰技術(shù)及其應(yīng)用[M].北京:北京郵電大學(xué)出版社,2006.
孫玥(1982—),女,江蘇泰州人,碩士,講師,工程師,研究方向:光傳輸。
魏欣(1981—),男,江蘇揚州人,碩士,講師,工程師,研究方向:嵌入式系統(tǒng)。