在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于有限狀態機[8]的DSR路由表項設計實現方法

電子設計 ? 來源:電子技術應用 ? 作者:電子技術應用 ? 2020-12-22 16:27 ? 次閱讀

來源:2018年電子技術應用第12期

摘要: 近年來,Ad Hoc網絡在無線通信領域發展迅猛。它是一種不依賴預設通信設施的新型組網技術,具有很高的靈活性與獨立性,適用于許多網絡設備臨時架設困難的場景。DSR協議是Ad Hoc網絡的一種按需路由控制協議,也是Ad Hoc網絡中最有發展潛力的路由協議。DSR協議的核心是用于各節點之間相互通信的路由表項管理。設計與實現了一種基于有限狀態機(FSM)支持DSR路由表項管理的FPGA方法。

0 引言

Ad Hoc[1]網絡具有無中心控制節點、路由多跳、拓撲動態等特點,可以用于不能預設網絡設施的場合和需要快速自動組網的場合,例如:戰場、無人煙山區、救災現場等[2]。因此Ad Hoc網絡在當今社會具有非常廣泛的應用場景。

動態源路由協議(Dynamic Source Routing)[3]是一種按需路由協議,是十分適用于Ad Hoc網絡的路由協議。在DSR協議中,路由表的表項都是按需建立的。路由過期或鏈路斷開,表項就失去作用了。為減少路由不斷建立而產生的網絡開銷,按需建立的路由都由源節點存儲,用于與目的節點通信[4]。因此DSR協議的核心是管理各節點之間通信的路由表項。

目前,國內外針對Ad Hoc網絡的研究大多是基于軟件的,使用的軟件平臺有NS2、GloMoSim、OPNET等。因此,DSR協議的核心功能——路由表項管理,也是基于軟件完成的。目前為止,還未有基于FPGA實現DSR路由表項管理的先例。

使用硬件實現 DSR協議功能將減少功耗和延遲時間,延長移動設備的電池使用時間[5]。Ad Hoc網絡中,通過硬件與嵌入式芯片聯系在一起,使得操作速度的增加與功耗降低,處理時間還可以用于其他操作[6]。此外,使用硬件實現DSR協議可以更快地建立呼叫和更改動態拓撲[7]。因此,使用FPGA實現DSR路由表項管理具有很好的實際用途。

本文為在FPGA中支持DSR協議的路由表項管理功能,設計一種基于有限狀態機[8]的實現方法。本文的設計中,狀態機包含一個初始狀態和3個功能狀態。有限狀態機的3個功能狀態一起聯合實現路由存儲、路由查找、路由刪除的功能。有限狀態機使得硬件代碼符合時序電路的風格。此外,綜合后的代碼在電路物理實現時使得時延特性與功耗更加優化[9]。

1 DSR路由表項管理的實現

1.1 總體方案

總體方案如圖1所示,設計分為兩個部分:路由管理有限狀態機模塊以及路由管理模塊。有限狀態機根據需求跳轉到不同的功能狀態,生成不同的操作使能,用以驅動路由管理模塊對路由表項進行添加、查找、刪除。路由管理模塊完成對路由表項的操作后,有限狀態機從現有狀態跳轉回初態。

1.2 路由管理有限狀態機

路由管理有限狀態機的設計是基于DSR協議,有限狀態機的狀態跳轉如圖2所示。若需要查找一條路由時,狀態機從IDLE狀態跳轉到路由查找狀態并生成路由查找使能,當狀態機收到查找操作結束信號時,狀態機跳轉到IDLE狀態;若需要刪除路由時,狀態機從IDLE狀態跳轉到路由刪除狀態并生成路由刪除使能,當狀態機收到刪除操作結束信號時,狀態機跳轉到IDLE狀態;若需要存儲一條路由時,狀態機從IDLE狀態跳轉到路由緩存狀態并生成路由存儲使能給路由管理模塊,當狀態機收到路由存儲操作結束信號時,狀態機跳轉回IDLE狀態。

o4YBAF9uGXCARuZCAACLqxbTmxM551.png

1.3 路由管理模塊

路由管理模塊具體細化為4個模塊:生存周期模塊、路由寫模塊、路由讀模塊、路由刪除模塊。路由管理模塊對路由表項的管理是通過對路由BD(Buffer Description)以及它的地址進行操作完成的。BD包含路由的某些信息,例如:該路由所導向目的節點IP地址、路由長度、路由表項存儲單元的起始地址。根據一個BD就可以讀取一條完整路由。

(1)路由寫模塊存儲路由與生成該路由的BD。需要存儲一條路由時,模塊將該路由存儲于RT表一個空條目(條目容量為16個周期數據長度)。同時生成一個新BD存入BD表。

(2)路由讀模塊完成兩個功能:①讀取一條有效路由;②查收所有包含斷開鏈路的有效路由并反饋給路由刪除模塊。

(3)生存周期模塊包含256個計數器(網絡只支持256個節點),為每個新BD設置生存周期。

(4)路由刪除模塊維護一個有效BD地址的單向鏈表。路由存儲時,將包含新BD地址的表項插入鏈表;路由查找時,查找一個有效BD地址;路由過期時,從鏈表中刪除該條路由的有效BD地址表項;路由刪除時,刪除包含斷開鏈路的路由有效BD地址的表項。

路由存儲時,將路由存于RT表一個空條目。同時生成一個對該條目進行描述的BD并存于BD表中;它的地址被插入鏈表中,并為它設定生存周期。

路由管理原理如圖3所示。查找路由時,首先讀取鏈表尾條目,根據有效BD地址讀取BD表一個有效BD,比對目的節點地址。若匹配,根據RT長度與有效RT地址讀取RT表一條完整的路由。若不匹配,則根據鏈表指針讀取鏈表的前一個條目,然后重復上面所述的操作,直到目標路由或者查完鏈表。路由過期即路由的BD過期,將包含該BD地址的條目從鏈表中刪除。路由刪除時,需要重復路由查找過程,讀取全部有效路由,并逐條比對是否包含斷開鏈路。將包含斷開鏈路的BD地址條目從鏈表中剔除。刪除操作完成后,更新后一個條目的鏈表指針,使得鏈表完整。

o4YBAF9uGXKAIx9AAACFuVyLNvQ981.png

2 實驗仿真與分析

2.1 總體功能仿真

圖4是路由存儲仿真結果。標號①是存儲的路由信息,store_route_en是路由存儲的使能,hop[31:0]路由數據周期數,did[31:0]目的節點地址,data_route[31:0]是路由數據。

pIYBAF9uGXOANV9RAACJxLcRkcE981.png

圖5、圖6是路由查找仿真結果。did_to_rd_rt[31:0]是目的節點地址。標號③與標號④分別是存儲與讀取的路由數據,兩者是一樣的,故路由查找結果正確。

pIYBAF9uGXWAIpFZAAB2ZW0Q90c787.png

o4YBAF9uGXaASWF8AABsY3xlynk146.png

圖7與圖8是路由刪除仿真結果。標號①是存儲的路由,標號③是需要刪除路由包含的前端節點ID1與后端節點ID2地址。標號②是路由存儲時插入鏈表的有效BD地址,標號④是路由刪除后鏈表釋放的BD地址。兩者的數據一致,路由刪除結果正確。

o4YBAF9uGXeACKsOAACL6loNgBw759.png

pIYBAF9uGXmAay2ZAAB9PFFso9w772.png

2.2 總體性能仿真與分析

表1是一條路由存儲的時延隨周期變化的情況。由表1可知,隨著存儲的路由周期變長,模塊路由存儲的時延均在166.4 ns左右。

pIYBAF9uGXqAZ888AAA01zRIOdA140.png

若路由不過期,每條路由固定長度且每次查找第一條存儲路由,表2是長度為2周期的路由查找時延隨著條數變化情況。表3是長度為8周期的路由查找時延隨著條數變化情況。

o4YBAF9uGXuAJ9k4AABeOQKJ9y0310.png

由表2、表3可知,路由周期固定,隨著存儲條數增加查找路由的時延快速增加。在路由表中存儲路由條數固定情況下,路由查找時延隨著路由長度的增加緩慢增加。路由查找的時延在ns級,說明查找速度很快。

表4是長度為2周期的路由刪除時延隨著條數變化情況。表5是長度為8周期的路由刪除時延隨著條數變化情況。

pIYBAF9uGX2AcNILAABbwLKWmuw074.png

由表4、表5可知,在存儲周期固定的路由情況下,隨著存儲條數增加,刪除路由的時延快速增加,幾乎是2倍的速率。在路由表中存儲路由條數固定情況下,路由刪除時延隨著路由長度的增加緩慢增加。 但路由刪除的時延還在μs級以下,說明刪除速度依然很快。從路由存儲、查找、刪除的結果分析上來說,路由管理模塊工作效率是非常高的。

模塊設計使用vivado2015.2平臺,開發板采用Xilinx的VC707,使用的設備是XC7VX485T。片上總功耗為28.379 W,模塊功耗為11.755 W。片上各部分資源使用情況如表6所示。

pIYBAF9uGX6AMJPSAABPW2SazPk758.png

由表6可見,使用硬件實現DSR路由表項管理所占用的硬件資源非常少,功耗十分小。

3 結論

本文針對在FPGA中支持DSR路由協議的核心內容路由表項管理提出了一種基于有限狀態機的設計與實現方法。建立實現模型,使用vivado2015.2平臺進行仿真,仿真結果很好地驗證了預期目標。通過實驗分析,發現使用FPGA實現DSR路由表項管理時延非常低,資源占用十分少,功耗很小。

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1643

    文章

    21925

    瀏覽量

    612670
  • 狀態機
    +關注

    關注

    2

    文章

    493

    瀏覽量

    27999
  • DSR
    DSR
    +關注

    關注

    0

    文章

    12

    瀏覽量

    9849
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    瑞薩RA8D1單片IO中斷配置實現方法

    本文為結合瑞薩e2 studio工具,以及CPKCOR_RA8D1B評估板,給大家講述瑞薩RA8D1單片IO中斷配置實現方法
    的頭像 發表于 04-09 15:05 ?691次閱讀
    瑞薩RA<b class='flag-5'>8</b>D1單片<b class='flag-5'>機</b>IO中斷配置<b class='flag-5'>實現</b><b class='flag-5'>方法</b>

    MPLS與傳統路由的優勢

    路由器在轉發數據包時,需要查找并匹配路由表中的可變長網絡地址,這通常涉及復雜的最長前綴匹配算法,消耗大量CPU資源。而MPLS則通過標簽交換實現快速轉發,減少了路由器的查找次數和處理
    的頭像 發表于 02-14 17:27 ?580次閱讀

    如何快速入門PLD電路設計

    基本的數字邏輯概念,如與、或、非、異或等邏輯門。 布爾代數 :掌握布爾代數的基本原理,這對于設計復雜的邏輯電路至關重要。 狀態機 :學習有限狀態機(F
    的頭像 發表于 01-20 09:48 ?564次閱讀

    Simulink中的狀態機建模方法 Simulink數據可視化與分析功能

    1. Simulink中的狀態機建模方法 1.1 理解狀態機的基本概念 在開始建模之前,了解狀態機的基本概念是必要的。狀態機由以下幾個部分組
    的頭像 發表于 12-12 09:27 ?2357次閱讀

    DSR算法的工作原理 影響DSR的主要因素

    DSR(Dynamic Source Routing)算法是一種基于源的路由協議,主要用于無線自組織網絡(如MANETs,Mobile Ad Hoc Networks)。這種協議允許節點動態地發現到
    的頭像 發表于 12-06 17:10 ?1478次閱讀

    FPGA中有狀態表項的存儲與管理

    一篇2014年的論文:《CACHE FOR FLOW CONTENT: SOLUTION TODEPENDENT PACKET PROCESSING IN FPGA》,主要講述在FPGA中有狀態表項的存儲與管理。感興趣的可以閱讀原文。
    的頭像 發表于 10-27 16:06 ?559次閱讀
    FPGA中有<b class='flag-5'>狀態表項</b>的存儲與管理

    DSR1210ATH/DSR1612ATH:內置溫度傳感器的表面貼裝型晶體諧振器與MHz帶晶體諧振器

    深圳鴻合智遠|DSR1210ATH/DSR1612ATH:內置溫度傳感器的表面貼裝型晶體諧振器與MHz帶晶體諧振器
    的頭像 發表于 10-15 11:17 ?526次閱讀
    <b class='flag-5'>DSR</b>1210ATH/<b class='flag-5'>DSR</b>1612ATH:內置溫度傳感器的表面貼裝型晶體諧振器與MHz帶晶體諧振器

    時序邏輯電路的描述方法有哪些

    圖、狀態表、有限狀態機、卡諾圖、布爾差分方程、布爾函數、時序邏輯仿真等。 狀態狀態圖是一種圖形化的描述方法,用于表示時序邏輯電路的
    的頭像 發表于 08-28 11:37 ?1099次閱讀

    觸發器和狀態機的關系是什么

    觸發器和狀態機在數字電路設計中有著緊密的關系,它們共同構成了時序邏輯電路的基礎,用于實現數據的存儲、處理和傳輸。
    的頭像 發表于 08-12 11:24 ?758次閱讀

    探索汽車電子用內置溫度傳感器的晶體諧振器:DSR1612ATH、DSR211STH 與 DSR221STH

    探索汽車電子用內置溫度傳感器的晶體諧振器:DSR1612ATH、DSR211STH 與 DSR221STH
    的頭像 發表于 08-05 16:04 ?560次閱讀
    探索汽車電子用內置溫度傳感器的晶體諧振器:<b class='flag-5'>DSR</b>1612ATH、<b class='flag-5'>DSR</b>211STH 與 <b class='flag-5'>DSR</b>221STH

    IR615如何實現VPN鏈路備份?

    openvpn,選擇vpn》Openvpn 配置》選擇新增。相關配置如下。 4)查看Openvpn狀態 4. 設置完成后查看路由表,可以看到數據通過WAN口路由,并且openvpn已經建立連接。 5. 設置
    發表于 07-25 08:27

    如何在FPGA中實現狀態機

    在FPGA(現場可編程門陣列)中實現狀態機是一種常見的做法,用于控制復雜的數字系統行為。狀態機能夠根據當前的輸入和系統狀態,決定下一步的動作和新的狀態。這里,我們將詳細探討如何在FPG
    的頭像 發表于 07-18 15:57 ?1016次閱讀

    玩轉Spring狀態機

    說起Spring狀態機,大家很容易聯想到這個狀態機和設計模式中狀態模式的區別是啥呢?沒錯,Spring狀態機就是狀態模式的一種
    的頭像 發表于 06-25 14:21 ?1225次閱讀
    玩轉Spring<b class='flag-5'>狀態機</b>

    關于SMU狀態機的問題求解

    我有一些關于 SMU 狀態機的問題。 假設由于某種原因,SMU 已進入故障狀態。 手冊指出,要返回運行狀態并將 FSP 恢復到無故障狀態,應調用IfxSmu_releaseFSP()。
    發表于 05-29 08:18

    使用系統滴答定時中斷,基于按鍵的狀態機怎么只能1個1個+,不能連+?

    使用系統滴答定時中斷,基于按鍵的狀態機怎么只能1個1個+,不能連+ #define KEY1_USERGPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13
    發表于 05-16 06:27
    主站蜘蛛池模板: 精品亚洲综合在线第一区 | 黄 色 录像成 人播放免费 | 91大神在线观看视频 | 久久夜夜操妹子 | 一级特一级特色生活片 | 午夜精品久久久久蜜桃 | 久久黄色录像 | 欧美在线视频一区二区三区 | 曰曰摸天天摸人人看久久久 | 男女在线视频 | 天天天狠天天透天天制色 | 亚洲另类激情综合偷自拍 | 天天看天天爽天天摸天天添 | 天天操夜夜操美女 | 毛片网站在线 | yy6080三级理论韩国日本 | 轻点灬大ji巴太粗太长了啊h | 美女鲜嫩bbbb | 成人宗合网 | 久久99久久精品97久久综合 | 成年全黄大色大黄 | 在线免费日韩 | 色婷婷激情 | 最近在线观看免费完整视频 | 黄色美女网站免费 | 午夜视频免费在线 | 永久毛片 | 婷婷六月天激情 | 午夜精品在线观看 | 国产精品一区二区三区四区五区 | 一级片aaaaaa | 久久天天躁狠狠躁夜夜爽蜜月 | 亚洲国产精品乱码在线观看97 | 免费在线黄色网址 | 四虎影院免费观看视频 | 激情五月综合综合久久69 | 亚洲国产成人精品青青草原100 | 亚洲成色999久久网站 | 女人十六毛片 | 日本亚洲精品色婷婷在线影院 | 中文字幕一二三四区2021 |