基于Xilinx GTP核的高速反射内存集线器设计与研究

2018-06-11 11:05田帅帅张秋爽
电子设计工程 2018年11期
关键词:环型集线器星型

周 强,田帅帅,张秋爽

(1.北京航空航天大学自动化科学与电气工程学院北京100191;2.北京机电工程总体设计部北京100854)

反射内存网络的提出主要用来解决多计算机环境中数据通信的高效互联问题。该网络是一种基于高速共享存储技术的实时网络,主要由反射内存节点卡通过光纤连接组成,网络中的数据交换完全通过硬件实现,无需占用额外的软件资源,有效的解决了系统中数据传输的实时性问题[1]。反射内存网络主要有环型和星型两种拓扑结构。环型拓扑结构中,数据包在网络上传输,遍历环状网络的所有节点直到源节点,然后源节点删除该数据包[2]。环型网络具有数据冲突率低、使用光纤数量少的优点[3],但其缺点是当环型网络的一个节点发生故障,整个反射内存网络都会瘫痪。星型拓扑结构是一种广播介质类型,任意节点发往中心节点的数据帧都会在所有的输出链路上被转发,集线器就是支持这种类型的中心节点。相较于环型结构,星型拓扑结构提供了较好的容错特性,单个节点故障不至于导致整个网络瘫痪。

1 现有反射内存集线器的分析

在完全由反射内存卡组成的菊花链式环型反射内存网络中,各个反射内存节点卡通过多模光纤进行连接[4],一旦完成网络连接,数据传输的延时和传输顺序就完全确定,而通过集线器构建的反射内存星型和环型网络,在数据传输时具有很好的灵活性。

现在市场上的反射内存集线器主要被GE VMIC公司垄断,但其实质上是利用高速模拟开关构成的环型网络,是一种伪星型网络。国内对星型集线器的研究主要采用基于FPGA配合串并/并串转换芯片来实现[5],虽然在物理上实现了星型结构,但其缺点是串并转换器和FPGA间采用并行连接,每个光纤通道都需要在PCB上进行大量的物理走线,并行线之间容易出现串扰,产生噪声,这种干扰随着传输速率的提高会逐级放大,使得传输速率无法进一步提高。基于此,文中设计并实现了一种基于Xilinx GTP核的高速反射内存集线器,此集线器采用集成了高速收发器的FPGA作为核心控制器件,光纤模块的差分串行数据直接和FPGA的高速收发器连接,数据的串并/并串转换等功能全部在FPGA内部实现[6],不仅实现了物理上的星型拓扑结构,而且避免了并行线间的信号串扰。

2 基础原理简介

2.1 GTP结构及相关技术

GTP是Xilinx公司V5系列产品的高速串行收发器,具有高度物理集成性和可配置性,并且与FPGA资源集成在同一可编程逻辑块上[7]。V5系列FPGA提供了8-24个可配置高速GTP收发器,同一阵列相邻的、共享一个PLL的两个GTP组成一个GTP_DUAL,从而减少芯片的面积和资源占用[8]。GTP_DUAL包含两个GTP的模块供电,共享PLL以及核电压,是GTP应用的最小单位。

GTP在物理结构主要包括物理媒介接入子层(PMA)和物理编码子层(PCS),PMA中含有与外部连接的模拟接口,包括时钟电路,缓冲电路,串行/解串电路、全双工收发器和预加重模块[9]。在串行高速传输过程中,高频分量衰减严重,导致信号失真,将预加重作用于数据发送端,提高高频分量比重,可以有效补偿线路衰减。PCS位于PMA和协调子层(GMII)之间[10],其内部含有 8B/10B 编解码器[11],8B/10B编码可以起到直流平衡的作用,避免高速串行流中逻辑1和逻辑0有多个位没有变化时,因为电压位阶关系而造成的信号转换错误。

Xilinx的GTP模块实质上搭建了一个高速传输物理通道,可以在ISE中利用IP Core建立GTP模块。在IP Core中对GTP参考时钟源,TX/RX接口,8B/10B编解码等进行配置后,可以生成基于ISE的高速传输工程架构,将其在主程序中进行配置,即可完成主程序的GTP高速传输部分配置。

2.2 光纤传输理论

反射内存网络中,物理传输通道的设计质量直接决定了数据传输的质量。与电气领域常用的同轴电缆或双绞线相比,光纤介质中的信息流全是光信号,几乎不会受到外部电磁干扰[12],因此,传输数据量大,传输灵敏度高,保密性强。光纤是由玻璃或塑料制成的纤维,结构上满足光的全反射,光在传输过程中可以垂直入射和出射,几乎没有能量损耗,利用光纤进行信号传输无需另外添加中继设备,最大传输距离接近一千公里。

2.3 高速PCB设计理论

随着数字电路的发展进入高速时代,PCB已不仅是电子元件的工作平台,导线也不再是理想的等电位线路,PCB系统已经变成了具备高速传输性能的系统结构。影响高速电路性能的本质问题是信号完整性,即高速信号在物理传输线路上的质量[13]。PCB板上的高速信号完整性取决于布局和布线的质量。信号传输过程中的干扰主要来自信号反射,信号间串扰以及寄生效应[14]。信号反射主要由于传输线阻抗不连续导致,信号间串扰是因为信号线间的互感和互容作用,寄生效应是传输线和元器件间的相互作用产生的干扰。因此,在PCB设计中,既要在原理图设计阶段验证信号传输的完整性,也要在布线布局过程中施行阻抗匹配,电源分割,滤波去耦等措施。对于差分信号,要保证两条传输线等长,等宽,等间距[15]。

3 硬件设计

3.1 总体方案设计

由集线器需要实现的功能和性能可知,反射内存网络集线器的硬件结构中应包含可编程逻辑器件,GTP高速收发器,光纤模块以及必要的时钟电路,电源电路,去耦电路,复位电路等相关配置电路。

在数据收发过程中,光纤模块将网络中传输的高速光信号转换为高速串行信号,并与GTP高速收发器相连,GTP完成信号的串/并转换后将其传至FPGA进行处理。FPGA作为系统的控制中枢,主要完成对节点更新数据的检测、校验及缓存,并将接收的数据以广播方式转发到与其相连的其他节点卡,以此来实现真正的星型拓扑结构。其余配置电路为系统调试及运行提供帮助。集线器的硬件结构原理图如图1所示。

图1 硬件设计结构原理图

3.2 核心器件选型

3.2.1 光纤模块选择

反射内存网络中主机和集线器识别与处理的均为电信号,而光纤传输的是光信号,因此需要专用的光电模块进行光电信号转换。设计中选取技术成熟的Finisar公司生产的FTLF8519P2BNL模块,其体积小,质量轻,并且具有高达2.125Gbps的双向传输速率。

3.2.2 可编程逻辑器件选择

FPGA作为系统的核心控制器件,在选型时要充分考虑其所提供的逻辑资源及其板载的高速收发器传输速率。在对集线器应用程序进行仿真分析后,得出如表1所示的资源消耗情况,结合目前反射内存节点卡的传输速率2.125 Gbps,最终选择Xilinx Virtex-5系列的XC5VLX110T型号FPGA,其资源列表如表2所示,并且最高传输速率可达3.2 Gbps,满足网络数据传输需求。

表1 集线器消耗资源列表

表2 FPGA资源列表

3.2.3 高速PCB设计

高速PCB板的设计中为了保证信号传输的完整性,必须充分考虑抗干扰措施。本设计从叠层顺序,静电防范,电源分割及去耦散热方面进行考虑。设计中采用8层PCB作为集线器的硬件平台,叠层顺序遵循信号层紧邻一内电层[16],电源层与地层成对出现并紧密耦合,信号层不相邻的原则,使得内电层为信号层提供屏蔽,保证高频信号不受外部干扰,也不对其他信号层造成干扰。

此外,对于GTP模块的电路设计,要严格参照Virtex-5手册进行滤波设计,差分信号收发设计及供电设计。GTP模块内部包含终端电阻,因此与光纤模块采用直接耦合模式。差分参考时钟采用电容交流耦合模式,根据FPGA硬件特性,每个输入参考时钟通过FPGA内部时钟走线可以驱动相邻的不超过3个GTP_DUAL单元,但为避免通过FPGA内部走线获得的时钟会产生较大抖动,设计中采用时钟缓冲器CY2DL1504输出4路低延时、低抖动特性的差分时钟为高速GTP模块提供时钟基准。

4 软件设计

4.1 时钟参数配置

信号在传输的不同阶段处于不同的时钟域,其中FPGA的RX接收端PCS子层主要有两个时钟域,分别是XCLK和RXUSRCLK时钟域,RX弹性缓冲器功能主要用来匹配两个时钟相位差。FPGA的TX接口包括两个并行时钟,TXUSRCLK和TXUSRCLK2。TXUSRCLK用于GTP发送器的PCS端,其速率由GTP发送器速率和内部通道数据位宽决定。根据目前集线器传输速率2.125 Gbps,内部数据通道位宽20 bits,参考时钟速率 106.25 MHz,PLL时钟速率1.0625 GHz可计算出PLL分频比:PLL_DIVSEL_FB/PLLDIVSEL_REF=2。

4.2 收发控制及缓存模块设计

数据收发控制及缓存模块主要处理FPGA与高速收发器GTP间的数据传输逻辑,格式转换等工作。其原理框图如图2所示。

数据发送模块内嵌状态控制机,其不断检测发送FIFO是否为空,并在不为空时对帧头进行判定,若帧头无误,进入发送状态,否则,返回起始状态。在发送过程中,若未发送完整帧而FIFO中有数据,进入等待状态,等待超时则退回起始状态,否则继续发送,直至发送完成退回起始状态。

图2 收发控制原理图

数据接收模块中嵌入LOS校验状态机检测数据传输状态,并产生相应标志位送至控制模块,由控制模块进行接收或放弃接收操作。LOS校验状态机如图3所示。

图3 LOS状态校验机简图

反射内存网络中,传输数据通过光电模块进入GTP,经过串并转换后得到并行数据,FPGA经过数据缓存后得到这部分数据,以保证数据处理的同步性。本设计采用先入先出的FIFO缓存。测试中,反射内存节点卡以双字方式传输数据,GTP并行数据只有8位或16位可选,FPGA内部处理部分FIFO位宽为32位,因此设计两种FIFO:发送FIFO中加上控制字后为18位读36位写,接收FIFO中加上控制字后为18位写36位读。

4.3 信号同步设计

系统中不同的模块采用了不同的时钟基准,为避免数据传输过程中由于跨时钟域产生亚稳态现象。设计中采取以下措施进行信号同步。

1)对边沿有效信号采用多级D触发器同步;

2)对数据信号采用异步FIFO进行同步;

3)采用FPGA自带的相位校正模块和时钟修复电路,对接收端的采样时钟进行恢复和修正。

5 实验与结果

首先对环型和星型两种连接方式下数据的传输过程进行了模拟,方法是利用matlab创建了16个队列模拟8个反射内存网络节点卡的收发FIFO,FIFO深度及网络中传输的数据量、遍历次数均可以更改。测试结果如表3所示。

表3 matlab模拟试验数据表

由试验数据可以看出,在相同的测试条件下,星型连接方式的传输延时要明显比环型连接方式小。

此外,也通过实物测试验证了板卡的性能。将8块反射内存节点卡与本文设计的反射内存集线器通过光纤线缆分别组成环型和星型测试网络,选取某一节点作为数据发送卡,其他节点为数据接收和校验节点,将节点卡的板载256 M存储空间等分为n部分,测试中设置每部分大小16 K和32 K,称为一个分区,每一个分区测试相当于一个子周期。所有分区测试完毕为一个测试大周期。试验中测试大周期为1000个。测试数据如表4、表5所示。

表4 集线器环型网络延时测试

表5 集线器星型网络延时测试

可以看出,在1000个测试大周期的运行过程中,板卡均能稳定无故障的连续工作,并且利用集线器组建的星型网络延时要比环型网络小的多。测试中,将部分反射内存卡换为故障节点卡,测试网络也能正常运行,说明由集线器组建的反射内存网络具有很强的排除故障点功能。

6 结论

文中设计并实现了一种基于Xilinx GTP核的高速反射内存集线器,不仅实现了与集线器相连节点的环型及星型拓扑结构,而且对传统集线器的结构和布局加以优化,改善了数据传输性能。通过试验测试验证了反射内存集线器能够长时间连续无故障工作,由其组建的反射内存网络具有排故容错功能,并且星型网络具有很低的传输延时,具有很强的实用性。

猜你喜欢
环型集线器星型
基于差分QPSO的多能源集线器系统优化调度
增加断电连锁 减少绞伤风险
一种环型橡胶条防冻测试用拉伸定位治具
音乐聆赏新世代 Bowers & Wilkins Formation Audio无线音乐集线器
金银点缀
环型混凝土电杆生产工艺控制及关键技术
环型离子推力器研制发展综述
D-π-A星型分子的合成及非线性光学性质
Microchip拓宽USB3.0集线器应用范围
Microchip推出具有FlexConnect功能的新型智能集线器,拓宽USB 3.0集线器的应用范围