時間:2013-02-20 10:26:01來源:李姍姍 何印洲
0.引言
無線傳感器網絡是一個多學科高度交叉、知識高度集成的前沿熱點研究領域,有著巨大的科學意義,在軍事國防、生物醫療、環境監測、交通管理等各個領域有著十分廣闊的應用前景,它將對人類的生活產生重大的影響[[i],[ii]]。美國的《技術評論》雜志在論述未來新興十大技術時,更是將無線傳感器網絡列為第一項未來新興技術,《商業周刊》將傳感器網絡定位成21世紀高技術領域的四大支柱性產業之一。在無線傳感器網絡中,協調器是整個網絡的中心,被稱之為無線傳感網絡的“大腦”[[iii]]。因此,本文主要對無線傳感器網絡中的協調器做主要介紹,包括其作用和軟硬件設計等。
1.協調器的作用
網絡協調器的主要功能是協調建立網絡,其他功能還包括:傳輸網絡信標、管理網絡節點及存儲網絡節點信息,并且提供關聯節點之間的路由信息;此外,網絡協調器要存儲一些基本信息,如節點數據設備、數據轉發表及設備關聯表等。
ZigBee的網絡拓撲結構有三種:星型網絡、樹簇型網絡、網型網絡[[iv]]。其中,定義了兩種設備:全功能設備(FFD,Full-functionDevice)和精簡功能設備(RFD,Reduced-functionDevice)[[v]]。與RFD相比,FFD在硬件功能上比較完備。在通信能力上,FFD可以與是由于其他的FFD或RFD通信,而RFD只能和與其關聯的FFD進行通信[[vi]]。下面就三種網絡拓撲結構中協調器的作用進行簡單描述。
1.1星型網絡中協調器的作用
在星型網絡拓撲結構的網絡中有一個稱為網絡協調器的中央控制器和若干個從設備,如圖1.1所示。協調器負責網絡的建立和維護,它必須是FFD節點,而且一般來說應該有穩定的電能供給,不需要考慮耗能問題。從設備可以是FFD節點,在大多數情況下是采用電池供電的RFD節點,它只能直接與網絡協調器進行數據通信,而與其他從設備之間的通信必須通過網絡協調器轉發。在一個網絡中哪個設備作為網絡協調器一般來說是由上層規定的,不在ZigBee協議規定的范圍之內。比較簡單的方法就是讓首先啟動的FFD成為網絡協調器。在這種情況下,當一個FFD節點上電開始工作時,它就會檢測周圍的環境,選擇合適的信道,把自己設為協調器,并選擇一個網絡標識符,然后建立起自己的網絡。網絡標識符用來唯一的確定本網絡,以和其他網絡相區分,網絡內的從設備也是根據這個網絡標識符來確定自己和網絡協調器的從屬關系。網絡建立后,協調器就可以允許其他的設備與自己建立連接從而加入到該網絡中。至此,一個星型的ZigBee網絡就建立起來了。
圖1.1 星型網絡結構拓撲結構圖
1.2樹簇型網絡中協調器的作用
在分布范圍相對較大的應用場合,樹型拓撲結構是一種合適的結構形式,如圖1.2所示。圖中,處于網絡最末端的稱為“葉”節點,它們是網絡中的終端設備。若干個葉節點設備連接在一個全功能節點(FFD)上形成一個“簇”,若干個“簇”再連接就形成“樹”,故稱為樹簇型拓撲網絡。樹簇型拓撲網絡網絡拓撲結構中的大部分節點是FFD,半功能節點(RFD)只能作為葉節點處于樹枝的末端。在這種網絡中有一個主協調器,作為主協調器的節點應該具有更多的資源、穩定可靠的供電等。在建立這樣的網絡時,協調器啟動建立網絡后,首先選擇網絡標識符,將自己短地址設置為0,然后開始向它鄰近的設備發送信標,接受其他設備的連接,形成樹的第一級。協調器與這些設備之間形成父子關系。與協調器建立了連接的設備都分配了一個16位的網絡地址——稱為短地址。如果設備以終端設備的身份接入網絡,則協調器會為它分配一個唯一的16位網絡地址;如果設備以路由器的身份與網絡建立連接,則協調器會為它分配一個地址塊——包含有若干16位短地址。路由器根據它接收到的協調器信標的信息,配置并發送它自己的信標,允許其他的設備與自己建立連接,成為其子設備。這些子設備中可以有路由器,它們可以有自己的子設備,如此下去形成多級樹簇型結構的網絡。顯然,樹簇型網絡是利用路由器對星型網絡的擴充。
圖1.2 樹簇型網絡拓撲結構圖
圖1.3 網型網絡拓撲結構圖
1.3網型網絡
如圖1.3所示,網形網絡是一個自由設計的拓撲,具有很高的適應環境的能力。網絡中的每個節點都是一個小的路由器,都具有重新路由選擇的能力,以確保網絡最大限度的可靠性,可以看出網絡中任意兩個節點的通訊路徑不是唯一的。網型拓撲與星型、樹簇型相比,更加復雜,其路由拓撲是動態的,不存在一個固定可知的路由模式。這樣信息傳輸時間更加依賴瞬時網絡連接質量,因而難以預計。更重要的是,即使對一個經驗豐富的網絡設計師來說,定性地分析網型算法也是一件極具挑戰的工作。考慮網型網絡的復雜性和應用場合,我們采用星型網絡和樹簇型網絡組建環境檢測系統。
2.協調器程序設計
圖2.1協調器軟件流程
網絡協調器的程序主要包括協調建立網絡、檢測網絡狀態、發送維護信號、發送采集命令等。協調器軟件流程圖如圖2.1所示。協調器節點上電后首先進行初始化,具體包括芯片初始化、協議棧初始化、串口初始化、硬件初始化等。其中芯片、協議棧、串口初始化工作可分別調用協議棧自帶的初始化函數實現,硬件初始化函數則根據自己設計電路板的硬件進行裁剪。整個協議棧是以一個OS(operatingsystem)貫穿的,因此初始化完成之后將通過osal_strar_system()函數進入操作系統。這個函數也是任務同的主循環函數,它將檢查所有的任務事件并為含有該事件的任務調用任務事件處理函數。每個任務事件都對應一個ID,當某個事件發生時,設置其對應的ID號。
圖2.2協調器組網流程圖
各個節點在通信之前,協調器必須先把網絡建立起來,圖2.2為ZigBee節點的組網流程圖。協調器上電后會搜索網絡,選擇16個頻道的第一個頻道,發出一個Channel_Busy幀,請求在這個頻道上的節點給予回復。如果此物理空間上存在已經使用這個頻道的ZigBee網絡,那么這個網絡中的FFD在接收到Channel_Busy幀后會回復一個幀,告訴剛上電的FFD這個頻道已經被占用。剛上電的FFD接收到回復幀以后,得知這個頻道已經被占用,于是換到下一個頻道,發送一個Channel_Busy幀。如此下去,直到這個FFD發出Channel_Busy幀后沒接到任何回復,于是確認這個頻道是沒有被占據的空頻道。該FFD在這個空頻道上建立ZigBee網絡,等待RFD節點的加入。這樣一個新的ZigBee網絡組建成功。如果ZigBee網絡的16個頻道都被占用,FFD就不可能找到空閑的頻道,結果是網絡構建失敗。
圖2.3檢測網絡
星型網絡組網成功之后,星型網絡控制中心就進入正常的工作狀態,一直處于循環檢測的狀態,該部分程序框圖如圖2.3所示。每個周期開始都檢測有無新的終端節點(RFD)加入網絡或者有無原來的節點退出網絡,如果有就調用加入/退出網絡子程序。如果有多個節點同時要求加入網絡,隨機延時函數算出比較快的節點就會首先發送加入網絡信號。節點進入接收狀態,判斷現在信道是否為空。如果隨機延時函數算出比較快的節點在于星型網絡控制中心通信,這時模塊的DR信號就會為高,其他節點是不能與主機通信的,所以其他節點只能再進行一個隨機延時,再檢測信道是否為空,如此直到信道為空時才能與星型網絡控制中心通信,從而加入網絡。如果連續3次節點都檢測出信道被占用,節點就退出加入網絡狀態,得下一個加入網絡時段再加入網絡。節點發送加入網絡信號后,如果收到星型網絡控制中心的特定的應答信號,就表明加入網絡成功。退出網絡也是如此。考慮系統的復雜性,星型網絡控制中心只能控制5個終端節點。
然后,星型網絡控制中心就發送網絡維護信號,檢測網絡中的終端節點是否因斷電或者模塊損壞退出網絡。如果有這樣的情況存在,我們應該及時更換模塊或者電池,以維持整個系統的良好運行。
最后,星型網絡控制中心就可以發送命令采集某一個特定終端節點的數據信息如溫度,濕度等或者定時接收來自終端節點的數據信息并在客戶端軟件上顯示。
3.硬件設計
網絡協調器采用的MCU是STC89C52RC,射頻芯片是nRF2401,通過串口與PC進行通信為例,介紹協調器的硬件設計。
3.1STC89C52RC電路設計
(1)MCU基本電路
STC89C52RC的支撐電路包括晶振電路和復位電路。晶振電路由兩個30pF的電容和一個11.0592MHz的晶振組成。復位電路由一個47uF、一個0.1uF的電容、按鍵和10K的電阻組成。具體連接電路如3.1圖所示。
圖3.1STC89C52RC基本電路
(2)串口通信電路
STC89C52RC支持串口通信,需要2根線:TX和RX,分別進行數據的發送和接收。由于串口可能接到電腦的串口外設,會產生電平不匹配的問題,因此需要通過一個電平轉換的集成電路,本方案選用的是MAXIM公司的MAX323,具體線路邏輯示意圖見圖3.2。
(3)USB轉串口下載電路
我們選用USB接口轉換芯片PL2303,它是移動系統合嵌入式系統得理想選擇,其小封裝能夠嵌入任何連接件和手持設備。PL2303在工作模式和休眠模式都具有很低的功耗,非常適合總線供電場合使用。PL2303的輸出電壓可調,可以滿足類RS232接口的5V、3.3V、2.5V之間的電壓。
圖3.2串行電路連接圖
PL2303外圍電路如圖3.3所示,PL2303將應用程序通過USB轉成串口下載到STC89C52RC微處理器中。PL2303的驅動程序可在其官方網站上下載,用戶使用非常方便。其片內已存儲固件程序,若用戶需要增加或修改其功能,可自己編寫固件程序。PL2303默認的是COM3口,可修改,需要我們編程時注意。圖3.3中的LED是USB是否連接正常的指示燈,當USB插座插入PC機后,PC機為USB總線提供5V電壓,此時LED保持亮的狀態,當拔下USB插座后,LED自動熄滅。
圖3.3 PL2303 外圍電路
3.2RF收發模塊電路的設計
圖3.4nRF外圍電路
(1)nRF24L01無線通信模塊
無線通信模塊nRF2401外圍電路設計原理圖如圖3.4所示。射頻電路對于電源噪聲相當敏感,尤其是對毛刺電壓和調頻諧波,因此在布線時,采用星形布線使數字部分和RF部分有各自的電源線路,并且在靠近集成電路電源引腳處分別去耦。此外,所有對地線層的連接必須盡量短。所述方法有利于提高射頻電路PCB設計的可靠性,解決電磁干擾問題,進而達到電磁兼容的目的。
(2)STC89C52RC與nRF2401接口電路
STC89C52RC與nRF2401接口電路如圖3.5所示。采用低功耗STC89C52RC微控制器,使該控制器實現與nRF2401芯片的PWR_UP、CE、DR1、CS、CLK1、DATA等引腳相連。其中PWR_UP主要用于控制芯片的工作狀態,如開機方式或關機方式;CE引腳主要用于控制nRF2401工作方式,如接收方式或發送方式;DR1引腳用于產生中斷信號,便于微控制器控制能夠及時處理與無線收發有關的事件;CS引腳主要作為芯片的片選信號;其余各引腳都與SPI接口通信相關。
圖3.5STC89C52RC與nRF2401接口電路
(3)電源電路的設計
協調器電路中有兩個電壓標準即為5V和3.3V。STC89C52RC微處理器接PC的USB接口,采用5V供電。nRF2401采用3.3V供電。要使得兩者工作同一電源下,必須進行電壓轉化。
3.3硬件電路的抗干擾措施
節點電路系統及節點間通信的可靠性由多種因素決定,其中系統抗干擾性能是可靠性的重要指標。有效的抗干擾措施,對節點射頻電路的正常工作、節點間通信的可靠性尤為重要,因此,如何防止和抑制電磁干擾,提高電磁兼容性,就成為系統PCB設計的一個非常重要的技術內容。硬件電路在設計中可以采用設置去耦電容、合理布線、抑制印制板輻射噪聲等抗干擾措施。
4.協調器與非協調器節點間的通信
協調器負責網絡的建立和維護,它必須是FFD節點,而且一般來說應該有穩定的電能供給,不需要考慮耗能問題。從設備可以是FFD節點,在大多數情況下是采用電池供電的RFD節點,它只能直接與網絡協調器進行數據通信,而與其他從設備之間的通信必須通過網絡協調器轉發。通信模塊軟件分為主程序、建立通信鏈路子程序、數據處理子程序、打包發送子程序、中斷接收子程序、模式轉換子程序(包括MCU和射頻nRF2401)等。主程序主要是初始化單片機串口和設置ZigBee模塊的一些參數,包括內部各種寄存器的設置、工作模式的設置(如波特率)等,完成后開中斷,循環等待中斷。傳感器節點打開電源,初始化單片機串口、ZigBee模塊,建立通信鏈路后進入休眠模式。當協調器節點收到中斷請求時觸發中斷,激活節點,利用串行口中斷發送或接收信息包,接收數據時調用數據處理子程序分析節點發來的事件,對不同的數據類型如:新數據廣播、路由請求、路由回復、數據幀等做出相應的處理;接收完成后還要執行校驗,根據校驗結果決定是丟棄該幀,還是做出相應的反應。處理完畢后繼續進入休眠狀態,等待有請求時再次激活。若有多個從節點同時向協調器節點發送請求,協調器節點來不及響應處理而丟掉一些請求,發現自己的請求未得到響應的從節點過幾秒鐘再次發出請求,直到得到協調器節點的響應為止。
在協調器節點和非協調器節點通信時,可以通過合理設計非協調器節點的通信半徑,達到最小化網絡消耗總能量的目的。通過自內而外一次最小化每層節點的平均能耗可以確定每層節點的通信半徑。當每層節點的能耗達到最小時,我們可以通過密度調節、引入移動傳感器節點等方式實現每層節點的能耗均衡,從而在真正意義上實現網絡壽命最大化。
5.結束語
綜上所述,本文針對協調器在無線傳感器網絡中的特殊地位,從協調器在無線傳感器網絡中的作用,軟硬件設計,通信等方面對協調器做了較為全面的介紹,并給出了詳細的程序設計流程圖和具有實用價值的硬件設計電路,對協調器的研究和無線傳感器網絡的研究具有重要意義。
參考文獻
[[1]]AkyildizIF,SuW,SankarasubramaniamY,etal.WirelessSensorNetworks:asurvey[J].ComputerNetworks,2002,38(4):393-422.
[[1]]CrullerD,EstrinD,SrivastavaM.OverviewofSensorNetworks[J].Computer,2004,37(8):41-49.
[[1]]昂志敏,金海紅,范之國等.基于ZigBee的無線傳感器網絡節點的設計與通信實現[J].現代電子技術,2007,10:47-49.
[[1]]呂治安編著.ZigBee網絡原理與應用開發[M].北京:北京航空航天大學出版社,2007:5-20.
[[1]]李文仲,段朝玉.ZigBee無限網絡技術入門與實踐[M].北京:北京航空航天大學出版社,2007:24-35.
[[1]]陳彥名.基于ZigBee的無線傳感器網絡節點設計及其應用開發[D].哈爾濱理工大學,2009.
作者簡介:
李姍姍,1988年3月,女,碩士研究生在讀,山東大學控制科學與工程學院,學生,研究方向為控制科學與工程、能效分析與評估。
何印洲,1987年5月,男,碩士研究生在讀,山東大學控制科學與工程學院,學生,研究方向為DCS控制系統。
通訊地址:山東省濟南市經十路19723號山東大學千佛山校區控制學院
郵編:250061
聯系電話:15966312146(李姍姍)
E-mail:lishanshan987654@163.com
標簽:
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-05-19
2025-04-30
2025-04-11
2025-04-08
2025-03-31
2025-03-26