新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種基于ARM和FPGA的可重構(gòu)MAC協(xié)議設計

一種基于ARM和FPGA的可重構(gòu)MAC協(xié)議設計

作者: 時間:2012-07-03 來源:網(wǎng)絡 收藏

摘要:為了在實際信道條件下研究Ad Hoc網(wǎng)絡,克服商業(yè)網(wǎng)卡芯片和理論仿真等帶來的局限性,搭建了相結(jié)合的硬件平臺,與實現(xiàn)了CSMA/CA的可,并進行了仿真測試,驗證了該的正確性。對Ad Hoc網(wǎng)絡協(xié)議的實用化提供有益的參考。
關(guān)鍵詞:媒體訪問控制;帶沖突避免的載波偵聽多路訪問;;

0 引言
CSMA/CA的MAC協(xié)議的優(yōu)勢在于其簡單和健壯性,適用于分布式網(wǎng)絡,每個節(jié)點無需維持和動態(tài)更新周圍相鄰節(jié)點的狀態(tài)信息,可以獨自決定何時接入信道,只要上層有數(shù)據(jù)需要傳輸,MAC層就會對信道進行競爭,因此該協(xié)議的應用也相當廣泛。嵌入式技術(shù)的發(fā)展對MAC協(xié)議的實現(xiàn)也提供了很好的技術(shù)支撐。本文搭建了一種基于相結(jié)合的嵌入式開發(fā)平臺,并在此基礎(chǔ)上與實現(xiàn)了基于CSMA/CA的MAC協(xié)議。由于ARM和FPGA本身就是可器件,同時將FPGA中的一些協(xié)議參數(shù)由ARM來設置,通過修改ARM的代碼就可以實現(xiàn)對FPGA中協(xié)議功能的調(diào)整,方便快捷,不再需要重新生成比特文件下載,有利于MAC協(xié)議可的實現(xiàn)。

1 協(xié)議功能描述
1.1 報文結(jié)構(gòu)
本設計實現(xiàn)的是基于CSMA/CA的MAC協(xié)議的基本訪問模式,節(jié)點之間的通信只有數(shù)據(jù)幀(DATA)和應答確認幀(ACK)。圖1給出了報文結(jié)構(gòu),其中ACK沒有凈數(shù)據(jù)部分。由于考慮的是一跳范圍的無線通信,沒有中繼節(jié)點等,因此只有源節(jié)點號和目的節(jié)點號。

本文引用地址:http://2s4d.com/article/148811.htm

a.JPG


1.2 組網(wǎng)設計
本文設計的MAC協(xié)議除了滿足基本的的物理載波偵聽和虛擬載波偵聽相結(jié)合檢測信道忙閑的機制外,還包括幀間間隔、隨機退避、應答確認和重傳機制。
有數(shù)據(jù)要發(fā)送的節(jié)點會首先監(jiān)聽媒介,若為忙則繼續(xù)等待,若空閑的時間超過或者等于DIFS或者EIFS則會進入退避進程。在執(zhí)行退避進程過程中,節(jié)點將隨機產(chǎn)生一個退避時間來設置退避定時器,同時繼續(xù)監(jiān)聽媒介,若空閑時間達到了一個時隙時間,則退避定時器減去一個時隙時間,如果在期間媒介變?yōu)榱嗣?,退避進程將掛起,直到媒介空閑時間再次達到DIFS或者EIFS后才會接著繼續(xù)進行退避進程。當退避定時器變?yōu)?時,節(jié)點才允許開始發(fā)送數(shù)據(jù),同時也會啟動超時重傳機制,如果在規(guī)定的時間內(nèi)沒有收到所希望的ACK,則會重傳數(shù)據(jù)幀,當節(jié)點重傳的次數(shù)超過了重傳門限將會丟棄該數(shù)據(jù)幀,或者超過了數(shù)據(jù)幀最長允許的發(fā)送時間,也會丟棄該數(shù)據(jù)幀;當節(jié)點收到ACK時,就會開始準備下一次數(shù)據(jù)的發(fā)送。
接收節(jié)點收到正確且是發(fā)送給本節(jié)點的數(shù)據(jù)幀將會立刻回復源節(jié)點ACK。如果節(jié)點沒有收到正確的數(shù)據(jù)幀,則將使用EIFS;如果收到正確的數(shù)據(jù)幀,但是不是給本節(jié)點的,節(jié)點將解析出持續(xù)時間,更新NAV,將信道視為已被占用。
1.3 功能劃分
本設計充分利用ARM靈活便捷的優(yōu)勢,用來實現(xiàn)隨機退避算法和協(xié)議參數(shù)的管理,如重傳次數(shù),幀間間隔的設置等。隨機退避算法采用的是第i次退避就在2i個時隙中隨機地選出一個值作為節(jié)點需要退避的值。協(xié)議參數(shù)的設置由ARM來完成,主要是考慮到FPGA不利于參數(shù)的修改,這樣也可以增強協(xié)議的可重構(gòu)性。而FPGA以其卓越的實時信號處理優(yōu)點,用于管理MAC幀的收發(fā)控制等。

2 協(xié)議設計
MAC層的工作狀態(tài)主要是由物理載波偵聽和虛擬載波偵聽共同決定的(即:MAC_flag=CS_flag or NAV_flag),當兩者都顯示為空閑時,MAC層才會進入發(fā)送數(shù)據(jù)幀狀態(tài)。同時該協(xié)議也需要時鐘計數(shù)參與其中,IFS_time是每個節(jié)點在進入退避進程前需要等待的時間,實現(xiàn)幀間間隔的功能;Backoff_time是每個節(jié)點在退避進程中退避的時間;NAV_time是沒有在通信的節(jié)點預留信道的時間。這三個時間也關(guān)系著整個協(xié)議所處的狀態(tài)。圖2給出了具體的實現(xiàn)流程圖,具體實現(xiàn)過程步驟如下:

b.JPG


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉