專利名稱::低負載無線傳感器網絡mac層監聽休眠方法
技術領域:
:本發明涉及一種低負載無線傳感器網絡MAC層監聽休眠方法。
背景技術:
:低負載無線傳感器網絡技術具有組網快捷、靈活,且不受有線網絡約束的優點,它可應用于緊急搜索、災難救助、環境監測等領域,具有廣泛的應用前景。但是,能量消耗問題卻一直限制著低負載無線傳感器網絡技術的發展,怎樣節省節點耗能,特別是提高MAC層的能量利用效率,從而延長網絡的生存時間,一直是無線傳感器網絡實際應用中的關鍵問題。由于無線電不但在傳輸和接收模式下消耗能量最多,而且在空閑模式下也因為消耗比較多的能量而使運行昂貴。因此,大多數現有的低功耗MAC協議的主要研究方向是如何精確管理無線電射頻的開關,使無線電盡可能處于睡眠狀態,從而節省能量。目前,效率比較高的低功耗協議一般都是競爭性協議,其中一個是使用信道采樣的協議,以LPL協議為代表;而另外一個則是使用時間調度的協議,以S-MAC協議為代表。,LPL協議的基本思想是通過增加前導域的長度把接收者的成本轉移到發送者。接收者周期性地開啟無線電,從而對即將到來的數據進行采樣,探測導言是否具備或存在,如果探測到一個導言,它會一直監聽直到開始標記到來再接收數據;如果沒有探測到導言,無線電就會再次關閉直到下一次采樣。LPL協議的不足之處是1、發送方需要多發送一個比LPL周期還略長的前導域,因此要耗費更多的能源;2、它不能融合串音避免等一些節能技術。由于上述兩個缺陷,因此LPL協議只能將能量消耗控制在一個范圍內,并不能完成超低功耗的重任。另一類協議即S-MAC(SchedulesMAC)協議的主要思想是通過令節點周期性監聽和睡眠來減少監聽時間,使射頻低占空比運行,從而達到節能的目的。節點醒過來后當信道空閑時采用RTS/CTS/DATA/ACK機制進行通信流程;每個節點向鄰居廣播自己的調度信息,具有相同調度的鄰居節點將形成一個虛擬簇,而幾個簇之間的邊界節點將記錄兩個或多個調度,同時每個節點維護一張記錄了各個鄰居節點的調度信息的調度表,周期性的相互更新它們的調度以預防長時間的時鐘漂移。S-MAC協議的不足之處是1、由于睡眠工作占空比周期受到各個方面的限制,因此它并不能達到超低功耗的要求;2、節點間能量的消耗不平衡。作為對LPL協議進行的進一步優化和改進,WiseMAC協議和SP協議雖然在發送部分數據包的時候可以使用很短的前導域,大大節省發送方的能量,但是,由于它不但存在時鐘漂移問題,而且對廣播包無效,因此其適當程度的改良在突發數據環境中的節能性能比較高,而在其他環境中則不然,還是難以達到超低功耗的要求。另外,LPL、改進型的WiseMAC,和S-MAC等協議都是在802.15.4標準提出之前制定的,當時流行的射頻芯片是chipcon公司的CCIOOO,這些經典的協議還未能在支持802.15.4標準的射頻芯片(如CC2420,CC2430等)上實現。CC2420芯片是包級的射頻芯片,微控制器不能得到字節級的訪問,因而對時間同步有影響,不能像屬于字節控制的CC1000射頻芯片那樣,節點只要發現收到的目的地址不是自己的就可以關閉射頻、從而不接收后面的數據包字節,以此有效地完成串音避免。同時,由于CC2420的射頻發送速率比CCIOOO高,因此對協議來說,可處理的時間更少,為了應付突發性數據,協議必須設計的更有效。
發明內容本發明要解決的技術問題是,提供一種超低功耗的低負載無線傳感器網絡MAC層監聽休眠方法。本發明的技術解決方案是,提供一種具有以下內容的低負載無線傳感器網絡MAC層監聽休眠方法它包括以下兩個階段即新節點事先建立同步調度表階段和節點正常工作階段所述新節點事先建立同步調度表指,無線傳感器網絡的第一個節點及以后加入該網絡的節點均需設置一個發射定時器和一個同步喚醒定時器,所述發射定時器和同步喚醒定時器的周期均為EmMAC周期,所述發射定時器的觸發時間需比同步喚醒定時器時間提前,且網絡內所有節點的同類觸發器觸發時間相同,在此階段發射節點發射的前導域為偽長前導域,所述偽長前導域的長度略長于EmMAC周期;所述節點正常工作階段指,全網的節點同步周期性喚醒,以便接收數據或轉入睡眠,并完成發送數據和維持所有節點同步功能;所述節點正常工作階段采用的是EmMAC工作機制;所述EmMAC工作機制指同步型MAC機制,它包括能完成基本收發包功能的CSMA分層和能完成同步、捎帶功能并支持產生前導包機制和底層信道監測、重發機制的EmMAC分層;所述CSMA分層包括完成信道監聽的CSMA協議以及完成沖突避免、超時處理及串音避免功能的RTS/CTS機制和NAV機制等成熟無線技術;所述節點在正常工作時使用短前導域;所述短前導域的長度比監聽時間略長且覆蓋接收節點的信道監聽時間。采用以上步驟和內容后,與現有技術相比,本發明具有以下優點-1、節點周期性同步喚醒和睡眠,且發射節點在正常工作時采用短前導域本發明利用802.15.4的MAC頭定義,提出并實現了偽長前導域,并通過新節點事先建立同步調度表,從而實現全網節點的同步周期性喚醒和睡眠,換句話說,全網中無數據包要發送的接收節點在醒來時只要未接收到短前導域則立即轉為睡眠,從而減少了節點的空閑監聽時間,增加了節點的睡眠時間。同時,發射節點在正常工作時使用的是短前導域,該短前導域少于16字節,默認值為4字節,可由CC2420射頻自動生成,以上措施的采用不但節省了接收節點的能量,又節省了發射節點的能量,達到了本發明超低功耗的目的;2、提出并實現EmMAC工作機制以及兩種方式維護同步-本發明中在節點正常工作階段提出并實現了EmMAC工作機制即EmMAC協議,EraMAC機制使MAC層包括EmMAC分層和CSMA分層,兩個分層使機制結構清晰。由于所提出的MAC層包頭type字段的定義,使得EmMAC分層能完成同步和捎帶功能,從而利用專用的同步包和利用廣播包的捎帶這兩種方式來進行同步維護,換句話說,它可使節點定時發出同步包來更正時鐘漂移以達到網絡中所有節點時間同步的要求,而捎帶功能是指發送節點在廣播數據包中捎帶了與同步包中一樣的調度信息,有效減少了同步包的發送次數,從而減少了發送控制包的能量開銷,達到了超低功耗的要求。3、EmMAC工作機制內部融合了各種低功耗技術CSMA分層包括完成信道監聽的CSMA協議以及完成沖突避免、超時處理及串音避免功能的RTS/CTS機制和NAV機制;RTS/CTS機制使得接收節點只要接收了短前導域和RTS包,就可以辨別地址,并作相應的過濾處理,保證了非接收節點及時進入睡眠;而NAV機制采用的是NVA虛擬載波監聽技術,節點只需廣播自己的調度表,沒有邊界節點和虛擬簇,不需要維護鄰居節點的調度表,因此使本發明很好的完成了沖突避免,超時處理及串音避免等功能。綜上所述,本發明節省MAC層數據接收過程和發送過程中的能量開銷,減少沖突發生概率,提高節點競爭的效能,使得節點的空閑時間大為減少,睡眠時間大為增加,節省了巨大的控制和維護開銷,節省了節點更多的資源,最終達到了本發明超低功耗設計目標。上述新節點事先建立同步調度表階段包括被動子階段、主動子階段和完成子階段;上述被動子階段的步驟如下步驟a:節點將射頻一直打開,被動等待一個EmMAC周期以便能接收到鄰居節點發出的同步包;步驟b:如果在此期間收到同步包,那么根據同步包的信息建立調度表,然后廣播自己的調度表后進入完成子階段;如果一直沒有收到同步包則節點轉入主動子階段;上述主動子階段的步驟如下步驟a:先發送一個時間長度略長于EmMAC周期的偽長前導域,然后再廣播發送一個請求同步包,并等待一個固定時間;步驟b:如果在這段時間內收到同步包,則根據同步包的信息來設置調度表,然后廣播自己的調度表后進入完成子階段,如果在這段時間內沒有收到同步包,再次發送請求同步包,重復步驟b。步驟C:當發送請求同步包的數量達到一個閾值的時候,就認為全網節點均未建立調度表,因而使用預置的調度信息設置調度表;如果沒有達到閾值就收到了同步包,則根據同步包的信息建立調度表,設置成功后廣播自己的調度表,并進入完成子階段;上述完成子階段指每個節點已經設置好與全網同步的一個發射定時器和一個同步喚醒定時器,建立了調度表,并向鄰居節點廣播了自己的調度表,進入正常的EmMAC工作機制,節點可正常工作。作為本發明的一種改進,所述偽長前導域指,前導域是由多個數據包組合而成,且前導域的長度必須比EmMAC周期略長;采用的實現方法是預先將一個前導包裝入CC2420射頻芯片的緩沖區中,然后就不斷的給CC2420發送命令發送同一個前導包,而不是重新裝入新包;在802.15.4中定義的MAC頭的DSN字段中,實際被使用的只有7bit,其最高位并沒有被使用;所述DSN的最高位為1時表示本包為前導包;所述DSN的最高位為0時表示本包為普通數據包。所述偽長前導域由多個數據包組合而成可以解決CC2420射頻芯片前導域限制為最長16字節的問題;而預先將一個數據包裝入CC2420射頻芯片的緩沖卻是為了減少數據包載入的時間,從而進一步節省因數據包載所需的能量。另外,本發明可以利用DSN的最高位來標識包類型,即如果DSN的最高位為1,則表示本包是前導包,為O則表示是普通數據包。作為本發明的另一種改進,所述的同步包和請求同步包的格式為MAC層包頭剩余時間域(2byte)CRC(2byte)所述RTS/CTS機制中的RTS包和CTS包也帶有兩個字節的剩余時間域。同步包、請求同步包、RTS包和CTS包附帶一個兩個字節的剩余時間域可以用來指出節點還需要占用信道的時間,從而更好的完成捎帶功能即可以把廣播包同時作為同步包來處理,進一步節省了本發明的功耗。上述MAC層包頭的type字段分為兩段,type字段的高4bit標識CSMA分層的包類型,type字段的低4bit標識EmMAC分層的包類型。上述節點正常階段發送數據的步驟為步驟a、發射定時器觸發,若有數據發送,轉步驟b,;否則等同步喚醒定時器觸發,轉為接收狀態;步驟b:開啟射頻,開始第一次18個隨機采樣窗口的信道載波監聽;若通道空閑,轉步驟C,否則轉步驟d;步驟c:發送前導包,并進行第二次824個隨機采樣窗口的信道載波監聽,若通道空閑,轉步驟e,否則轉步驟d;步驟d:關閉射頻,進入睡眠等待重發;步驟e:發送數據包;步驟f、發送結束,向網絡層或者應用層報告發送數據成功;上述述節點正常階段接收數據的步驟為步驟a:若發射定時器觸發時有數據發送,則進入發送狀態;若無數據包發送時,則等待喚醒時間到后同步喚醒定時器觸發,啟動射頻開始采樣窗口為1的信道監測;若信道空閉,則關閉射頻進入睡眠;若信道繁忙,則轉步驟b;步驟b:等待接收前導包結束;若等待接收前導包超時,則關閉射頻進入睡眠;若前導包接收結束時未超時,則轉步驟C;步驟C:接收數據包,并對其進行分類處理。若接收到數據包,則通知上層,并關閉射頻進入睡眠;若接收到的是廣播包或同步包,則利用同步信息更正調度表,然后關閉射頻,進入睡眠。-圖1是低負載無線傳感器網絡啟動三階段的流程圖圖2是EmMAC機制偽長前導域工作示意圖。圖3是802.15.4協議規定的MAC頭簡單示意圖圖4是EmMAC機制結構簡圖。圖5是EmMAC模塊的MAC包頭格式。圖6是EmMAC機制工作示意圖。圖7是EmMAC發送流程圖。圖8是EmMAC接收流程圖。具體實施例下面結合附圖和具體實施例對本發明作進一步說明本發明是在MSP430+CC2420的硬件平臺上實現,工作頻率是4MHz,而本發明低負載無線傳感器網絡MAC層監聽休眠方法在具體實施時首先要使新節點在無線傳感器網絡中建立同步調度表,所述同步調度表指同步包、捎帶包、數據包和其ACK包的剩余時間域,即下一個睡眠的時間,其意義是告知鄰居節點還需占用信道多長時間即相當于預約了信道整個消息發送所需要的時間,而且每個接收節點在收到同步包或捎帶包后將根據該域值迅速調整自己的兩個喚醒計時器的相關值,以此方法達到各節點同步。在本發明中,所述無線傳感器網絡中新節點事先建立同步調度表指,無線傳感器網絡的第一個節點及以后加入該網絡的節點均設置一個發射定時器和一個同步喚醒定時器,而所述發射定時器和同步喚醒定時器的周期均為EniMAC周期,所述發射定時器的觸發時間需比同步喚醒定時器時間提前,且網絡內所有節點的同類觸發器觸發時間相同;如圖2所示,在無線傳感器網絡建立節點同步調度表階段中,發射節點發射的前導域為偽長前導域,也就是說發射節點使用"偽長前導域"代替長前導域的功能,長前導域不是由CC2420射頻芯片自動生成,而是由多個前導包組合而成,而前導包實際上就是數據包,故長前導域稱為偽長前導域,偽長前導域采用的實現方法是預先將一個前導包裝入CC2420射頻芯片的緩沖區中,然后就不斷的給CC2420發送命令發送同一個前導包,而不是重新裝入新包;在802.15.4中定義的MAC頭的DSN字段中,實際被使用的只有7bit,其最高位并沒有被使用,因此本具體實施例利用該位標識包類型,即如果DSN的最高位為1,則表示本包是前導包,為0則表示是普通數據包。在新節點事先建立同步調度表階段中,由于各個鄰居節點有可能在各段時間里醒來監聽信道,為了保證鄰居節點能收到前導域并接收前導域后面的數據包,發射節點的前導域長度必須比EmMAC周期即所述發射定時器和同步喚醒定時器的周期略長才行,因此,在本具體實施例中,本發明將偽長前導域的長度設置為可覆蓋512ms的時間,這里所述的512ms的時間指EmMAC周期;根據偽長前導域的長度,MAC層可以計算出前導包的個數。本發明中新節點事先建立同步調度表階段包括被動子階段、主動子階段和完成子階段;所述被動子階段的步驟如下步驟a:節點將射頻一直打開,被動等待一個EmMAC周期以便能接收到鄰居節點發出的同步包;步驟b:如果在此期間收到同步包,那么根據同步包的信息建立調度表,然后廣播自己的調度表后進入完成子階段;如果一直沒有收到同步包則節點轉入主動子階段。在本具體實施例中,由于在無線傳感器網絡建立第一個節點同歩調度表之前,無線傳感器網絡還沒有已建立調度表的節點即節點沒有收到同步包,故本發明在實施時節點是由被動子階段進入主動子階段的,如圖1所示,所述主動子階段的步驟如下步驟a:先發送一個時間長度略長于EiiiMAC周期的偽長前導域,然后再廣播發送一個請求同步包,并等待一個固定時間;步驟b:如果在這段時間內收到同步包,則根據同步包的信息來設置調度表,然后廣播自己的調度表后進入完成子階段,如果在這段時間內沒有收到同步包,再次發送請求同步包,重復步驟b;步驟C:當發送請求同步包的數量達到一個閾值的時候,就認為全網節點均未建立調度表,因而使用預置的調度信息設置調度表;如果沒有達到閾值就收到了同步包,則根據同步包的信息建立調度表,設置成功后廣播自己的調度表,并進入完成子階段。在本發明中,所述完成子階段指每個節點已經設置好與全網同步的一個發射定時器和一個同步喚醒定時器,建立了調度表,并向鄰居節點廣播了自己的調度表,進入正常的EraMAC工作機制,節點可正常工作。在本具體實施例中,本發明中節點在正常工作階段中采用的是EmMAC工作機制,EmMAC工作機制是本申請人定義的名稱,其中文意思為同步型MAC機制,如圖4所示,該機制將MAC層分為CSMA分層和EmMAC分層,CSMA分層完成基本的收發包功能,包括由CSMA協議完成信道監聽,由RTS/CTS機制和NAV機制完成沖突避免、超時處理及串音避免功能。EmMAC分層運用EmMAC協議,完成同步、梢帶功能,并支持產生前導包機制和底層信道監測、重發機制。如圖5所示,為了保持CSMA模塊和EmMAC模塊在處理包時的獨立性,本實施例將MAC層包頭的type字段分成兩段,type字段的高4bit用于表示CSMA模塊的包類型,Type字段的低4bit用于EmMAC分層的包類型。如圖3所示,本實施例將EmMAC模塊MAC包頭的DSN的最高位設置為1表示本包是前導域包,然后不斷重復發送最先的那個前導包,直到發送完所需的前導包個數,接著發同步請求包,確定還是所有的節點都沒有調度,則用預置的調度信息512ms設置調度表,如圖3所示,同時將EmMAC模塊MAC包頭的DSN字段的最高位設置標識為前導包即設置為0表示發的是普通包,并廣播自己的調度表。接下來第二個節點加入網絡,則可通過上述被動子階段接收到第一個節點的同步包,并按照第一個節點的調度表值設置自己的調度表。在本具體實施例中,如圖6所示,黑色矩形表示同步喚醒定時器觸發節點醒來后的信道監聽時段,所述發射節點在正常工作時使用的是短前導域;所述短前導域的長度比監聽時間略長且覆蓋接收節點的信道監聽時間,從而保證接收節點能夠監測到信道繁忙狀態,并接收前導域后面的數據包。如圖6所示,發送節點若要發送數據,必須在鄰居節點的同步喚醒定時器觸發并開始信道檢測之前,提前醒來處理并完成第一次信道載波監聽和前導包的載入。本實施例通過上述方式給每個節點設置一個同步喚醒定時器和一個發射定時器,建立好自已的調度表后加入到無線傳感器網絡。節點同時在一段時間內睡眠,在睡眠中關閉它的無線電。每隔512ms秒定時觸發,喚醒節點打開射頻監聽信道,所有節點取相同的睡眠和喚醒時間。如圖7所示,本發明所述EmMAC工作機制規定在一個EraMAC周期里只發送一包,第一次載波偵聽確認通道空閑,則調用物理層接口,開始發送前導包。發射完畢開始進行第二次信道載波監聽。若通道空閑,則開始發送數據塊;若通道忙,則等待下一輪重發。若第一次載波偵聽確認通道忙,則關閉射頻,進入睡眠等待重發。只有第一次載波監聽成功的節點才能進入第二次載波監聽。如圖7所示,本發明所述節點正常階段發送數據的步驟為步驟a、發射定時器觸發,若有數據發送,轉步驟b,;否則等同步喚醒定時器觸發,轉為接收狀態;步驟b:開啟射頻,開始第一次18個隨機采樣窗口的信道載波監聽;若通道空閑,轉步驟c,否則轉步驟d:步驟c:發送前導包,并進行第二次824個隨機采樣窗口的信道載波監聽,若通道空閑,轉步驟e,否則轉步驟d;步驟d:關閉射頻,進入睡眠等待重發;步驟e:發送數據包;步驟f、發送結束,向網絡層或者應用層報告發送數據成功。如圖9所示,本發明所述節點正常階段接收數據的步驟為步驟a:若發射定時器觸發時有數據發送,則進入發送狀態;若無數據包發送,則等待喚醒時間到后同步喚醒定時器觸發,啟動射頻開始采樣窗口為1的信道監測;若信道空閉,則關閉射頻進入睡眠;若信道繁忙,則轉步驟b;步驟b:等待接收前導包結束;若等待接收前導包超時,則關閉射頻進入睡眠;若前導包接收結束時未超時,則轉步驟C;步驟C:接收數據包,并對其進行分類處理。若接收到數據包,則通知上層,并關閉射頻進入睡眠;若接收到的是廣播包或同步包,則利用同步信息更正調度表,然后關閉射頻,進入睡眠。而在本具體實施例中,所述節點的發送流程為發射定時器觸發,因有數據發送,開啟射頻,開始第一次18個隨機釆樣窗口的信道載波監聽,監測時可能存在3種情況。情況①通道繁忙,關閉射頻,進入睡眠等待重發。情況(D:通道空閑,發送前導域,其長度比監聽時間略長,發送完后進行第二次824個隨機采樣窗口的信道載波監聽,又測得通道空閑,接著發送數據包,發送結束,向網絡層或者應用層報告發送數據成功;情況③在第二次信道載波監聽中測得通道繁忙,關閉射頻,進入睡眠等待重發。在本具體實施例中,所述節點的接收流程為發射定時器觸發,無數據包發送,節點等待喚醒時間到后同步喚醒定時器觸發,然后自動射頻開始采樣窗口為1的信道監測;監測時可能存在3種情況。情況①信道空閉,關閉射頻,進入睡眠;情況②信道繁忙,接收前導包。接收時間未超過8ms,接著接收數據包。若接收的是純數據包,則接收完畢后通知上層關閉射頻進入睡眠;若接收到的是廣播包或同步包,則利用同步信息更正調度表,然后關閉射頻進入睡眠。情況(D:前導包的接收時間超過8ms,關閉射頻進入睡眠。如圖5所示,在此過程中MAC層包頭type字段的高4bit用來表示CSMA分層的包類型,type字段的低4bit用于表示EmMAC層的包類型,本發明通過廣播發送專用的同步包或利用廣播包的捎帶來清除時鐘漂移,因type字段己標識廣播包,不必再用目的地址為OxFFFF來指出是廣播包,而目的地址恰好為2字節,與調度信息字長一樣,正好用來作為本節點剩余時間域,完成捎帶功能,即可以把廣播包同時作為同步包來處理。本具體實施例中的同步包格式為<table>tableseeoriginaldocumentpage14</column></row><table>其中OOAAH為剩余時間域值。本具體實施中,廣播包捎帶同步信息的格式為:<table>tableseeoriginaldocumentpage14</column></row><table>其中OOAAH為剩余時間域值。權利要求1.一種低負載無線傳感器網絡MAC層監聽休眠方法,它包括以下兩個階段1)、新節點事先建立同步調度表階段;2)、節點正常工作階段;所述新節點事先建立同步調度表指,無線傳感器網絡的第一個節點及以后加入該網絡的節點均需設置一個發射定時器和一個同步喚醒定時器,所述發射定時器和同步喚醒定時器的周期均為EmMAC周期,所述發射定時器的觸發時間需比同步喚醒定時器時間提前,且網絡內所有節點的同類觸發器觸發時間相同,在此階段發射節點發射的前導域為偽長前導域,所述偽長前導域的長度略長于EmMAC周期;所述節點正常工作階段指,全網的節點同步周期性喚醒,以便接收數據或轉入睡眠,并完成發送數據和維持所有節點同步功能;所述節點正常工作階段采用的是EmMAC工作機制;所述EmMAC工作機制指同步型MAC機制,它包括能完成基本收發包功能的CSMA分層和能完成同步、捎帶功能并支持產生前導包機制和底層信道監測、重發機制的EmMAC分層;所述CSMA分層包括完成信道監聽的CSMA協議以及完成沖突避免、超時處理及串音避免功能的RTS/CTS機制和NAV機制;所述發射節點在正常工作時使用短前導域;所述短前導域的長度比監聽時間略長且覆蓋接收節點的信道監聽時間。2、根據權利要求1所述的低負載無線傳感器網絡MAC層監聽休眠方法,其特征在于所述新節點事先建立同步調度表階段包括被動子階段、主動子階段和完成子階段;所述被動子階段的步驟如下步驟a:節點將射頻一直打開,被動等待一個EmMAC周期以便能接收到鄰居節點發出的同步包;步驟b:如果在此期間收到同歩包,那么根據同步包的信息建立調度表,然后廣播自己的調度表后進入完成子階段;如果一直沒有收到同步包則節點轉入主動子階段;所述主動子階段的步驟如下步驟a:先發送一個時間長度略長于EmMAC周期的偽長前導域,然后再廣播發送一個請求同步包,并等待一個固定時間;步驟b:如果在這段時間內收到同步包,則根據同步包的信息來設置調度表,然后廣播自己的調度表后進入完成子階段,如果在這段時間內沒有收到同步包,再次發送請求同步包,重復步驟b;步驟C:當發送請求同步包的數量達到一個閾值的時候,就認為全網節點均未建立調度表,因而使用預置的調度信息設置調度表;如果沒有達到閾值就收到了同步包,則根據同步包的信息建立調度表,設置成功后廣播自己的調度表,并進入完成子階段;所述完成子階段指每個節點已經設置好與全網同步的一個發射定時器和一個同步喚醒定時器,建立了調度表,并向鄰居節點廣播自己的調度表,進入正常的EmMAC工作機制,節點可正常工作。3、根據權利要求1或2所述的低負載無線傳感器網絡MAC層監聽休眠方法,其特征在于所述偽長前導域指,前導域由多個數據包組合而成,且前導域的長度必須比EmMAC周期略長;采用的實現方法是預先將一個前導包裝入CC2420射頻芯片的緩沖區中,然后就不斷的給CC2420發送命令發送同一個前導包,而不是重新裝入新包;在802.15.4中定義的MAC頭的DSN字段中,實際被使用的只有7bit,其最高位并沒有被使用;所述DSN的最高位為1時表示本包為前導包;所述DSN的最高位為0時表示本包為普通數據包。4、根據權利要求1或2所述的低負載無線傳感器網絡MAC層監聽休眠方法,其特征在于所述的同步包和請求同步包的格式為MAC層包頭剩余時間域(2byte)CRC(2byte)所述RTS/CTS機制中的RTS包和CTS包也帶有兩個字節的剩余時間域。5、根據權利要求4所述的低負載無線傳感器網絡MAC層監聽休眠方法,其特征在于所述MAC層包頭的type字段分為兩段,type字段的髙4bit標識CSMA分層的包類型,type字段的低4bit標識EmMAC分層的包類型。6、根據權利要求1所述的低負載無線傳感器網絡MAC層監聽休眠方法,其特征在于所述節點正常階段發送數據的步驟為步驟a、發射定時器觸發,若有數據發送,轉步驟b;否則等同步喚醒定時器觸發,轉為接收狀態;步驟b:開啟射頻,開始第一次18個隨機采樣窗口的信道載波監聽;若通道空閑,轉步驟C,否則轉步驟d;步驟C:發送短前導包,并進行第二次824個隨機采樣窗口的信道載波監聽,若通道空閑,轉步驟e,否則轉步驟d;步驟d:關閉射頻,進入睡眠等待重發;步驟e:發送數據包;步驟f、發送結束,向網絡層或者應用層報告發送數據成功。7、根據權利要求1所述的低負載無線傳感器網絡MAC層監聽休眠方法,其特征在于所述節點正常階段接收數據的步驟為步驟a:若發射定時器觸發時有數據發送,則進入發送狀態;若無數據包發送時,則等待喚醒時間到后同步喚醒定時器觸發,啟動射頻開始采樣窗口為1的信道監測;若信道空閉,則關閉射頻進入睡眠;若信道繁忙,則轉步驟b;步驟b:等待接收前導包結束;若等待接收前導包超時,則關閉射頻進入睡眠;若前導包接收結束時未超時,則轉步驟C;步驟C:接收數據包,并對其進行分類處理。若接收到數據包,則通知上層,并關閉射頻進入睡眠;若接收到的是廣播包或同步包,則利用同步信息更正調度表,然后關閉射頻,進入睡眠。全文摘要本發明公開了一種低負載無線傳感器網絡MAC層監聽休眠方法,包括節點建立同步調度表階段以及采用EmMAC工作機制的節點正常工作階段;節點在正常工作階段中當喚醒定時器觸發時開啟射頻進行信道檢測,而發送節點若要發送數據,必須在EmMAC周期之前提前醒來;EmMAC工作機制將MAC層分為CSMA分層和EmMAC分層;本發明通過全網節點使用同步睡眠喚醒機制、短前導包、偽前導域機制和二段信道載波監聽,使得節點的空閑時間減少,睡眠時間大為增加,同時調度表只記載本節點的剩余時間域,并在數據收發時引入了各種低功耗技術如沖突避免、超時處理、串音避免等,從而使本發明大大提高了節能率,達到了超低功耗的設計目標。文檔編號H04L12/28GK101282335SQ20081006204公開日2008年10月8日申請日期2008年5月20日優先權日2008年5月20日發明者黃一春申請人:浙江大學寧波理工學院