新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 無線傳感器網(wǎng)絡自組網(wǎng)協(xié)議的實現(xiàn)方法

無線傳感器網(wǎng)絡自組網(wǎng)協(xié)議的實現(xiàn)方法

作者: 時間:2013-07-03 來源:網(wǎng)絡 收藏

引言

  具有非常廣闊的應用前景[1]。文獻[2]給出一種傳統(tǒng)的洪泛算法(Flooding),也是最早、最簡單的路由協(xié)議。節(jié)點以廣播的形式發(fā)送消息,接收到消息的節(jié)點再以廣播形式轉發(fā)數(shù)據(jù)包給所有的鄰節(jié)點,這個過程重復執(zhí)行,直到數(shù)據(jù)包到達目的地或者達到預先設定的最大跳數(shù)。文獻 [3]提出了最具代表性的層次型自組織算法(LEACH,Low Energy Adaptive Clustering Hierarchy)。LEACH是MIT的Heinzelman等人為設計的自適應聚類路由算法,主要通過隨機選擇聚類首領、平均分攤中繼通信業(yè)務來實現(xiàn)。文獻[4]給出以數(shù)據(jù)為中心的自組織算法SPIN(Sensor Protocols for Information Via Negotiation)。它的主要思想是通過高層的描述方式——元數(shù)據(jù)來命名傳感數(shù)據(jù)。在發(fā)送真實的數(shù)據(jù)之前,傳感器節(jié)點廣播采集數(shù)據(jù)的描述信息元數(shù)據(jù),當有相應的請求時,才有目的地發(fā)送數(shù)據(jù)信息。這些研究均在的自組織算法上取得進展,但是,F(xiàn)looding存在消息“內爆”和“重疊” 的缺陷;LEACH的動態(tài)分簇帶來了拓撲變換和大量廣播這樣的額外開銷;SPIN中的元數(shù)據(jù)沒有統(tǒng)一的形式,且其拓撲變化是局部性的,因此不適用于需要高可靠性的應用。還有很多其他相關算法停留在理論研究階段。

  針對這種研究現(xiàn)狀,本文提出一種簡單易實現(xiàn)的,選用MSP430F149單片機設計了微型傳感器節(jié)點,并實現(xiàn)了一種無線網(wǎng)絡。

1

  在協(xié)議中,通過定義數(shù)據(jù)包的格式和關鍵字來實現(xiàn)節(jié)點的自組織。

1.1 協(xié)議格式

  格式如下:

按此在新窗口瀏覽圖片

  其中,Pre表示前導碼,這些字符雜波不容易產(chǎn)生,通過測試和試驗發(fā)現(xiàn),噪聲中不容易產(chǎn)生0x55和0xAA等非常有規(guī)律的信號;Key表示關鍵字,用來區(qū)分各種情況下的數(shù)據(jù),接收節(jié)點會根據(jù)這些關鍵字分別進入不同的數(shù)據(jù)處理單元;From表示源地址,是發(fā)送數(shù)據(jù)的節(jié)點自身信息;Final表示數(shù)據(jù)的目標地址;Data表示有效數(shù)據(jù),這些數(shù)據(jù)隨著字符Key的不同采用不同的格式,可攜帶不同的信息;Check表示檢驗位,可避免接收錯誤的數(shù)據(jù)包;Flag表示數(shù)據(jù)包的結束標志位。

  根據(jù)協(xié)議格式中的Key,可以將節(jié)點通信時捎帶的數(shù)據(jù)包分為自組網(wǎng)信息、環(huán)境突變信息、上位機的控制命令、廣播信息等。節(jié)點在發(fā)送狀態(tài)突變時的數(shù)據(jù)包格式如下:

按此在新窗口瀏覽圖片

  其中,0x55和0xAA為數(shù)據(jù)前導碼,0xFF為傳感器節(jié)點在感測到其狀態(tài)突變時向外發(fā)送數(shù)據(jù)的關鍵字,0x11表示發(fā)送節(jié)點的地址, 0x00為數(shù)據(jù)包要到達的目標地址,0x01表示數(shù)據(jù)包在網(wǎng)絡傳輸中的跳數(shù),接著的0x01表示節(jié)點在當前網(wǎng)絡中的級別,0x15表示節(jié)點當時采集的溫度,0x20表示節(jié)點當時采集的電源電壓值,0x03表示節(jié)點的狀態(tài)量, 0x00…0x00為11個字節(jié)的有效數(shù)據(jù),可記錄數(shù)據(jù)包經(jīng)過節(jié)點的地址,0x3A為前面核心數(shù)據(jù)和的低8位,作為數(shù)據(jù)包的檢驗碼,0xBB為數(shù)據(jù)包的結束標志。

  接收節(jié)點需要向發(fā)送節(jié)點做出應答,應答狀態(tài)突變時的數(shù)據(jù)包格式如下:

按此在新窗口瀏覽圖片

  其中,0xFF就表示應答狀態(tài)突變的關鍵字,后面分別是發(fā)送節(jié)點和接收節(jié)點的地址。

1.2 自組網(wǎng)過程

  網(wǎng)絡包含一個與上位機相連接的基站節(jié)點和若干傳感器節(jié)點?;竟?jié)點上電初始化后就進入模式。傳感器節(jié)點隨機布放,上電初始化后,傳感器節(jié)點首先會向基站節(jié)點發(fā)出請求分配級別的命令,然后進入低功耗狀態(tài)并打開定時器。若在設定時間內收到基站節(jié)點分配的級別,該傳感器節(jié)點就會向基站節(jié)點發(fā)送自組織信息的數(shù)據(jù)包。如果在設定時間內沒有收到基站節(jié)點分配的級別,該節(jié)點會從低功耗狀態(tài)喚醒,再次發(fā)送請求分配級別的命令,如此循環(huán)。當傳感器節(jié)點發(fā)出請求基站分配級別的命令達到設定上限后,但仍然沒有確定自己在網(wǎng)絡中的級別時,該節(jié)點就會向全網(wǎng)發(fā)出廣播命令,然后進入低功耗狀態(tài)并打開定時器。定時時間到,節(jié)點重新回到發(fā)射廣播命令狀態(tài)。當傳感器節(jié)點發(fā)射廣播的次數(shù)達到設定值時,該節(jié)點就會將接收到的應答信息進行整理,確定自己在網(wǎng)絡中的級別,并確定上級、同級和下級節(jié)點的相關信息。該節(jié)點再向上級節(jié)點發(fā)送包含這些信息的數(shù)據(jù)包,直到數(shù)據(jù)包傳送到基站節(jié)點,從而確定整個網(wǎng)絡的拓撲結構。節(jié)點的自組織流程如圖1所示。

按此在新窗口瀏覽圖片
圖1 節(jié)點的自組織流程

2 硬件研制

  為了驗證提出的自組織協(xié)議,本文選用了片上資源豐富的MSP430F149單片機作為處理器,研制了一種微型傳感器節(jié)點[5]。

電能表相關文章:電能表原理

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉