新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > Zigbee無(wú)線傳感器網(wǎng)絡(luò)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

Zigbee無(wú)線傳感器網(wǎng)絡(luò)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2008-08-01 來(lái)源:網(wǎng)絡(luò) 收藏
網(wǎng)絡(luò)是集信息采集、信息傳輸、信息處理于一體的綜合智能信息系統(tǒng),具有低成本、低功耗、低數(shù)據(jù)速率、自組織網(wǎng)絡(luò)等特點(diǎn)。而技術(shù)是為低速率和控制網(wǎng)絡(luò)的標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議棧,是最適合網(wǎng)絡(luò)的標(biāo)準(zhǔn)。無(wú)線傳感器網(wǎng)絡(luò)是基于技術(shù)的無(wú)線傳感器網(wǎng)絡(luò)。在許多行業(yè)有巨大的應(yīng)用潛力,如環(huán)境監(jiān)控、物流管理、醫(yī)療監(jiān)控、交通管理和軍事偵察等方面的應(yīng)用[1-2]。
目前普遍使用的無(wú)線傳感器主要有Crossbow公司的Mica2/MicaZ和Microchip公司的PICDEMZ等。MicaZ雖然具有Tinyos操作系統(tǒng),但是沒(méi)有結(jié)合Zigbee技術(shù);PICDEMZ的Zigbee協(xié)議棧不完全符合Zigbee的定義,而且功能簡(jiǎn)單。因此,一種Zigbee無(wú)線傳感器,可以更好地開發(fā)無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用和Zigbee技術(shù)。
本文在分析Zigbee無(wú)線傳感器網(wǎng)絡(luò)的特點(diǎn)和關(guān)鍵技術(shù)的基礎(chǔ)上,提出Zigbee無(wú)線傳感器方案,采用模塊化的方法了Zigbee協(xié)議棧,并且使用該無(wú)線傳感器網(wǎng)絡(luò)平臺(tái)進(jìn)行了溫度監(jiān)測(cè)的實(shí)驗(yàn)。結(jié)果表明,該平臺(tái)了Zigbee無(wú)線傳感器網(wǎng)絡(luò)的基本功能,可以更好地開發(fā)Zigbee技術(shù)。
1 Zigbee無(wú)線傳感器網(wǎng)絡(luò)
1.1 無(wú)線傳感器網(wǎng)絡(luò)
一個(gè)典型的無(wú)線傳感器網(wǎng)絡(luò)至少要由無(wú)線傳感器節(jié)點(diǎn)、網(wǎng)絡(luò)協(xié)調(diào)器和中央控制點(diǎn)組成。大量傳感器節(jié)點(diǎn)隨機(jī)部署在監(jiān)測(cè)區(qū)域內(nèi)部或附近,能夠通過(guò)自組織方式形成網(wǎng)絡(luò)。傳感器節(jié)點(diǎn)監(jiān)測(cè)的數(shù)據(jù)沿著其他傳感器節(jié)點(diǎn)逐跳地進(jìn)行傳輸,在傳輸過(guò)程中監(jiān)測(cè)數(shù)據(jù)可能被多個(gè)節(jié)點(diǎn)處理,經(jīng)過(guò)多跳后路由到網(wǎng)絡(luò)協(xié)調(diào)器,最后到達(dá)中央控制點(diǎn)。在這個(gè)過(guò)程中,傳感器節(jié)點(diǎn)既充當(dāng)感知節(jié)點(diǎn),又充當(dāng)轉(zhuǎn)發(fā)數(shù)據(jù)的路由器,用戶通過(guò)中央控制點(diǎn)對(duì)無(wú)線傳感器網(wǎng)絡(luò)進(jìn)行配置和管理,發(fā)布監(jiān)測(cè)任務(wù)以及收集監(jiān)測(cè)數(shù)據(jù)[3]。圖1給出了一個(gè)典型的無(wú)線傳感器網(wǎng)絡(luò)的結(jié)構(gòu)。


1.2 Zigbee技術(shù)
Zigbee技術(shù)是一種具有統(tǒng)一技術(shù)標(biāo)準(zhǔn)的短距離無(wú)線通信技術(shù)。完整的Zigbee協(xié)議棧由物理層、介質(zhì)訪問(wèn)控制層、網(wǎng)絡(luò)層、安全層和應(yīng)用層組成。其物理層和介質(zhì)訪問(wèn)控制層協(xié)議為IEEE802.15.4協(xié)議標(biāo)準(zhǔn)[4],網(wǎng)絡(luò)層和安全層由Zigbee聯(lián)盟制定,應(yīng)用層的開發(fā)應(yīng)根據(jù)用戶自己的需要,對(duì)其進(jìn)行開發(fā)利用[1,5]。
在無(wú)線通信技術(shù)上,采用免沖突多載波信道接入(CSMA-CA)方式,有效地避免了無(wú)線電載波之間的沖突。此外,為保證傳輸數(shù)據(jù)的可靠性,建立了完整的應(yīng)答通信協(xié)議。
Zigbee設(shè)備為低功耗設(shè)備,其發(fā)射輸出功率為0~3.6dBm,通信距離為30~70m,具有能量檢測(cè)和鏈路質(zhì)量指示能力,根據(jù)這些檢測(cè)結(jié)果,設(shè)備可以自動(dòng)調(diào)整發(fā)射功率,在保證通信鏈路質(zhì)量的條件下,最低限度地消耗設(shè)備能量。
在組網(wǎng)性能上,Zigbee可以構(gòu)造為星形網(wǎng)絡(luò)或者點(diǎn)對(duì)點(diǎn)對(duì)等網(wǎng)絡(luò)。在每一個(gè)Zigbee組成的無(wú)線網(wǎng)絡(luò)中,連接地址碼分為16bit短地址碼或者64bit長(zhǎng)地址碼,具有較大的網(wǎng)絡(luò)容量。
2 Zigbee無(wú)線傳感器網(wǎng)絡(luò)平臺(tái)的硬件設(shè)計(jì)
2.1 設(shè)計(jì)目標(biāo)
Zigbee無(wú)線傳感器網(wǎng)絡(luò)平臺(tái)在各種應(yīng)用系統(tǒng)中存在一些現(xiàn)實(shí)的約束[3,6]
(1)外形盡量小。芯片的尺寸決定了整個(gè)節(jié)點(diǎn)的尺寸。
(2)集成度盡量高。各種傳感器節(jié)點(diǎn)通常需要程序存儲(chǔ)器、靜態(tài)存儲(chǔ)器、A/D轉(zhuǎn)換器、定時(shí)器和計(jì)數(shù)器等多種硬件資源。特別是要有足夠大的ROM空間存儲(chǔ)Zigbee協(xié)議棧。
(3)功耗低而且支持休眠模式。是否具有休眠機(jī)制直接關(guān)系到節(jié)點(diǎn)生命周期的長(zhǎng)短,所以芯片必須支持低功耗的休眠狀態(tài)。
(4)運(yùn)行速度盡量快。系統(tǒng)應(yīng)在最短時(shí)間內(nèi)完成工作,從而快速進(jìn)入休眠狀態(tài),以節(jié)省系統(tǒng)能源。
(5)工作在免費(fèi)的ISM(Industial Scientific Medical)頻段,2.4GHz它是免付費(fèi)、免申請(qǐng)的無(wú)線電頻段,在該頻段上,數(shù)據(jù)傳輸速率為250Kb/s。
(6)成本要盡量低。芯片在傳感器節(jié)點(diǎn)成本中占很大的比例。
2.2 基于CC2430的硬件設(shè)計(jì)
目前,常見的Zigbee無(wú)線傳感器平臺(tái)都是由一個(gè)8位或16位的單片機(jī)和Zigbee射頻芯片組成。隨著芯片設(shè)計(jì)的發(fā)展,目前出現(xiàn)了無(wú)線單片機(jī),即將處理器模塊和射頻模塊集成在同一個(gè)芯片中。Ti-Chipcon公司的CC2430就是其中的代表,其典型應(yīng)用如圖2所示。


CC2430集成了Zigbee 射頻前端、ROM和8051微控制器在一個(gè)芯片內(nèi),而且大小僅為7mm7mm,這樣就使得設(shè)備集成度高、外圍器件很少、外形很小;在接收和發(fā)射模式下,電流損耗分別低于27mA或25mA,并且支持四種休眠機(jī)制,可以大大地降低功耗;CC2430工作在2.4GHz的免費(fèi)頻段,而且芯片價(jià)格僅為5美元左右,使用成本很低。所以CC2430很符合Zigbee無(wú)線傳感器網(wǎng)絡(luò)平臺(tái)的設(shè)計(jì)要求[2]。
3 Zigbee無(wú)線傳感器網(wǎng)絡(luò)平臺(tái)的軟件設(shè)計(jì)
3.1 軟件結(jié)構(gòu)

Zigbee無(wú)線傳感器網(wǎng)絡(luò)設(shè)備上的軟件主要由嵌入式操作系統(tǒng)、Zigbee協(xié)議棧和應(yīng)用程序組成,嵌入式操作系統(tǒng)內(nèi)核提供了簡(jiǎn)單高效的任務(wù)調(diào)動(dòng)、中斷處理和時(shí)間隊(duì)列管理等,還包括所有硬件的底層驅(qū)動(dòng)。應(yīng)用程序包括串口通信、射頻通信和信號(hào)強(qiáng)度檢測(cè)等。采用模塊化的設(shè)計(jì)協(xié)議棧,使得整個(gè)系統(tǒng)層次清楚、擴(kuò)展性好、有利于Zigbee技術(shù)的二次開發(fā)。
3.2 協(xié)議棧設(shè)計(jì)
Zigbee協(xié)議棧能夠確保無(wú)線設(shè)備在低成本、低功耗和低速率網(wǎng)絡(luò)中的互操作性。Zigbee協(xié)議棧的不同層通過(guò)服務(wù)接入點(diǎn)進(jìn)行通信,大多數(shù)層有兩個(gè)接口:數(shù)據(jù)實(shí)體接口和管理實(shí)體接口。數(shù)據(jù)實(shí)體接口的目標(biāo)是向上層提供所需的常規(guī)數(shù)據(jù)服務(wù)。管理實(shí)體接口的目標(biāo)是向上層提供訪問(wèn)內(nèi)部層參數(shù)、配置和管理數(shù)據(jù)的機(jī)制[1]。其基本結(jié)構(gòu)如表1所示。


PHY層由射頻收發(fā)器以及底層的控制模塊組成,定義了物理無(wú)線信道和MAC層之間的接口。主要功能是啟動(dòng)和關(guān)閉無(wú)線收發(fā)器、能量監(jiān)測(cè)、鏈路質(zhì)量監(jiān)測(cè)、信道選擇、清除信道評(píng)估以及通過(guò)物理介質(zhì)對(duì)數(shù)據(jù)包進(jìn)行發(fā)送和接收。
MAC 層為高層訪問(wèn)物理信道提供了點(diǎn)到點(diǎn)通信的服務(wù)接口,具體功能是信標(biāo)管理、信道接入、時(shí)隙管理、發(fā)送確認(rèn)幀、發(fā)送連接及斷開連接請(qǐng)求。此外,MAC層還為應(yīng)用合適的安全機(jī)制提供了一些方法。
網(wǎng)絡(luò)層主要用于建立和維護(hù)網(wǎng)絡(luò)連接。它獨(dú)立處理傳入數(shù)據(jù)的請(qǐng)求、關(guān)聯(lián)、解除關(guān)聯(lián)和孤立通知請(qǐng)求。
應(yīng)用層主要為Zigbee技術(shù)的實(shí)際應(yīng)用提供一些應(yīng)用框架模型等,以便對(duì)Zigbee技術(shù)進(jìn)行開發(fā)應(yīng)用。
由于Zigbee技術(shù)已經(jīng)定義了物理層、介質(zhì)鏈路層和網(wǎng)絡(luò)層的標(biāo)準(zhǔn)規(guī)范,因此這三層的實(shí)現(xiàn)通常是類似的。無(wú)線傳感器網(wǎng)絡(luò)的不同應(yīng)用都是由基本應(yīng)用組成,如加入網(wǎng)絡(luò)、脫離網(wǎng)絡(luò)、發(fā)送數(shù)據(jù)等。本文使用IAR Embedded Workbench for 8051軟件編寫了本網(wǎng)絡(luò)平臺(tái)的物理層、介質(zhì)鏈路層和網(wǎng)絡(luò)層程序代碼,其中每層的頭文件定義了該層所支持的服務(wù)與應(yīng)用程序接口。同時(shí)該平臺(tái)還提供了一些應(yīng)用接口,如aplFormNetwork()、aplJoinNetwork()、aplSendMSG()等,用戶可以通過(guò)調(diào)用這些函數(shù)來(lái)實(shí)現(xiàn)自己的開發(fā)與應(yīng)用。
3.3 代碼示例
Zigbee無(wú)線傳感器網(wǎng)絡(luò)協(xié)調(diào)器在進(jìn)行一些初始化之后,調(diào)用aplFormNetwork()來(lái)建立網(wǎng)絡(luò)。協(xié)調(diào)器通過(guò)掃描一個(gè)空信道來(lái)建立一個(gè)新的網(wǎng)絡(luò),然后選擇一個(gè)隨機(jī)的PAN ID并開始監(jiān)聽此信道。同時(shí)協(xié)調(diào)器還有一個(gè)目前連接設(shè)備的列表,以支持其他設(shè)備加入網(wǎng)絡(luò)。
main( ) {
halInit( );//硬件初始化

aplInit( ); // 初始化協(xié)議棧模塊
ENABLE_GLOBAL_INTERRUPT( ); //打開全局中斷
aplFormNetwork( ); //建立網(wǎng)絡(luò)
while(apsBusy( )) {apsFSM( );} //等待網(wǎng)絡(luò)建立成功
while(1) {apsFSM( );} //運(yùn)行協(xié)議棧
}
同樣,Zigbee路由器和終端設(shè)備通過(guò)aplJoinNetwork()加入?yún)f(xié)調(diào)器建立的網(wǎng)絡(luò)中。終端設(shè)備掃描信道找到協(xié)調(diào)器并申請(qǐng)加入網(wǎng)絡(luò),獲取協(xié)調(diào)器的地址,同時(shí)將本設(shè)備的地址發(fā)送給協(xié)調(diào)器。網(wǎng)絡(luò)加入成功后,終端設(shè)備則進(jìn)入休眠狀態(tài),直到有數(shù)據(jù)發(fā)送時(shí)才被喚醒。
main( ) {
halInit( );//硬件初始化
aplInit( );//初始化協(xié)議棧模塊
ENABLE_GLOBAL_INTERRUPT( );//打開全局中斷
do {
aplJoinNetwork( );//加入網(wǎng)絡(luò)
while(apsBusy)( )){apsFSM( );}//等待加入網(wǎng)絡(luò)成功
  }while (aplGetStatus( ) !=LRWPAN_SUCCESS);
while(1) {apsFSM( );} //運(yùn)行協(xié)議棧
}
4 應(yīng)用
Zigbee無(wú)線傳感器網(wǎng)絡(luò)是具有低成本、低功耗、低速率的短距離的無(wú)線通信網(wǎng),在實(shí)際應(yīng)用中,通常應(yīng)滿足以下條件:設(shè)備成本低、體積?。皇褂靡淮涡噪姵?;通信覆蓋范圍大、傳輸?shù)臄?shù)據(jù)量很小。使用該無(wú)線傳感器網(wǎng)絡(luò)平臺(tái)方便地利用Zigbee技術(shù)開發(fā)應(yīng)用。下面重點(diǎn)介紹基于該平臺(tái)的溫度監(jiān)測(cè)的實(shí)驗(yàn)。
無(wú)線溫度監(jiān)測(cè)系統(tǒng)由多個(gè)獨(dú)立的終端節(jié)點(diǎn)、一個(gè)網(wǎng)絡(luò)協(xié)調(diào)器和一臺(tái)PC機(jī)組成星形網(wǎng)絡(luò)。其中,傳感器節(jié)點(diǎn)分布于需要檢測(cè)的區(qū)域,負(fù)責(zé)對(duì)數(shù)據(jù)的感知和處理,并通過(guò)無(wú)線射頻信號(hào)發(fā)射出去;協(xié)調(diào)器接收各個(gè)傳感器節(jié)點(diǎn)發(fā)出的無(wú)線射頻信號(hào),通過(guò)RS-232的串口線送入PC主機(jī);PC主機(jī)負(fù)責(zé)存儲(chǔ)及對(duì)數(shù)據(jù)的進(jìn)一步處理。
只要在該平臺(tái)的基礎(chǔ)上設(shè)計(jì)應(yīng)用層的程序就能實(shí)現(xiàn)無(wú)線溫度監(jiān)測(cè),無(wú)需設(shè)計(jì)物理層、MAC層和網(wǎng)絡(luò)層的代碼。每隔10秒進(jìn)行一次溫度采集,兩次溫度采集期間節(jié)點(diǎn)進(jìn)入休眠狀態(tài),以減少功耗。某一時(shí)刻對(duì)節(jié)點(diǎn)1加熱,從圖3可以看出,在60秒左右時(shí),采集的數(shù)據(jù)明顯地增大。而節(jié)點(diǎn)2在時(shí)刻采集環(huán)境溫度,可以看出,采集到的數(shù)據(jù)基本為一直線。實(shí)驗(yàn)結(jié)果表明,該溫度監(jiān)控可以很好地實(shí)現(xiàn)功能,而且具有低功耗、低速率的特點(diǎn),布置起來(lái)擺脫了線纜的限制。


本文使用CC2430芯片設(shè)計(jì)并實(shí)現(xiàn)了Zigbee無(wú)線傳感器網(wǎng)絡(luò)平臺(tái),以低成本、低功耗等為目標(biāo)設(shè)計(jì)終端節(jié)點(diǎn),采用模塊化的方法設(shè)計(jì)了Zigbee協(xié)議棧,使得該平臺(tái)具有通用性和易開發(fā)性,解決了從系統(tǒng)設(shè)計(jì)到產(chǎn)品設(shè)計(jì)中的典型問(wèn)題,加快了Zigbee無(wú)線傳感器網(wǎng)絡(luò)的開發(fā)和應(yīng)用。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉