需要注意的是,由于此PLL可用参数(PLL_DIVSEL_FB = [1,2,3,4,5], PLL_DIVSEL_REF = [1,2])有限,为获得高速串行通信所需频率,输入参考时钟CLKIN仅可在有限范围内选择。因此,参考时钟需通过专用的具有相应频率的晶振提供或在FPGA内部经DCM或PLL变换获得。
1.3 PCB设计
RocketIO产生的高速串行信号速度在1 GHz以上时,已经进入微波范围。因此在使用时,其PCB电路的制作也是影响信号传输效果的重要因素。
RocketIO的供电必须由专用的电源管理模块提供,不能与其他模块电源共享,以减少噪声引入。即使GTP中同一种电源的不同引脚之间也需要通过滤波电路进行隔离,以减少相互之间的影响。为平衡GTP_Dual Tile的负载,只使用其中的一个GTP时,两个GTP的供电应以同样策略进行处理。
在布线时,高速差分对走线应当有最高的优先级,以保证其电气特性满足微带线或带状线的要求。走线应当尽量直、短并具有最少的信号层变化。为减少干扰信号的影响,高速线应尽量远离其他有可能会带来噪声的信号线,同时信号线拐角采用45°而避免使用直角。为保证信号的完整性,高速差分信号线的参考平面须保持连续,并尽量以地平面为参考,否则其阻抗特性会发生急剧变化,导致信号的反射增强。
2 RocketIO在高速信号传输中的应用
在多种高速数据处理场合都需要对数据进行高速收发。以超高速信号采集系统为例,当采用ADC08D1500采集芯片时,最高可以实现单通道3 Gsps的超高速采样率,数据精度为8位。这时就需要具有足够高传输速率的信号传输机制对信号进行转发。若实现机内通信,可采用PCI Express传输协议;若实现系统间通信,则可使用光纤通信协议或千兆以太网协议。在工程中,上述协议都可通过专用的芯片来实现,但也使得系统变得复杂,同时使电路板的设计空间紧张。而RocketIO对多种高速传输协议的支持,可以使得PCI Express协议、光纤传输协议或千兆以太网协议在同一片FPGA内实现,提高了系统的集成度,并使得信号的处理机制更加灵活。在本文的设计中,采用了PCI Express传输协议来实现机内通信,采用Aurora光纤传输协议来实现系统间通信。系统结构如图4所示。
图4 超高速采集系统框图
2.1 Aurora协议
Aurora协议是一种可配置的、简便的数据链路层协议,可以通过使用一条或多条高速串行通道实现点对点的数据传输。Aurora协议可为私有上层协议或标准上层协议提供透明接口的串行互联协议,允许任何数据分组通过Aurora协议封装,并在芯片间、电路板间甚至机箱之间传输。Xilinx还开发了实现该协议的Aurora IP核,当使用Virtex5 FPGA提供的RocketIO时,Aurora可实现每个物理通道500 Mb/s到3.75 Gb/s的传输速率。Aurora可将1~16个物理通道绑定在一起,形成一个由16个通道绑定而成的虚拟链路,提供最高60 Gb/s的传输波特率[1]。其结构如图5所示。
图5 Aurora核结构
Aurora核可以帧模式或流模式传输数据[4]。Aurora的帧可以是任意大小,并可以在任意时刻被中断。有效数据之间被自动以空闲(idles)序列信号填充,以维持通道的锁定。帧模式下有可选的数据流控制信号,以降低接收数据速率,或传送简短而优先级高的信息。流模式在Aurora核中以一个无结尾的帧方式实现。在数据传输的间隙补以空闲序列信号。
|