關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于nRF905的無線傳感器網絡節點的設計與實現

        基于nRF905的無線傳感器網絡節點的設計與實現

        作者: 時間:2010-09-27 來源:網絡 收藏

        無線傳感器網絡是計算機技術、傳感器技術和網絡通信技術相結合的產物。它由大量隨機分布的、具有實時感知、無線通信和自組織能力的傳感器節點組成[1]。隨著無線技術的高速發展,無線傳感器網絡越來越多地走進人們的視野中。與有線技術相比,無線技術具有成本低、體積小、省去復雜的布線等優點。但是由于現有的無線傳感器節點大都采用電池供電,放置地點隨機變動,隨時可能出現節點中斷的情況,通信能力十分有限,需要經常性的人工維護。因此,無線傳感器網絡節點要具有自組織、中斷自我修復的功能,需要設計合適的通信協議和路由算法,以提高系統通信的可靠性。為此,本文采用無線射頻芯片nRF905和STC12系列單片機設計了一種無線傳感器節點,并且在典型自組織網絡的通信協議-動態源路由協議DSR(Dynamic Source Routing)[2-4]的基礎上,針對路由維護算法做出改進,設計出一種易于實現且實用性高的通信協議,實現了自組織和多跳傳輸數據的無線通信系統。
        1 節點硬件設計
        節點分為協調器節點和普通節點,普通節點帶有傳感器,負責采集需要的數據并組成網絡,協調器節點負責整個網絡的控制和數據的匯總、分析、處理等。圖1為協調器和普通節點的結構圖。

        本文引用地址:http://www.104case.com/article/162822.htm

        1.1 MCU
        STC12LE5410AD單片機是單時鐘/機器周期(1T)的兼容8051內核單片機,是高速、低功耗的新一代8051單片機,指令代碼完全兼容傳統8051,而速度快8~12倍,內部集成硬件高速SPI(Serial Peripheral Interface)接口、2 KB EEPROM、A/D轉換模塊和MAX810專用復位電路。工作電壓2.4~3.8 V,因此可用電池工作,并可長時間工作。器件在少于6 μs的時間內可以從低功耗模式迅速喚醒。STC12LE5410AD的超小封裝、高度集成、精簡外部電路可設計出更小的節點,超低的價格可以大規模鋪設傳感器節點。STC12LE5410AD單片機的這些特征,非常適合應用在無線傳感器網絡中。
        1.2 射頻收發器件nRF905[5]
        nRF905由挪威Nordic公司生產,是一個為433/868/915 MHz-ISM(工業、科學、醫療)頻段設計的單片無線收發芯片,32腳QFN封裝,工作電壓為1.9~3.6 V,最大發射功率為10 dBm。該收發芯片由頻率合成器、接收解調器、功率放大器、晶體振蕩器和調制器組成,片內自動完成曼徹斯特編碼/解碼。nRF905有兩種活動(TX/RX)模式和兩種節電模式。活動模式之間轉換時間小于550 μs,活動模式與節電模式之間的轉換時間小于650 μs。
        nRF905通過SPI與微控制器通信,自動處理字頭和循環冗余碼校驗(CRC)。當進行數據發送時,只需將配置寄存器信息、所要發送的數據和接收地址送給nRF905,它就會自動完成數據打包(加字頭和CRC校驗碼)和發送。接收數據時,nRF905自動檢測載波并進行地址匹配,接收到正確數據后自動移去字頭、地址和CRC校驗碼,再通過SPI將數據傳送到微控制器。
        1.3 硬件連接設置
        STC單片機通過內部集成的硬件高速串行外設接口SPI與nRF905連接,最快可達3 Mb/s,比軟件模擬SPI方式快30倍左右,大大減少了程序執行時間,提高了網絡的吞吐率。同時在設計協調器節點與PC上位機軟件通信程序時,利用STC單片機1T時鐘的優勢,設置串口波特率使用的定時器12倍速方式,使串口波特率提高至115 200 b/s,提高了協調器節點的反應速度,減少了等待時間,提高了系統的吞吐率。
        2 節點軟件設計
        本系統的軟件設計分為協調器節點Connector軟件和普通節點Node軟件的設計,其中協調器節點作為整個網絡系統的主節點,起著控制全網絡的作用,通過PC機的上位機軟件,可以對協調器進行接收和發送命令及數據,從而實現對整個系統網絡的控制。而每個普通節點也預留通信接口,可以在需要的時候與其他設備相連接。
        由于本系統實現自組織網絡的需要,在物理層中為每個節點(包括協調器和普通節點)定義了相同的物理地址,實現全網的廣播功能。在網絡層為每個節點分配唯一的網絡地址,通過軟件判斷接收數據的目的節點是否是本機。
        圖2為節點自組織流程圖。當網絡中增加一個新節點,新節點上電初始化后,首先會向協調器發送路由請求RREQ請求加入網絡,并打開定時器;協調器收到RREQ后,記錄新節點信息,并通過反路由發送應答信號ACK至源節點;如果新節點在設定的時間內收到ACK信號,表示加入網絡成功,并且記錄本節點至協調器的路由信息;如果在設定的時間內沒有收到ACK信號,那么重新發送路由請求RREQ至協調器,如此循環直至收到ACK信號。如果重發次數達到設定的上線,仍沒有收到ACK信號,則進行全網廣播RREQ,并打開定時器,等待返回RREP命令;在設定時間后進行重新廣播RREQ,直到到達重發上限。新節點收到RREP表示加入網絡成功,同時保存RREP命令幀中的路由信息。


        上一頁 1 2 3 下一頁

        關鍵詞: 編解碼器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁晋县| 孙吴县| 常州市| 内黄县| 花莲市| 博兴县| 邢台县| 绥德县| 开封市| 万宁市| 平昌县| 报价| 鄂伦春自治旗| 新邵县| 娄烦县| 玛曲县| 宁强县| 钟山县| 合川市| 罗田县| 政和县| 手游| 巴楚县| 淮阳县| 阿拉善盟| 德江县| 彭泽县| 三原县| 乾安县| 和平县| 九台市| 辰溪县| 武功县| 禹州市| 屏山县| 静宁县| 兴城市| 绥滨县| 广饶县| 邵东县| 社旗县|