【摘要】本論文主要內容是針對無線傳感器網絡的自組網絡的研究,提出了一種基于FPGA的高速運算處理的對等網絡節點的自組網絡的設計方法,用于構建WSN應用的專用設計IP核,適用于各種不同的WSN網絡層路由協議和各類不同的WSN應用場景。
【關鍵詞】FPGA無線傳感器網絡(WSN)自組網
無線傳感器網絡是一種低速的自組織移動ad hoc網絡,隨機分布的各個網絡節點通過相鄰節點間相互交換數據來實現整個網絡的路由功能。相鄰節點間相互通信要求節點能發現周圍節點和獲取周圍節點的相關信息PIB,用以接收其他節點發送的數據和選擇路由發送方向。
自組網就是無線傳感器網絡中節點間相互發現,自主組織網絡上線的功能,在無線傳感器網絡中處于至關重要的位置,本設計采用FPGA在WSN的MAC層中實現自組網功能。
一、總體設計方案
無線傳感器網絡自組網的FPGA設計主要實現的功能包括:接收特定格式的自組網幀數據、轉發自組網幀報文、動態更新相鄰節點數據列表。
該無線傳感器網絡自組網的FPGA設計的總體結構如圖1所示。整個設計處于WSN的MAC層,向下接口為物理鏈路層PHY接口,向上的接口為網絡層Networks接口。PHY接口用于操作物理層的射頻芯片,完成通信信道的監測和相關數據的收發。網絡層接口用于向網絡層提供路由選擇功能的鄰居節點信息列表。
自組網幀格式采用超幀的格式,其各數據段詳細說明如圖2所示。自組網幀報文的發送由一個發送節點和多個相鄰節點共同配合完成。首先發送節點發出超幀的頭部請求報文,相鄰節點在接到此報文后,采用隨機避退的方式在其后的任一應答時隙內發送應答信息,發送節點在每個應答時隙尾部都會反饋確認報文。
二、模塊設計方案
接收模塊初始化狀態為空閑等待狀態(IDLE),當從PHY接口接收到頭部請求報文,模塊將提取發送節點基本信息并發送給組網信息處理模塊,同時內部將產生一個小于N的偽隨機序列sequence,用于計數需要發送應答報文的間隙序號,并在相應間隙發送包含自身MAC地址和超幀序號信息的應答報文,隨后等待接收確認報文。如果確認報文中反饋的MAC地址為自身MAC地址則判斷為應答成功,重新進入等待頭部請求報文狀態;反之,則判斷為應答失敗,再次產生一個小于等于N-sequence的偽隨機序列,用于再次發送應答報文。兩次應答后則無論是否應答成功都將進入等待頭部請求報文狀態。
接收模塊內部狀態機是接收模塊的核心,用于產生各個操作的控制信號。接收模塊狀態機的轉移圖如圖3所示。
接收模塊內部的偽隨機序列產生器如圖4所示,偽隨機序列的初始化種子采用亂序的內部時鐘計數器,由于各個節點的上電時間不同,因此產生的隨機序列也不同,從而避免各個節點應答時采用相同的退避序列。
發送模塊主要功能為發送超幀的頭部請求報文以及確認報文。頭部請求報文采用監聽信道空閑固定時間段后,隨機避讓的方式發送。頭部請求報文中包含自身節點的MAC地址、網絡跳數和超幀序列號等基本信息。確認報文采用延遲固定應答時間間隙的方式發送確認報文,報文中嵌入當前時間間隙內收到的應答節點的MAC地址,如無則為缺省值,如果多次確認報文都無MAC地址則發送模塊會再次發送頭部請求報文。頭部請求報文的發送開啟信號由組網信息處理模塊發起。
組網信息處理模塊為本設計的核心控制模塊,主要功能為接收并處理接收模塊發來的數據信息,動態更新內部的相鄰節點信息列表和控制發送模塊的工作與停止。
2.3.1內部狀態機
處理模塊初始化狀態為接收等待狀態,當接收到接收模塊發來的數據后首先進行相鄰節點信息更新,然后通過判斷超幀序列號的大小來決定是否轉發,如果不需要轉發則回到等待狀態,否則進入發送狀態,發送完成則回到等待狀態。由于射頻芯片的SPI單串口操作,在發送狀態下,處理模塊需要將SPI接口轉換為由發送模塊控制,等待發送完成后,再轉換成由接收模塊控制。內部狀態轉移圖如圖5所示。
2.3.2相鄰節點信息列表更新
相鄰節點信息列表格式如表1所示,其中包含相鄰節點的MAC地址、超幀序列號、網絡跳數、節點有效標志位、節點剩余有效時間計數器和通信鏈路質量。處理模塊將接收到的相鄰節點的MAC地址通過HASH算法產生一個較短位數的索引地址,并將相鄰節點信息存入此索引地址的列表行中,同時置位有效狀態標志位和重置剩余有效時間。節點的剩余有效時間計數器在重置后逐漸遞減止到為0,然后清零有效標志位。
2.3.3處理模塊仿真測試結果
組網信息處理模塊的仿真測試結果如圖6所示,sys_clk為外部輸入時鐘分頻后的系統時鐘,rec_req為接口模塊的數據請求信號,處理模塊接收到數據,解析出相鄰節點的各個有效信息,并產生更新控制信號,完成has索引地址所對節點的信息的更新,然后產生發送控制信號,發送完成返回到等待狀態。
三、綜合結果
本設計采用硬件描述語言verilog設計完成,FPGA采用ALTERA公司的CYCLONE系列的EP1C3T114芯片,通過ALTERA公司的QUARTUS II軟件實現設計的仿真、綜合和下載測試,使用FPGA資源結果如表2所示。
四、結束語
本設計采用FPGA實現了無線傳感器網絡的自組網功能,完成了一個具有通用和可擴展的無線傳感器網絡應用的IP核,為WSN應用類ASIC芯片設計提供了可選擇的參考方案,將大大提高芯片的研發效率。