<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種基于A(yíng)RM和FPGA的可重構MAC協(xié)議設計

一種基于A(yíng)RM和FPGA的可重構MAC協(xié)議設計

作者: 時(shí)間:2012-07-03 來(lái)源:網(wǎng)絡(luò ) 收藏

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

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

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

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

a.JPG


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

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

b.JPG


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 協(xié)議 設計 MAC 重構 ARM FPGA 基于

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>