VOQ

更新时间:2023-04-15 03:33:20 阅读: 评论:0


2023年4月15日发(作者:全球卫星导航系统)

基于RapidIO的星载交换机的设计与实现

孟繁成;乔庐峰;陈庆华

【期刊名称】《《通信技术》》

【年(卷),期】2019(052)003

【总页数】8页(P758-765)

【关键词】卫星通信;RapidIO;星载交换机;交换结构;FPGA

【作者】孟繁成;乔庐峰;陈庆华

【作者单位】陆军工程大学通信工程学院江苏南京210007

【正文语种】中文

【中图分类】TP393;TN915.05

0引言

卫星通信因其覆盖广、通信容量大、不受地理环境限制等优点,成为现代通信网的

重要组成部分。星载交换机作为卫星网中的关键节点设备,其性能将直接影响卫星

通信网的时延、带宽、Qos等重要参数和指标[1]。目前,星载交换机在结构上

通常借鉴地面网中的高性能交换机的一些关键技术,同时增强其容错能力,提高其

可靠性以适应星载需求。由于目前的卫星通信网络通常采用专用的技术体制,星载

交换机硬件平台标准化水平较低,妨碍了星载交换机关键硬件平台技术的发展。

RapidIO是目前使用较为广泛的高性能串行总线技术,通常应用于分布式处理单

元之间进行高速数据传输。RapidIO技术支持多种类型的操作模式,既有高可靠

的传输模式,又有快速传输大量数据的传输模式;互连带宽大,目前最大可以支持

20Gb/s的互联带宽[2];支持高可靠传输,物理层具有错误检测、流量控制和差

错重传的机制;标准化的水平高,有利于硬件平台的统一设计,可满足未来需求。

RapidIO接口目前被各类数字信号处理器、嵌入式处理器和FPGA等广泛支持,

芯片之间可以通过RapidIO交换芯片互联,形成一个完整的高性能分布式处理平

台。目前,该技术在地面通信网络中被大量应用于移动通信基站的标准平台设计,

用于实现分布式处理单元之间的控制和业务数据传输。星载交换机可以被看作一个

更加复杂的、特殊的无线通信节点,可以借鉴地面网基站平台的标准化设计方法,

提高其硬件平台的性能和标准化水平。

1基于RapidIO的星载交换机

传统星载交换机的结构如图1所示。它由多个线卡、管理控制器、路由控制器和

交换结构组成。线卡是数据进出交换机的入口和出口,其中的收发器模块可进行光

-电和电-光信号变换[3]。成帧器模块可以将接收的数据包封装成数据帧。网络处

理器模块主要进行路由表的查找和包分类。流量管理器作为网络处理器与交换结构

的连接桥梁,将来自网络处理器中不同协议下的多个数据流在进入交换结构之前进

行处理,从而解决拥塞问题。

图1传统交换机

本文研究的基于RapidIO的星载交换机平台结构如图2所示。基带处理单元在完

成信号接收后,将接收的数据帧发往链路层处理模块。链路层处理模块对接收的数

据帧校验检查后,根据帧的类型进行不同处理;在IP层处理单元,业务数据帧承

载的IP包被提取出来进行IP层路由查找,形成本地使用的转发信息,并等待进入

交换结构。交换结构负责接收到来的数据包,然后根据每个包携带的转发信息将其

交换到对应的输出端口。图2的各模块使用RapidIO技术进行互连。不同处理单

元内部不同类型的数据帧/包根据预先确定的封装形式进行格式转换和封装操作。

图2基于RapidIO的星载交换机

星载交换机各模块间的数据传输不仅有大容量的业务流,还有容量相对较小、种类

较多的控制流[2]。业务流需要高速的传输模式。在RapidIO中,流写操作模式

可以提供高效的数据迁移,传输效率高达95%,可以用来传输业务流。控制流则

需要较高的可靠性,可以通过RapidIO中的NWRITE_R(需要返回相应的写操作)

操作模式进行传输[4]。

相较于传统的交换机,基于RapidIO的星载交换机具有更高的带宽,各模块间通

过RapidIO技术互连,提升了传输的可靠钟离之战 性,降低了传输时延。它的核心是带有

RapidIO接口的大容量交换矩阵。

与传统团结的英语 的交换矩阵相比,基于RapidIO的大容量交换矩阵同样要支持单播、组播

和广播,支持无阻塞交换。除了端口支持RapidIO规范外,内部电路可以采用不

同类型的大容量交换矩阵的设计方法。本文采用的是大容量三级Clos结构。与传

统交换矩阵不同的是,RapidIO的最大帧长为256B[4],远小于以太网等地面网

络的最大帧长,在前级需要对长包进行第一次分割。在交换结构内部,RapidIO

接收的数据包需要根据大容量交换矩阵的要求将其分割为内部信元,然后按照变长

调绿色校园绘画 度的方法将内部信元交换到各个输出端口,然后在端口处进行重组,输出

RapidIO数据包。

2交换矩阵的接口处理电路设计

交换矩阵的RapidIO端口电路结构如图3所示,主要包含Rapi白居易诗歌 dIOIP核和接口

处理电路两个模块。接口处理电路与RapidIOIP核和三级Clos交换结构相连,

主要包括以下两个模块。

(1)发送模块:将三级Clos交换结构的数据格式转化为RapidIOIP核支持的帧

格式,并将数据发送到RapidIOIP核内。

(2)接收模块:将RapidIOIP核从远端设备中接收到的数据进行存储,并将其

转换为可在交换结构中使用的包格式,然后将其发送到三级Clos交换结构的输入

级中。

图五言对联大全 3RapidIO端口的结构

2.1XilinxFPGA中的RapidIOIP核

本设计通过在ISE上例化IP核的方式实现RapidIO的点对点通信功能。Xilinx

FPGA中RapidIOIP核结构如图4所示,包括逻辑层(LOG)、缓存层(BUF)

和物理层(PHY)。逻辑层主要定义了I/O端口、包格式,提供了事务在器件之

间传输所需要的信息[5]。缓存层主要为物理层提供数据存储的缓冲区,用于实现

高速、可靠的数据传输和流量控制功能。物理层规范包括了器件的接口细节,如包

的传输机制、包传输错误时的处理方式、流量控制和CRC校验等。此外,还有独

立的时钟模块、复位模块和FPGA中的GTX(RapidIO_gt_wrapper)[6]。

图4xilinxFPGA中RapidIOIP核的结构

2.2接口处理电路

接口处理电路收到来自RapidIO内核发送的数据包后,需要完成转发表查找、本

地头生成和分割形成内部信元等操作。

RapidIO的流写事务帧格式如图5所示。包头所包含的信息为发送序号(tid)、

事务类型(ftype)、优先级(prio)、帧的长度(size)、源地址和目的地址

(addr),这些信息是交换矩阵的前级电路生成的。RapidIO接口处理电路通过

查询RapidIO包头信息中的目的地址,确定数据要发往的端口号(port)、端口

映射(portmap)、数据是否为多播(multicast)业务。目前,实现的三级Clos

交换结构通常针对64B的定长信元进行交换(如图6所示),而RapidIO发送

来的数据包长度介于8~256B,所以RapidIO接口处理电路需要将长度大于64

B的数据包切割成64B的定长信元。对于长度小于64B的数据包,需要将其长

度补足至64B。接口处理电路在完成上面的操作后,将转换后的数据发送到三级

Clos交换结构的输入级中。

图5RapidIO的流写事务帧格式

图6交换机中定长信元的帧格式

2.3接口处理电路的电路结构

图7为接口处理电路在接收方向的工作流程图。接口处理电路的发送模块会不断

对RapidIOIP核进行检测,在检测到RapidIOIP核发送的数据有效时,接口处

理电路会将接收到的数据包存储至存储器A(如图3所示),并启用计数器对数

据包的包长进行计数。同时,接口电路的接收模块将从RapidIOIP核接收到的数

据包中的包头信息(如图5所示)提取得到其优先级和目的地址。然后,接口处

理电路的发送模块根据其目的地址查找本地的转发表,得到其在内部交换结构的输

出端口号和端口映射,并将得到的信息封装到本地头(如图6所示)。之后,接

口处理电路的发送模块将封装好的本地头存储至存储器C中。接口电路的接收模

块会不断判断接收到的数据,当接收到的数据为数据包的最后一个数据时,完成对

数据包包长的计数,并将数据包的包长信息存储至存储器B中。当存储器B非空

时,接口处理电路分别读取存储器A和存储器C,得到添加了本地头后的数据包

(如图8所示),然后接口处理电路对添加了本地头后的数据包的包长进行判断。

当数据包的包长大于64B时,电路会将数据包分割成定长的64B,当数据包的包

长小于64B时,电路会将数据包补足至64B。最后,电路将处理后的数据包发送

到三级Clos交换结构中。

图7接口处理电路在接收方向的流程

图8添加本地头后的数据包

接口处理电路的发送模块在接收到由三级Clos交换结构发送过来的信元后,对其

是否为数据帧的首信元进行判断。只有当其为数据帧的首信元时,才会对该信元进

行存储。信元存储完成后,电路不断检测RapidIOIP核的状态,以确定其是否可

以接收数据。只有RapidIOI属羊的女明星 P核可以接收数据时,电路才会读出存储器中的信元,

将去掉本地头的该信元发送至RapidIOIP核中。当检测到所发送的信元为数据帧

的最后一个信元时,发送模块生成一个指示信号至RapidIOIP核,用于表示完成

了一个数据帧的传输。

3三级Clos交换结构

本设计的交换结构采用中间级无缓存的存储-空分-存储(Memory-Space-

Memory,MSM)三级Clos交换结构,如图9所示。它包含4个输入级模块

(InputModule,IM)、1个中间级模块(CentralModule,CM)和4个输出

级模块(OutputModule,OM)。

图9星载RapidIO交换机的整体结构

输入级模块包含4个RapidIO端口、4个队列控制器(QueueController,QC)

和输入级调度器。来自于RapidIO接口处理电路的内部信元,对目的端口可能有

16个不同的选择。为了减少队头阻塞以提高交换结构的吞吐量,本设计在输入端

采用虚拟输出队列(Virtualoutputqueuing,VOQ)对输入数据进行排队。每

个VOQ中包含8个不同优先级的队列,可为用户提供8个不同优先级的服务。每

个IM中使用4个队列控制器(QC0、QC1、QC2、QC3),分别维护与4个不

同OM对应的VOQ,即QC0维护与OM0中4个输出端口对应的4个VOQ,

QC1维护与OM1中4个输出端口对应的4个VOQ,以此类推。在每个QC中,

使用一个存储器存放这32个队列,并采用链表的形式实现对这些逻辑队列的控制。

输入级调度器主要用于16个输入级队列与4条输出链路之间的迭代匹配。

CM中含有16条输入链路和输出链路、1个中间级调度器和1个无缓存的1616

交叉开关矩阵(Crossbar)。其中,中间级调度器的工作是协助在各个IM中共4

个输入级调度器完成链路的有效分配并避免发生冲突。1616的无缓存Crossbar用于提供从输入级模块到输出级模块的无阻塞连接,可以直接将到达的数据转发出

去。在中间级采用无缓存的Crossbar方案,可以避免信元乱序,简化控制逻辑的

设计。

输出级模块与输入级模块结构相同。

4仿真结果与分析

基于RapidIO的星载交换机的实现选用Xilinx的xc6vlx240TFPGA,开发环境为

ISE14.7,电路模块采用VerilogHDL编程,并用Modelsim10.2c进行仿真分析。

4.1接口处理电路接收模块仿真康熙后宫

图10西游记读后感400字 为接口处理电路接收模块从RapidIOIP核中接收数据的过程。接口处理电

路的接收模块在从RapidIOIP核内接收到数据包后,加入交换结构中进行交换所

需的信息。图10中的val_treq_tdata为流写事务的包格式,前64bit为包头信

息。接收模块根据流写事务的包头信息来确定数据的输出端口号(i_cell_port)是

否为多播(i_cell_multicast)、优先级(i_cell_prio)等信息,并将这些信息封装

成一个适用于交换结构的本地头,然后将新的包头作为输入(data_fifo_din)存

储到存储器C中。

图10接口处理电路接收模块的仿真结果

4.2接口处理电路发送模块仿真

图11显示了接口处理电路发送模块在接收到数据后进行存储并发送到RapidIO

IP核的过程。输出级输职业管理 出的数据位宽为64bit,电路会判断到来的数据是否为数

据帧的首个数据。当它为首个数据时,将到来的数据进行存储,并将此时

cell_fifo_din_的值赋给cell_fifo_din,同时将cell_fifo_wr置为高电平完成数据的

存储。发送模块将输出级发送来的数据存储到存储器后,需要再把数据发送到

RapidIOIP核内。当信号cell_fifo_rd为1时,表示电路的发送模块开始从存储

器中读取数据。发送模块在读取出数据后发送给RapidIOIP核,完成与RapidIO

IP核之间的通信。

图11接口处理电路发送模块的仿真结果

4.3三级Clos交换结构输入级和输出级的仿真图

如图12所示,接口处理电路将数据发送至三级Clos交换结构的输入级。同时,

发送到三级Clos交换结构中的还有信元的包头信息,其中的i_cell_dlp表示数据

的优先级,i_cell_portmap表示端口映射,i_cell_first表示信元是否为数据帧的

首个信元,i_cell_port表示信元的输出端口。从图12可以看出,到来的信元为数

据帧的首个信元,优先级为0,端口映射为1,输出端口为0。

图12中的数据在经过存储转发、排队调度后,发往其对应的输出端口。图13为

输出端口0的仿真图,其中的data为三级Clos交换结构发往接口处理电路的数

据。可以看到,图12中输入级中的数据i_cell_fifo_din与图13中输出端口0的

数据data为同一数据,表明交换结构完成了数据交换,将其从对应的目的端口输

出到了接口处理电路中。

图12三级clos交换结构输入级的仿真结果

图13三级clos输出级端口0的仿真结果

5结语

本文对基于RapidIO的星载交换机关键硬件平台技术进行了研究,给出了基于

RapidIO的星载交换机的硬件平台结构,分析了RapidIO的典型总线事务与交换

机设计需求之间的映射关系。在此基础上,重点设计和分析了RapidIO交换机中

的接口处理电路及其收发操作流程,给出了作为交换核心的3级Clos交换结构的

具体组成。交换机具有16个端口,单端口最大速率为5Gb/s,交换容量为80

Gb/s。交换机采用Verilog硬件描述语言设计完成,采用modelsim10.2c进行仿

真分析,给出了关键电路的典型仿真结果。交换机在Xilinxxc6vlx240t上进行了

具体的综合实现,验证了设计的可行性。

【相关文献】

[1]甘伟民,张更新.卫星通信技术的新发展(Ⅱ)[J].通信学报,2013,2火场逃生原则 7(10):-

min,elopmentofSatelliteCommunication

Technology(II)[J].CommunicationsJournal,2013,27(10):2-9.

[2][Z].2013.

[3][Z].2012.

[4]郭海英.RapidIOIP核的软硬件协同设计与验证方法研究[D].西安:西安石油大学,

fRapidIOIPcoreSoftwareandHardwareCo-designandVerification

Method[D].Xi’an:Xi’anShiyouUniversity,2011.

[5]BaoJ,ZhaoB,YuW,N:aSoftware-definedSatelliteNetwork

Architecture[C].ACMSIGCOMMComputerCommunicationReview,2014:347-348.

[6]JainR,kVirtualizationandSoftwareDefinedNetworkingforCloud

Computing:aSurvey[J].CommunicationsMagazine,2013,51(11):24-31.


本文发布于:2023-04-15 03:33:20,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/498013.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:今天回家
下一篇:直报
标签:VOQ
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图