新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種無線傳感器網(wǎng)絡(luò)CSMA協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)

一種無線傳感器網(wǎng)絡(luò)CSMA協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時間:2012-04-14 來源:網(wǎng)絡(luò) 收藏

表1 信號強(qiáng)度測試數(shù)據(jù)

一種無線傳感器網(wǎng)絡(luò)CSMA協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)

在雙方節(jié)點(diǎn)能通信的前提下,本文測到的busyRSSI的最小值為0x54。根據(jù)上一小節(jié)的論述,initBusySignal的值可以略高,但因?yàn)樵撝凳窃陔娏砍渥闱矣凶韪舻那闆r下測試岀的最小強(qiáng)調(diào)值,因此可以直接取為busyRSSI的最小值,即initBusySignal的值設(shè)置為0x54。對于initNoiseSignal的取值,從表1可以看出,檢測到的RSSI值非常穩(wěn)定,信道空閑時噪聲強(qiáng)度幅度不大,因此取值比0x4D略大就可以了。本文中initNoiseSignal取值為0x4E。

3.3 本文實(shí)現(xiàn)的信道監(jiān)測機(jī)制的優(yōu)點(diǎn)

本文實(shí)現(xiàn)的信道監(jiān)測機(jī)制比較完善且十分靈活。完善是指信道活動狀態(tài)判定規(guī)則十分完備,不僅有基本判定和擴(kuò)展判定,而且還有閾值更新機(jī)制,進(jìn)一步確保了判定結(jié)果的正確性;靈活是指向調(diào)用方提供了采樣窗口數(shù)的設(shè)置,使得調(diào)用方可以在每次監(jiān)測時使用不同的采樣窗口數(shù),可以被LPL、BMAC等有特殊要求的基于競爭的MAC協(xié)議直接調(diào)用。

4 的實(shí)現(xiàn)

本文實(shí)現(xiàn)的CAMA協(xié)議是基于使用廣泛的非持續(xù)性的,即節(jié)點(diǎn)在發(fā)送數(shù)據(jù)包之前先監(jiān)測信道,如果監(jiān)測到信道空閑,則該節(jié)點(diǎn)就自己開始發(fā)送數(shù)據(jù)包。反之,如果監(jiān)測結(jié)果為信道繁忙,即信道已經(jīng)被鄰居節(jié)點(diǎn)占用,則該節(jié)點(diǎn)回退一段隨機(jī)時間后,再次開始監(jiān)測,重復(fù)上面的操作。

在具體實(shí)現(xiàn)時,本文結(jié)合信道監(jiān)測提供的接口對協(xié)議做了一些優(yōu)化調(diào)整。另外,由于網(wǎng)絡(luò)中節(jié)點(diǎn)間距離很短,一般忽略傳播延遲,因此具體的實(shí)現(xiàn)與標(biāo)準(zhǔn)的CSMA協(xié)議有些不同,但原理一致,其實(shí)現(xiàn)如下:

如果節(jié)點(diǎn)要發(fā)送數(shù)據(jù)包,需要先進(jìn)行載波監(jiān)聽,首先隨機(jī)選擇一個采樣窗口數(shù)(即信道采樣次數(shù)),該采樣數(shù)屬于某一個范圍,本文選擇為8~32。采樣數(shù)隨機(jī)選擇的目的是減少沖突,舉例說明:假設(shè)信道目前空閑,A、B、C三個節(jié)點(diǎn)都是鄰居節(jié)點(diǎn),且A、B節(jié)點(diǎn)有數(shù)據(jù)包要發(fā)送給節(jié)點(diǎn)C;A、B兩個鄰居節(jié)點(diǎn)同時開始監(jiān)測,如果采樣窗口數(shù)固定,根據(jù)信道監(jiān)測的規(guī)則,信道空閑必須等到采樣數(shù)用完才能下結(jié)論,那么A、B節(jié)點(diǎn)都在用完所有的采樣數(shù)后得岀信道空閑的結(jié)論,然后都發(fā)送數(shù)據(jù)包,這樣數(shù)據(jù)在節(jié)點(diǎn)C處就發(fā)生了沖突,最后A、B兩節(jié)點(diǎn)就必須依靠隨機(jī)回退一段時間后再次監(jiān)測信道。采用隨機(jī)的采樣窗口數(shù)可以降低上面情況的發(fā)生率。因?yàn)椴蓸哟翱跀?shù)小的節(jié)點(diǎn)(假設(shè)為節(jié)點(diǎn)A)先得出信道空閑的結(jié)論并發(fā)送數(shù)據(jù)包,采樣窗口數(shù)大的節(jié)點(diǎn)B在后面的采樣中發(fā)現(xiàn)信道繁忙(因?yàn)楣?jié)點(diǎn)A已經(jīng)占用了信道)就回退,避免了發(fā)生沖突。

回退時間的選擇也是值得推敲的一個參數(shù)。CC2420是以數(shù)據(jù)包為單位發(fā)送的射頻芯片,其最大數(shù)據(jù)包的長度為128字節(jié),加上同步頭5字節(jié),總共是133字節(jié)。CC2420的發(fā)送速率是250 kb/s,即發(fā)送一個字節(jié)的時間為32 μs,因此發(fā)送一個最大數(shù)據(jù)包的時間為133×32=4 256 μs。根據(jù)信道采樣規(guī)則,只要一采樣到信道占用,就可以結(jié)束本次監(jiān)測并得出信道繁忙的結(jié)論,因此回退時間應(yīng)該要大于數(shù)據(jù)包的發(fā)送時間。又因?yàn)椴蓸哟翱跀?shù)已經(jīng)采用了隨機(jī)選取,所以回退時間可以使用固定值。因此可以將回退時間固定為4.5 ms,回退功能的具體實(shí)現(xiàn)只需要一個定時器輔助就可以了。

最后,要處理信道強(qiáng)度閾值更新的問題。如果MAC層連續(xù)對信道監(jiān)測的結(jié)果都是繁忙,且累計(jì)超過一個預(yù)設(shè)的閾值Y,就必須要調(diào)用MAC層提供的接口來對minSignal閾值進(jìn)行更新,參照上節(jié)信號強(qiáng)度閾值的更新機(jī)制。根據(jù)實(shí)際的測試分析,Y的取值一般為30~60。

結(jié)語

本文靈活利用CC2420射頻芯片的特點(diǎn),設(shè)計(jì)并實(shí)現(xiàn)了一整套從物理層到MAC層的網(wǎng)絡(luò)CSMA協(xié)議的實(shí)現(xiàn);并詳細(xì)闡述了協(xié)議中信道監(jiān)測使用的所有判定規(guī)則及各關(guān)鍵閾值參數(shù)的選擇。經(jīng)過實(shí)際的多節(jié)點(diǎn)通信測試,該CSMA協(xié)議可以正確、穩(wěn)定地進(jìn)行信道活動監(jiān)測,并實(shí)時動態(tài)地調(diào)整閾值;并且該CSMA協(xié)議的設(shè)計(jì)可以完全嵌入應(yīng)用到其他MAC層協(xié)議中,輔助其他協(xié)議完成信道競爭或信道檢測。

參考文獻(xiàn)

[1] 于海斌,等. 智能網(wǎng)絡(luò)系統(tǒng)[M]. 北京: 科學(xué)出版社,2006.

[2] 孫利民,等. 無線傳感器網(wǎng)絡(luò). 北京: 清華大學(xué)出版社,2005.

[3] 魏小龍. MSP430系列單片機(jī)接口技術(shù)及系統(tǒng)設(shè)計(jì)實(shí)例[M]. 北京: 北京航空航天大學(xué)出版社, 2002.

[4] ChipCon. SmartRF CC2420 Datasheet (rev 1.3), 20051003.


上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

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

關(guān)閉