使用FPGA硬件实现Ad Hoc网络路由协议的设计方案

2019-01-24 13:34:00 来源:网络
标签:

 

引言

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状态。

 

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地址条目从链表中剔除。删除操作完成后,更新后一个条目的链表指针,使得链表完整。

 

实验仿真与分析

2.1 总体功能仿真

图4是路由存储仿真结果。标号①是存储的路由信息,store_route_en是路由存储的使能,hop[31:0]路由数据周期数,did[31:0]目的节点地址,data_route[31:0]是路由数据。

 

图5、图6是路由查找仿真结果。did_to_rd_rt[31:0]是目的节点地址。标号③与标号④分别是存储与读取的路由数据,两者是一样的,故路由查找结果正确。

 

图7与图8是路由删除仿真结果。标号①是存储的路由,标号③是需要删除路由包含的前端节点ID1与后端节点ID2地址。标号②是路由存储时插入链表的有效BD地址,标号④是路由删除后链表释放的BD地址。两者的数据一致,路由删除结果正确。

 

2.2 总体性能仿真与分析

表1是一条路由存储的时延随周期变化的情况。由表1可知,随着存储的路由周期变长,模块路由存储的时延均在166.4 ns左右。

 

若路由不过期,每条路由固定长度且每次查找第一条存储路由,表2是长度为2周期的路由查找时延随着条数变化情况。表3是长度为8周期的路由查找时延随着条数变化情况。

 

由表2、表3可知,路由周期固定,随着存储条数增加查找路由的时延快速增加。在路由表中存储路由条数固定情况下,路由查找时延随着路由长度的增加缓慢增加。路由查找的时延在ns级,说明查找速度很快。

 

表4是长度为2周期的路由删除时延随着条数变化情况。表5是长度为8周期的路由删除时延随着条数变化情况。

由表4、表5可知,在存储周期固定的路由情况下,随着存储条数增加,删除路由的时延快速增加,几乎是2倍的速率。在路由表中存储路由条数固定情况下,路由删除时延随着路由长度的增加缓慢增加。 但路由删除的时延还在μs级以下,说明删除速度依然很快。从路由存储、查找、删除的结果分析上来说,路由管理模块工作效率是非常高的。

 

模块设计使用vivado2015.2平台,开发板采用Xilinx的VC707,使用的设备是XC7VX485T。片上总功耗为28.379 W,模块功耗为11.755 W。片上各部分资源使用情况如表6所示。

 

由表6可见,使用硬件实现DSR路由表项管理所占用的硬件资源非常少,功耗十分小。

 

 结论

本文针对在FPGA中支持DSR路由协议的核心内容路由表项管理提出了一种基于有限状态机的设计与实现方法。建立实现模型,使用vivado2015.2平台进行仿真,仿真结果很好地验证了预期目标。通过实验分析,发现使用FPGA实现DSR路由表项管理时延非常低,资源占用十分少,功耗很小。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
【技术分享】英特尔10纳米Agilex FPGA核心技术全解读

英特尔的10纳米FPGA终于来了。在四月刚刚结束的英特尔“以数据为中心创新日”中,曾经代号为Falcon Mesa的英特尔最新一代10纳米FPGA正式亮相,并正式命名为Agilex™。

【技术分享】针对FPGA的GTP信号,PCB设计时应考虑的信号完整性问题

千兆位级串行I/O技术有着极其出色的优越性能,但这些优越的性能是需要条件来保证的,即优秀的信号完整性。例如,有个供应商报告说,他们第一次试图将高速、千兆位级串行设计用于某种特定应用时,失败率为90%。

FPGA业务仅占营收的3%却成为10nm工艺第一批受益者,英特尔是怎么想的?
FPGA业务仅占营收的3%却成为10nm工艺第一批受益者,英特尔是怎么想的?

和过去几代产品相比,AMD近期推出的产品给了英特尔更为激烈的竞争压力,这将帮助AMD逐步超越英特尔;近几年来,英特尔一直深陷制造工艺升级泥潭,它最近发布的10纳米 FPGA表明它的10纳米工艺还有一些尚未得到解决的问题;AMD很有可能重现二十年前的辉煌,再次夺得CPU性能的铁王座。

【技术分享】使用EPROM或EEPROM配置FPGA大家都会,使用NOR闪存呢?

NOR闪存已作为FPGA(现场可编程门列阵)的配置器件被广泛部署。其为FPGA带来的低延迟和高数据吞吐量特性使得FPGA在工业、通信和汽车ADAS(高级驾驶辅助系统)等应用中得到广泛采用。汽车场景中摄像头系统的快速启动时间要求就是很好的一个例子——车辆启动后后视图像在仪表板显示屏上的显示速度是最为突出的设计挑战。

【技术分享】详解FPGA中的DDS技术

我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常棒的器件。如果在这个智能时代,在这个领域,想拥有一技之长的你还没有关注FPGA,那么世界将抛弃你,时代将抛弃你。

更多资讯
高云半导体研讨会圆满召开,累计出货已达1500万片

2019年4月12日,中国武汉,高云半导体FPGA技术研讨会系列活动于武汉凯悦酒店成功召开,现场气氛热烈,座无虚席。

高云半导体研讨会圆满召开,累计出货已达1500万

2019年4月12日,中国武汉,高云半导体FPGA技术研讨会系列活动于武汉凯悦酒店成功召开,现场气氛热烈,座无虚席。

【技术分享】FPGA越来越精密,对DC-DC电源的精度也越来越高

FPGA厂商不断采用更先进的工艺来降低器件功耗,提高性能,同时FPGA对供电电源的精度要求也越加苛刻,电压必须维持在非常严格的容限内,如果供电电压范围超出了规范的要求,就有会影响到FPGA的可靠性,甚至导致FPGA失效。

【技术分享】详解迭代开发FPGA的思想,FPGA增量编译使用教程

FPGA设计的特点是需要不断不断的迭代各个设计流程来达到最终的设计,同时迭代的成本大,它比单片机开发更注重迭代的开发思想。所以,设计的前期一定要从系统的角度考虑好系统的方案,然后在系统这个方案中不断的迭代,不然后期发现由于系统方案的问题就得不偿失了,好的系统架构就是成功一大半了。其中,在FPGA设计中可以通过增量编译来加快我们的开发。

【技术分享】CRT/OLED/LCD等视频显示系统控制原理分析

作为消费者,我们对于各种形式的视频系统都已经非常熟悉了。但是从嵌入式开发人员的角度来看,视频就好像是一张纷繁复杂的网络,里面充满了各种不同的分辨率、格式、标准与显示等。

Moore8直播课堂
开发板测评
技术讨论
电路方案

1970-01-01 08:00:00