随着通信行业的迅猛发展,对数据吞吐量提出了更高的要求,铜互连开始向光纤互连转型,设计出符合高性能光纤抖动标准的收发器是转型成功的关键因素。
赛灵思公司(Xilinx)推出的Virtex-6 HXT系列的FPGA所内嵌的GTH收发器拥有领先的收发器抖动性能,为业界提供了较高的串行带宽,可实现与行业标准 SFP+、XFP 和 CFP等高速率光纤模块的无缝连接,满足新一代光纤传输应用的需求。泰科电子(Tyco Electronics)提供四通道小型可插拔QSFP(Quad Small Form-factor Pluggable)的光纤收发器,支持每通道速率高达 10Gbit/s 。本文主要介绍赛灵思公司内嵌的光纤收发器GTH与泰科电子的QSFP光纤收发器互连对接,实现光纤通信,并通过实验,给出最终结果和采样波形图。
要达到GTH收发器的最佳性能,需要仔细考虑到诸多设计因素,本文针对在设计过程中遇到的具体问题展开相关讨论。
为了满足高速数据通信的需求,GTH收发器一定要具有高性能、低抖动的参考时钟。GTH收发器参考时钟由REFCLK端口提供,其驱动方式有两种:由外部差分晶振直接驱动专用时钟路由和使用从相邻QUAD的专用时钟路由获取的时钟。使用专用时钟路由可以给GTH QUAD提供性能最佳的时钟,而通过专用的时钟引脚IBUFDS_GTHE1原语,可以直接驱动专用时钟路由,常采用外部高性能时钟输入经过专用引脚驱动输出参考时钟REFCLK,其时钟连接图如图1所示。
GTH QUAD的复位有三种方式:上电配置FPGA自动完成复位、复位序列给GTHRESET和GTHINIT端口复位以及通过拉高POWERDOWN端口复位PCS逻辑。常用的复位方式为第一和第二种,第一种复位方式要求GTH QUAD必须有稳定的参考时钟和电源,若参考时钟在芯片配置后输入,则需第二种复位方式。表1给出了第二种复位方式需要的端口及说明。
GTH收发器提供了发送端和接收端的并行用户时钟TXUSERCLKOUT和RXUSERCLKOUT,而在TXUSERCLKIN时钟发送并行数据到TXDATA端口时,在RXUSERCLKIN时钟上升沿接收的并行数据从RXDATA端口读出,输入用户时钟TXUSERCLKIN,RXUSERCLKIN为TXUSERCLKOUT和RXUSERCLKOUT经过缓冲BUFG驱动,两者不能来源于同一时钟。图2是发送端用户时钟框图,接收端用户时钟框图和发送端框图一样。
由公式(1)可知,线B编码后,发送端与接收端用户时钟USERCLKIN为125MHz。
GTH收发器接收端并无对齐控制配置,需要外加FPGA逻辑实现接收数据对齐。接收端对齐控制原理是对接收端未对齐的并行数据检测Comma字符,若找到Comma字符对应位置,其后续位置的所有数据均已对齐。
为了实现多路光纤数据通信,这种小型化、低成本、低功耗、高速率及可热插拔的光收发模块是最佳选择。所采用的有源光缆组件包括屏蔽罩、有源光缆AOC(Active Optical Cable)、光收发模块QSFP和叠接式集成连接器。屏蔽罩用于抑制屏蔽罩至挡板与屏蔽罩至模块接口之间的EMI(Electromagnetic Interference,电磁干扰),表面贴装连接器可提供良好的电气性能,符合包括接口与主板设计在内的SFF-8436工业标准要求。
发送部分集成了4通道VCSEL(Vertical Cavity Surface Emitting Laser,垂直表面腔发射激光器)阵列、4通道输入缓冲器、激光驱动器、控制模块和激光器偏置模块。发送端输入缓冲器提供了兼容CML(Current Mode Logic,电流模式逻辑)电平的高速串行接口,其数据传输速率一般在1Gbps至10Gbps之间,电压摆幅为200mV~800mV;控制接口集成了LVTTL电平的I2C总线及低速控制接口,用于数字诊断检测。接收部分集成了4通道的PIN光电二极管检测阵列、4通道TIA(Trans-impedence Amplifier,跨阻放大器)阵列、4通道输出缓冲器、控制模块和激光器偏置模块[4]。
其基本原理为:发送部分,4对差分串行数据经输入缓冲器缓冲,激光驱动器对调制电信号进行相应处理,随后输出,调制电流及偏置电流驱动VCSEL阵列,VCSEL阵列将电流信号转化成光信号,再由光接口输出。接收部分,PIN光电二极管阵列将从光接口输入的光信号转化成电流,4通道的跨阻放大器TIA放大转变为4路数字电压信号,经接收端的输出缓冲器,输出CML电平信号[5]。
双端光收发模块的一端接至QSFP1插槽,另一端接至QSFP2插槽,可形成外环回,可实现4路光纤数据的高速传输。
4路光纤数据传输流程:GTH收发器GTH5~GTH8四路发送端发送并行数据源,输出串行传输速率为5Gbps的数据流经过QSFP2模块进行光电转换,光信号经光缆传输至另一端,再由QSFP1接收光信号,随后光电转换后输出至GTH1~GTH4收发器的接收端RX。由之前GTH设计要点可知,单通道GTH接收端完成串并转换后,数据位宽为32位,接收端用户时钟RXUSERCLKIN为125MHz,其单路数据传输速率为500MB/s。同理GTH1~GTH4发送端发送并行数据,通过光缆从GTH5~GTH8接收端接收数据。
IBERT是集成式比特误码率测试仪,是Xilinx专门用于具有高速串行接口的FPGA芯片的调试和交互式配置工具[6],使用IBERT测试GTH收发器与光模块QSFP通信链路情况,配置MGT/IBERT选项,选取测试时间4800s,其测试结果如图5所示。
由图5可知,8路光纤链路线Gbps时,发送端数据设置为PRBS(伪随机二进制序列)数据类型,PRBS相当于“随机数据”,因此它的频谱特征(在有限频带内)和白噪声接近,故它很适合用于测试数字通信系统性能。环回模式Loopback Mode设置为None,表明GTH1~GTH4、光缆与GTH5~GTH8链路外环回,在测试期间接收端误码计数一直为0,且误码率在10-12量级,满足通信要求,表明光纤链路通信正常,因此设计满足4路光纤数据的可靠传输要求。
下面通过发送递增码测试光纤链路的通信质量,发送Comma字符TXDATA[31:0]=32’h000000BC,对应控制标志位设置TXCTRL[3:0]=3’b0001,有效数据以十六进制0000_0000、0001_0001、0002_0002......格式递增,对应标志位设置TXCTRL[3:0]=3’b0000,以1024个同步字符和4096个有效数据为一包数据形式发送。图6为使用Chipscore Pro工具采集到的数据错位图,这样的一种情况由于最初设计GTH接收端并没外加对齐控制,这里测试的为GTH QUAD116和QUAD117的第一通道收发情况,由图中的接收端控制标志端口rxtrl[3:0]=4’b0100,接收端并行数据端口gth_data_receive[31:0]=32’h00BC0000,能够准确的看出数据发生错位,实际测试数据错位是随机的。所以接收端的对齐控制很重要,是GTH收发器正确数据传输的关键。
图7(a)为加入接收端对齐控制后采集到的接收正确图,GTH1~GTH4发送端发送递增码数据,通过光模块QSFP,GTH5~GTH8接收端接收到数据;(b)为GTH5~GTH8发送端发送递增码数据,通过光模块QSFP,GTH1~GTH4接收端接收数据;(c)为Plot工具画出的各路接收数据图。由图中的8路接收端通道的误码计数信号error_cnt=0及Plot曲线平滑无毛刺,可看出此链路传输数据正确,接收端无误码。
本文介绍了Xilinx公司Virtex-6 HXT系列FPGA集成的GTH收发器及光收发模块QSFP的原理,并对其互连系统来进行设计与实现。能够准确的看出,利用GTH收发器可与光收发模块QSFP无缝连接,并实现了4路光纤数据的对发对收。本系统可作为高速大容量存储阵列的前端,它满足了对光纤数据快速高效传输及暂存,具有非常好的工程应用前景。
本文来源于中国科技期刊《电子科技类产品世界》2016年第7期第61页,欢迎您写论文时引用,并标注明确出处。