孫健
(貴陽學院 電子與通信工程學院,貴州貴陽 550005)
無線傳感網絡(WSN)由大量低成本微型低功耗傳感節點布置在測控范圍內組成,通過無線通信技術組成網絡系統。目前相當數量的無線傳感網絡應用對于傳感器節點數量需求有限、對于節點的組網方式也并無特殊的要求,但對于成本十分的敏感。針對此需求設計了一種基于星形拓撲的無線傳感網絡中心節點控制器[1-2]。
傳感網絡采用星形網絡拓撲結構如圖1所示,網絡中所有無線傳感器節點都與中心節點可進行雙向通信、節點與節點之間不進行數據傳送。

圖1 短距離無線傳感網絡拓撲結構圖
由于傳感器節點與中心節點通信面臨碰撞問題,節點相互間存在干擾會使得節點同中心間的通信無法進行,從而降低了無線信道的使用效率同時也會加大節點功耗。針對碰撞問題節點控制器采用載波監聽多址接入與沖突避免(CSMA/CA)協議來避免沖突提高信道的使用效率,控制器工作過程如下:
中心節點發出SCAN幀通知傳感器節點上傳數據或當傳感器節點有數據需要向中心節點發送時首先偵聽信道上是否有信號傳輸,如有信號傳輸則采用退避算法進行延時后再進行偵聽。如節點偵聽到信道空閑則向中心節點發送請求發送幀(RTS),中心節點在接收到RTS幀以后回發一個允許發送數據幀(Clear To Send),其他節點在接收到RTS幀和CTS幀后根據退避算法進行延時避讓。節點在接收到CTS幀后進行數據幀(DATA)的發送,如節點在一定時間內若未收到CTS幀則執行退避延時算法后再次發送RTS。中心節點在接收到DATA幀后向節點發送確認幀(ACK),如節點在規定時間內為收到ACK幀則重新發送DATA幀而不必再次進行延時[3-4]。
中心節點需要更通知傳感節點發送新數據時,首先完成當前數據傳送,而后發送SCAN幀通知傳感節點上傳數據。SCAN幀中的第15到第8位為特征位;第7位為集體接收控制位,為‘1’所有節點接收、為‘0’指定節點接收,接收節點ID由第6到第0位決定。本設計的SCAN幀格式如表1所示。
RTS幀不僅是發送給中心節點進行信道預約同時也告知其他節點本節點要進行數據傳輸,其他節點應執行退避算法。RTS幀中的第15到第8位為特征位;第7位為預留位,第6到第0位為發送RST幀的傳感器節點ID。RTS幀格式如表2所示。
CTS幀為傳感器節點數據發送允許幀,如傳感器節點在發出RTS幀收沒有接受到CTS幀,則在一定延時后重新發送RTS幀。CTS幀中的第15到第8位為特征位;第7位為數據發送允許位,為‘1’允許,第6到第0位為允許發送數據傳感器節點ID。CTS幀格式如表3所示。

表1 SCAN幀格式

表2 RTS幀格式

表3 CTS幀格式

表5 DATA幀格式

表4 ACK幀格式

圖2 傳感器節點控制器頂層原理圖
傳感器節點接收到CTS幀后先與本節點ID比較,如ID為本節點且數據發送允許則向中心節點發送DATA幀。DATA幀第23到第16位為特征位,第15位為預留位,第14到第8位為發送節點ID,第7到第0位為數據信息。DATA幀格式如表4所示。
在DATA幀發送后,如中心節點正確接收到DATA幀則回復一個ACK幀通知數據發送節點數發送成功,如在一定時間內未收到DATA幀中心節點會重新發送CTS幀告知節點重新發送DATA幀[5]。DATA幀格式如表5所示。

圖3 序列信號檢查器功能仿真波形圖

圖4 數據接收器功能仿真波形圖

圖5 狀態機功能仿真波形圖

圖6 延時計數器功能仿真波形圖
控制器設計硬件描述語言采用VHDL,邏輯控制采用有限狀態機FSM(Finite State Machine)進行。狀態設計如下:S0為初始態檢測是否有針對本節點SCAN幀或者檢查到傳感器有數據需要發送則進入S1態;S1狀態檢測信道是否空閑如信道空閑則發送RTS進入S2,如信道繁忙則延時退避一定時間后再檢測信道是否繁忙;S2檢測是否有針對本節點的CTS如檢測到則進入S3;S3檢測信道是否繁忙如信道空閑則發送DATA幀進入S4;S4檢測是否有針對本節點的ACK如有則進入S0,若在規定時間內沒有收到ACK則進入S3。
圖2中SCAN、RTS、CTS與ACK模塊分別用于檢查SCAN幀、RTS幀、RTS幀與ACK幀特征字,這幾個模塊的原型為sequence_detector 針對不同的特征字檢測只需在模塊內填入相應的特征字符即可。對各模塊的功能仿真采用Modelsim 6.5 se軟件進行sequence_detector模塊的功能仿真圖如圖3、4所示。
Data_receive模塊用于接收幀中的ID值并送入狀態機,其功能仿真圖如圖4所示。
WSN_FSM模塊為狀態機控制各部分協調工作,其功能仿真圖如圖5所示。
time_delay模塊在狀態機的控制下用于于延時計時,其功能仿真圖如圖6所示。
sequence_sent模塊用于發送RTS幀,與DATA幀,其功能仿真圖如圖7所示。

圖7 序列信號輸出器功能仿真波形圖
通過功能仿真傳感器節點控制器的設計得到了驗證,為近距離無線傳感網絡系統設計打下了基礎。使用VHDL語言進行的設計可以在較大的程度上做到平臺無關性,如需求量大還可生產專用集成電路(ASIC)進一步降低價格。該控制器的設計也可為物聯網感知層的設計提供參考。
[1]劉敏鈺,吳泳,伍衛國.無線傳感網絡(WSN)研究[J].微電子學與計算機,2005,22(7):58-61.
[2]曾偉,徐明偉,吳建平.網絡拓撲模型述評[J].計算機應用研究,2005,(7):1-4,8.
[3]鄭朝霞,鄒雪城,姜天杰,杜鵑. WSN中CSMA_CA協處理器的軟硬協同設計[J].固體電子學研究與進展,2009,29(1):132-137.
[4]路麗君.基于CSMA/CA的無線網絡多播協議的排隊性能分析[D].蘭州:蘭州理工大學,2010:2-4.
[5]胡代榮.基于無線自組網的自動抄表系統的研究[D].大連:大連海事大學,2010:27-29.