優化訪問無線傳感器網絡信道的方法及系統的制作方法
【專利摘要】本發明公開了一種基于混合MAC協議的優化訪問無線傳感器網絡信道的方法,所述混合MAC協議是基于CSMA/CA協議與TDMA協議的混合,所述優化訪問無線傳感器網絡信道的方法包括:1)將高負載的無線傳感器網絡中的傳感器節點分為多個組;2)所述多個組基于所述混合MAC協議訪問所述信道;其中,2.1)每個組內的傳感器節點采用CSMA/CA協議的競爭方式單獨訪問所述信道;2.2)各組間的傳感器節點采用TDMA協議的調度方式共享訪問所述信道。另外本發明還公開了一種基于混合MAC協議的優化訪問無線傳感器網絡信道的系統。根據本發明的方法和系統充分使用信道來發送數據,能夠改善網絡的時延性能,提高網絡的吞吐量,降低傳感器節點能耗,提高訪問的公平性,增強訪問的擴展性。
【專利說明】優化訪問無線傳感器網絡信道的方法及系統
【技術領域】
[0001] 本發明涉及無線傳感器網絡(WSN),特別涉及一種用于無線傳感器網絡中的混合 MAC協議的優化訪問信道的方法。
【背景技術】
[0002] 隨著"智慧地球"戰略被世界各國認可,與其密切相關的物聯網成了科技發達國家 制定本國發展戰略的重點,而WSN作為物聯網中不可或缺的部分,正扮演著越來越重要的 角色。
[0003] 如圖1所示WSN體系結構,主要由傳感器節點、匯聚節點、以及用戶組成。其中,無 線傳感器節點包括:數據采集模塊、數據處理模塊、無線收發模塊以及電源管理模塊。數據 采集模塊設置為采集自然界中的物理量并進行A/D轉換,然后通過處理器的I/O接口送入 處理器分析、儲存并通過壓縮處理,送給RF(RadioFrequency)收發模塊;無線收發模塊設 置為對數字信號的調制與解調,保持與其他無線傳感器網絡節點的通信;整個傳感器網絡 的能量由電源管理模塊統一管理。其工作原理為:大量隨機撒在監測區域的傳感器節點采 集環境信息,然后通過無線發送到匯聚節點,匯聚節點可以通過網卡、GPRS、WIFI等多種方 式將數據發送到公網,用戶可以通過電腦、手機等方式接入公網獲取數據,同時也可以將管 理控制命令發送到公網,再經過匯聚節點傳到無線傳感器網絡。
[0004] 在WSN中,介質訪問控制(MAC)協議決定了無線信道的訪問方式,是保證無線傳 感器網絡通信的關鍵網絡協議。MAC子層位于物理層與網絡層之間,主要是為了控制共享 信道的接入,建立可靠的點到點、點與多點以及多點之間的網狀通信的可靠通信鏈路技術, 而基于單跳、多跳的無線傳感器網絡首先要解決兩個問題:第一,建立網絡節點的通信鏈; 第二、實現通信信道的共享,解決節點間數據發送的沖突。MAC協議按照固定分配信道方式 和隨機競爭信道方式可分為:基于競爭的MAC協議、基于調度的MAC協議、混合協議等。其 中"競爭的MAC協議"以帶沖突避免的載波偵聽多路訪問協議(CarrierSenseMultiple Access/CollisionAvoidance:CSMA/CA)為代表,"調度的MAC協議"以時分多址協議(Time DivisionMultipleAddress:TDMA)和頻分多址(FrequenceDivisionMultipleAccess: FDMA)為代表。
[0005]CSMA/CA協議是基于"競爭"方式單獨訪問信道的無線傳感器網絡MAC協議,具體 采用"按需使用信道"的方式,當需要發送數據時,采用競爭的方式競爭接入信道,當數據發 生碰撞時,重新發送數據直至數據成功發送或放棄發送,但是在高負荷的情況下,該協議為 了避免碰撞,只能以浪費訪問信道的時隙為代價,這樣不可避免的使網絡節點的時延性能、 吞吐量會急劇下降,時延長且拓展性差。
[0006]TDMA協議是基于"調度"方式為每個傳感器節點分配一定的信道資源,這樣當節 點需要發送數據時就可不受干擾,使每個節點擁有絕對的"公平性"以及相同"時延性",但 由于每個節點占用不同的時隙,如果在該時隙內,節點沒有發送數據,就會使該時隙白白浪 費,并且對于新加入的節點,由于沒有分配時隙,就不能傳輸數據,因此,網絡吞吐量受到了 限制,時延長且擴展性差。
【發明內容】
[0007] 針對現有技術存在的各種缺陷,本發明提出一了種能夠同時改善時延、容量、能 耗、公平、擴展等性能的訪問信道的方法及系統。
[0008] 為此,根據本發明的一個方面,提供了一種基于混合MAC協議的優化訪問無線傳 感器網絡信道的方法,其中,所述混合MAC協議是基于CSMA/CA協議與TDMA協議的混合,所 述優化訪問無線傳感器網絡信道的方法包括:將高負載的無線傳感器網絡中的傳感器節點 分為多個組;所述多個組基于所述混合MAC協議訪問所述信道;其中,每個組內的傳感器節 點采用CSMA/CA協議的競爭方式單獨訪問所述信道;各組間的傳感器節點采用TDMA協議的 調度方式共享訪問所述信道。
[0009] 采用本發明所提出的基于混合MAC協議(YB-MAC協議)的優化傳感器節點訪問信 道的方法充分使用了信道來發送數據,能夠改善網絡的時延性能,提高網絡的吞吐量,降低 傳感器節點能耗,提高訪問的公平性,增強訪問的擴展性。
[0010] 在一些實施方式中,所述將高負載的無線傳感器網絡中的傳感器節點分為多個組 的步驟包括:根據各個傳感器節點接入無線傳感器網絡時間的不同為每個節點分組;
[0011] 各組間的傳感器節點采用TDMA協議的調度方式共享訪問所述信道的步驟包括: 當一組傳感器的節點基于CSMA/CA協議的競爭方式訪問信道時,不屬于該組的傳感器節 點進入睡眠模式,直到屬于本組的TDMA協議的同步信號喚醒傳感器節點的處理器后,再以 CSMA/CA協議競爭的方式訪問信道。
[0012] 所述按入網時間來分組的方法簡單實用,分組精確,屬于同組的傳感器的節點基 于CSMA/CA協議的競爭方式訪問信道;不屬于該組的傳感器節點進入睡眠模式,降低了傳 感器的節點的能耗。
[0013] 在一些實施方式中,將高負載的無線傳感器網絡中的傳感器節點分為多個組的步 驟包括:(1)在同步信號中加入在時間幀中基于CSMA/CA方式傳輸數據的傳感器節點地址; (2)每當有一個傳感器節點接入網后,就將該接入的傳感器節點的地址加入到組中;(3)當 組地址的起始位置大于實際節點的個數時,判斷該組已經滿員,則分配下一組,將所述下一 組地址的起始位置設置為零并為該組地址賦值;(4)重復上述步驟(1)至(3),直到將所有 傳感器節點分組完成。
[0014] 所述分組方法簡單實用,利用地址賦值使分組更加精確。
[0015] 在一些實施方式中,所述多個組基于所述混合MAC協議訪問所述信道步驟中的上 行訪問控制過程包括以下步驟:將傳感器節點請求接入無線傳感器網絡;對網絡地址相同 的傳感器節點發送同步信號;傳感器節點接收同步信號并判斷所述同步信號的數據包中的 組成員地址是否包含自己的地址,當傳感器節點判斷為不包含自己的地址時,則丟掉該數 據包,繼續接收同步信號,或者,當傳感器節點判斷為包含自己的地址時,則隨機延時,并在 延時后以CSMA/CA協議方式發送數據。
[0016] 所述上行訪問控制過程中,隨機延時一段時間,這使得在發送同步信號后,確保了 各傳感器節點的每巾貞的起始時間一致,達到節點同步要求。
[0017] 在一些實施方式中,所述將傳感器節點請求接入無線傳感器網絡步驟包括:所述 傳感器節點向匯聚節點發送請求入網的命令;當允許新節點加入網絡時,返回"確認"數據 包,匯聚節點通知該新節點已成功接入網絡;將該新加入的傳感器節點的地址加入到所述 匯聚節點的傳感器節點地址數組中。
[0018] 通過將新加入的傳感器節點的地址加入到匯聚節點的傳感器節點地址數組中,來 確定網絡中傳感器的個數,從而方便分組,且分組精確。
[0019] 在一些實施方式中,以偽隨機序列為基礎確定所述隨機延時的最小值與最大值。
[0020] 上述以偽隨機序列為基礎確定隨機延時的最小值與最大值,以此來限定隨機延 時,從而增加延時的精確性。
[0021] 在一些實施方式中,根據偽隨機序列與定時器相結合的方法生成所述隨機延時的 數值。
[0022] 在一些實施方式中,所述生成所述隨機延時的數值的步驟包括:根據各個傳感器 節點的地址為所述各個傳感器節點的定時器賦予初始隨機值,根據所述初始隨機值生成包 含偽隨機值的偽隨機序列;當處于上行訪問控制過程中時,根據定時器當前的計數值與偽 隨機序列中選取的偽隨機值確定所述隨機延時的數值;當所確定的隨機延時的數值等于指 定值時,所述指定值可以是〇或者其它指定數值,再次對所述定時器賦予初始隨機值;迭代 上述過程。
[0023] 具體的,偽隨機序列是一種具有隨機統計特性的確定序列,可以周期性的產生。采 用常見的m序列偽隨機序列,m序列又稱為最長線性反饋移位寄存器序列的簡稱,由線性反 饋移存器產生的周期最長的序列。
[0024] 以m序列產生的偽隨機序列仍然具有周期性,還不能達到CSMA/CA隨機延時性能, 為了解決這一問題,以Atmegal6L-8AU內部的定時器2作為隨機種子,調用avr-gcc編譯器 自帶的srand(unsignedint)與rand()函數,srand(unsignedint)用以設置rand()函數 隨機種子。這里的rand()產生的隨機值在0?MAX_RAND之間,為了得到指定的范圍[a, b)的隨機數值rand_data,利用下述式就可以得到[a,b)的隨機數值。
[0025]rand_data=rand() % (b~a)+a
[0026] 在該二進制退避算法中,隨機范圍由重發次數i決定。產生的隨機數范圍在[0, f-l)內,故可套用上述式得到rand_data的值,即下述式。
[0027]rand_data=rand() % (2X-1)
[0028] 在無線傳感器網絡中,每個傳感器都由自己唯一的地址,這樣就可以以這個地址 產生偽隨機數并與定時器2當前值之和作為srand(unsignedint)函數的初始參數值。下 面給出主要的C語言設計說明。
[0029]unsignedcharm_sequence_15[15] = {8,12, 14,15,7,11,5,10,13,6,3, 9,4, 2,1} ;//定義周期為15的4級反饋移存器產生的m序列。unsignedcharBBA_ delay(unsignedcharBBA_Tx_time)
[0030]
【權利要求】
1. 一種基于混合MAC協議的優化訪問無線傳感器網絡信道的方法,所述混合MAC協議 是基于CSMA/CA協議與TDM協議的混合,所述優化訪問無線傳感器網絡信道的方法包括: 1) 將高負載的無線傳感器網絡中的傳感器節點分為多個組; 2) 所述多個組基于所述混合MC協議訪問所述信道;其中, 2. 1)每個組內的傳感器節點采用CSMA/CA協議的競爭方式單獨訪問所述信道; 2. 2)各組間的傳感器節點采用TDM協議的調度方式共享訪問所述信道。
2. 如權利要求1所述的方法,其中,所述步驟1)是根據各個傳感器節點接入無線傳感 器網絡時間的不同為每個節點分組; 所述步驟2. 2)包括:當一組傳感器的節點基于CSMA/CA協議的競爭方式訪問信道時, 不屬于該組的傳感器節點進入睡眠模式,直到屬于本組的TDM協議的同步信號喚醒傳感 器節點的處理器后,再以CSMA/CA協議競爭的方式訪問信道。
3. 如權利要求1或2所述的方法,其中,所述步驟1)包括: I. 1)在同步信號中加入在時間幀中基于CSMA/CA方式傳輸數據的傳感器節點地址; 1.2)每當有一個傳感器節點接入網后,就將該接入的傳感器節點的地址加入到組中; 1. 3)當組地址的起始位置大于實際節點的個數時,判斷該組已經滿員,則分配下一組, 將所述下一組地址的起始位置設置為零并為該組地址賦值;1. 4)重復上述步驟I. 1)至 1. 3),直到將所有傳感器節點分組完成。
4. 如權利要求1或2所述的方法,其中,所述步驟2)的上行訪問控制過程包括以下步 驟: 2_a)將傳感器節點請求接入無線傳感器網絡; 2-b)對網絡地址相同的傳感器節點發送同步信號; 2-c)傳感器節點接收同步信號并判斷所述同步信號的數據包中的組成員地址是否包 含自己的地址, 當傳感器節點判斷為不包含自己的地址時,則丟掉該數據包,繼續接收同步信號,或 者, 當傳感器節點判斷為包含自己的地址時,則隨機延時,并在延時后以CSMA/CA協議方 式發送數據。
5. 如權利要求4所述的方法,其中,所述步驟2-a)包括: 所述傳感器節點向匯聚節點發送請求入網的命令; 當允許新節點加入網絡時,匯聚節點通知該新節點已成功接入網絡; 將該新加入的傳感器節點的地址加入到所述匯聚節點的傳感器節點地址數組中。
6. 如權利要求4所述的方法,其中,以偽隨機序列為基礎確定所述隨機延時的最小值 與最大值。
7. 如權利要求4所述的方法,其中,根據偽隨機序列與定時器相結合的方法生成所述 隨機延時的數值。
8. 如權利要求7所述的方法,其中,所述生成所述隨機延時的數值的步驟包括: 根據各個傳感器節點的地址為所述各個傳感器節點的定時器賦予初始隨機值,根據所 述初始隨機值生成包含偽隨機值的偽隨機序列; 當處于上行訪問控制過程中時,根據定時器當前的計數值與偽隨機序列中選取的偽隨 機值確定所述隨機延時的數值; 當所確定的隨機延時的數值等于指定值時,再次對所述定時器賦予初始隨機值; 迭代上述過程。
9. 如權利要求1所述的方法,其中,所述步驟2)的下行訪問控制過程采用多個優先級 的控制方法來發送傳感器節點的控制信息。
10. 如權利要求9所述的方法,其中,所述多個優先級的控制方法包括:將需要立即處 理的控制信息設置為第一優先級,將可以暫緩處理的控制信息設置為第二優先級,將最后 處理的控制信息設置為第三優先級。
11. 如權利要求10所述的方法,其中, 具有第一優先級的控制信息選擇在傳感器節點以競爭方式接入信道的時間段內發 送; 具有第二優先級的控制信息選擇在為網絡擴展而預留的時間段內發送; 具有第三優先級的控制信息選擇將其打包在同步信號的數據中發送給傳感器節點; 其中,將傳感器節點以競爭方式進入信道的時間加上為網絡擴展而預留的時間,得到 每幀的時間。
12. 如權利要求1所述的方法,其中,所述步驟2. 2)包括:通過同步信號,使得多個傳 感器節點組分時發送數據。
13. 如權利要求12所述的方法,其中,所述同步信號的發送的時間間隔是通過定時器 基于每幀的時間設置的;其中每幀的時間根據傳感器節點個數、時隙和誤差來確定。
14. 一種基于混合MAC協議的優化訪問無線傳感器網絡信道的系統,其中,所述混合 MAC協議是基于CSMA/CA協議與TDM協議的混合,所述優化訪問無線傳感器網絡信道的系 統包括: 分組單元,配置為將高負載的無線傳感器網絡中的傳感器節點分為多個組; 信道訪問單元,配置為將所述多個組基于所述混合MC協議訪問所述信道;其中, 每個組內的傳感器節點采用CSMA/CA協議的競爭方式單獨訪問信道; 各組間的傳感器節點采用TDM協議的調度方式共享訪問信道。
15. 如權利要求14所述的系統,其中,所述分組單元根據各個傳感器節點接入無線傳 感器網絡時間的不同將各傳感器節點分組;和 所述信道訪問單元配置為:當一組傳感器的節點基于CSMA/CA協議的競爭方式訪問信 道時,不屬于該組的傳感器節點進入睡眠模式,直到屬于本組的TDM協議的同步信號喚醒 傳感器節點的處理器后,再以CSMA/CA協議競爭的方式訪問信道。
16. 如權利要求14或15所述的系統,其中,所述分組單元包括: 用于在同步信號中加入在時間幀中基于CSMA/CA方式傳輸數據的傳感器節點地址的 單元; 用于每當有一個傳感器節點接入網后,就將該接入的傳感器節點的地址加入到組中的 單元; 用于當組地址的起始位置大于實際節點的個數時,則分配至下一組,將所述下一組地 址的起始位置設置為零并為該組地址賦值的單元;和 用于判斷所有傳感器節點分組是否完成的單元。
17. 如權利要求14所述的系統,其中,所述信道訪問單元包括: 用于將傳感器節點請求接入無線傳感器網絡的單元; 用于對網絡地址相同的傳感器節點發送同步信號的單元; 用于使傳感器節點接收同步信號并判斷所述同步信號的數據包中的組成員地址是否 包含自己的地址的單元; 用于當傳感器節點判斷為不包含自己的地址時,則丟掉該數據包,繼續接收同步信號, 或者當傳感器節點判斷為包含自己的地址時,則隨機延時的單元; 用于對傳感器節點在延時后以CSMA/CA協議方式發送數據的單元。
18. 如權利要求17所述的系統,其中,所述用于對網絡地址相同的傳感器節點發送同 步信號的單元包括: 使該傳感器節點向匯聚節點發送請求入網的命令的單元; 用于當允許新節點加入網絡時,匯聚節點通知新節點已成功接入網絡的單元; 用于將新加入的傳感器節點的地址加入到所述匯聚節點的傳感器節點地址數組中的 單元。
19. 如權利要求17所述的系統,其中,所述系統包括根據偽隨機序列與定時器相結合 的方法確定所述隨機延時的數值的單元。
【文檔編號】H04W74/02GK104320858SQ201410620812
【公開日】2015年1月28日 申請日期:2014年11月6日 優先權日:2014年11月6日
【發明者】孫玲, 施佺, 姚彬, 楊玲玲, 付康為, 霍中興, 張琨, 欒志勇 申請人:南通大學