FPGA高速串行收发器,GTP,GTX 下载本文

图10-21 参考时钟振荡器的接口电路示意图

2)数据恢复

串行收发器的输入通过内嵌的时钟和数据恢复单元锁存,切断数据的下降沿和上升沿,并驱动一个频率和数据速率相同的时钟信号RXRECCLK。该时钟在FPGA内部表现为数据速率的1/20。只要时钟频率处于一定范围内,才能被收发器提取出来,各项条件如表10-7所列。

表10-7 时钟和数据恢复电路的参数范围

为了使CDR正常工作,在数据流里要有足够多的跳变发生。此外,还要保证CDR电路可以与8B/10B编码协同工作。在上电时,CDR大概需要5000次跳变才可以锁定到输入数据速率上。一旦完成了该锁定,那么在丢失对输入数据流的锁定之前,允许遗漏75个之多的跳变。如果用户对其串行数据流进行设计,那么必须注意满足8B/10B编码所需的跳变频率。CDR的另一个特征是它可以接收一个外部精确时钟(REFCLK)作为一个可选的输入,REFCLK要么是输入数据的时钟,要么是通过同步得到的RXRECCLK。更明确地讲,对于来自FPGA核且送往TX FIFO的数据,使用TXUSRCLK来作为它们的时钟。FIFO的深度决定了这两个时钟之间的微小相位差别,如果时钟在频率上得以锁定,那么FIFO就相当于一个直通的缓存。

2.PCB设计要求

为了保证Rocket I/O收发器的可靠操作,设计者必须注意满足的PCB设计要求,主要涉及电源过滤网络,高速差分信号路径和参考时钟等方面。如果不能满足下列要求,则Rocket I/O可能无法正常工作。

1)电源以及电源滤波电路

每个Rocket I/O收发器包括5个电源管脚,所有的管脚对噪声的影响都比较敏感。为保证电路可靠工作,Rocket I/O收发器需要和外围噪声源进行一定的隔离,需要进行专门的供电。为Rocket I/O收发器供电的电压调节器可以和收发器中其它有相同供电电压的管脚共用,但是不能和其他部分电路共用电源,每一个电源管脚必须有自己独立的LC滤波网络。表10-8中列出了其管脚名以及相应的电压。

表10-8 收发器的电源

为了确保Rocket I/O收发器正常工作,必须对周围的噪声源进行隔离。因此,对电源芯片有一定的要求,即需要用专用电压校准器来给Rocket I/O供电。这些电源电路不能被其他任何电源所共享(包括FPGA电源VCCINT,VCCO,VCCAUX和VREF),但电压校准器可以在有相同电压的收发电源之间共享。这里,所需的电压校准器型号为凌特公司(Linear Technology)的LT1963-2.5。在原理图设计时,必须按照数据手册上的说明来完成,如图10-22所示的2.5V电源的示意图,该电源可用于AVCCAUXRX和AVCCAUXTX。读者可以参考网站http://www.linear-tech.com以获得有关该设备的更多信息。

图10-22 Rocket电源电路示意图

为了达到所需的电源噪声隔离,需要在电源管脚处设置滤波网络。在图10-23中给出了这些电容器和铁氧体磁珠电路的结构。

图10-23 收发器的电源滤波电路示意图

每个收发电源管脚都需要一个电容器和一个铁氧体磁珠来构成滤波电路,其中电容为0.22 μF,在X7R绝缘材料的0603 SMT封装中,容许误差为10%,电压为5V,且必须放在距离管脚的1cm内。磁珠型号为Murata BLM18AG102SN1。

为验证已完成的PCB上的差分阻抗,不仅要利用时域反射(Time Domain Reflectometry,TDR)测量来进行,还要对PCB上的电源和地的线路进行设计,使其有最小的自感系数。为了达到这一目的,必须添加地线专用层。如果转接线路是电源分布线路的组成部分(当连接一个旁路电容到它相应电源和地层时,就会发生这一现象),那么就必须使用多个转接线路来降低电源分布线路上总的自感。如果电源滤波电容与FPGA在板子的同一侧,设计者可使电源层更靠近板子的表面,缩短电源线的路径长度。

2)高速布线设计

对于高速设计来讲,正确布线是一项非常艰巨的任务,因为要克服串扰、电磁辐射以及阻抗匹配以及等长线等诸多不利现象。下面对Rocket I/O的布线进行一定的说明。

(1)串行路径的布线

所有Rocket I/O收发器的I/Os都位于BGA封装的外围,这可方便布线和检查(因为在串行I/O管脚没有JTAG)。在Rocket I/O收发器里有两个可选的输出/输入阻抗,分别为50Ω和75Ω,因此可用受控的阻抗线路以及相应的阻抗,将Rocket I/O收发器连接到其他可匹配的收发器上。在芯片-芯片的PCB应用中,推荐使用50Ω的终端和100Ω的差分传输线。在布线一个差分对时,必须使互补的线路在走线上等长,否则长度的不匹配会导致普通模式的噪声和辐射,而严重的长度不匹配则导致接收端处的抖动和无法预测的时序问题。一般来讲,如果在50mils(1.27mm)内匹配了差分线路,是比较稳定的。由于FR4 PCB线路中的信号大概以每英寸180ps的速度传送,因此50mils的差别就会导致大约9ps的时序偏移。在具体板设计时,可以利用相应的CAD工具来验证上述的假设条件。

所有的信号线路在其之下都必须有一个完整的参考面,该面板可采用带状线或微波传输带结构。而参考面到线路任何一边的延伸距离不可以超过五倍线路宽度,以保证可以预测传输线的特性。差分对的布线要以点到点的最优方式来完成,并且最好在相同的PCB布线层上,这是由于转接线路会带来阻抗的不连续性。因此应当尽可能地避免层到层的变化,但可以横穿PCB的多层结构而直接到达发送

和接收封装的管脚。

如果串行线路必须换层,那么必须注意应当保证有一个完整的电流回环路径。因此,高速串行线路的布线必须在信号层上,而这些信号层共享一个参考面。如果信号层不共享一个参考面,那么必须在两个参考面板间跨接一个0.01 μF的电容,并且其靠近于信号换层处的转接线路。如果两个参考层都是DC耦合的,它们可以通过转接线路来连接,且该线路靠近信号换层的位置。

为了控制串扰,串行差分线路必须至少与其它PCB布线间隔五个线路宽度,这里的其它PCB布线包括了其它串行对。如果其它PCB布线承载噪声很大的信号,如TTL以及类似的布线,那么该间距就必须更大。利用两个高带宽的连接器,即可让Rocket I/O收发器在20英寸的FR4上实现3.125Gb/s的传输速率。如果线路更长,那么就需要一个低损耗的绝缘体或者是更宽的串行线路。

(2)差分信号的走线设计

Rocket I/O收发器的高速差分信号线,应尽量选用性能良好的微波传输线和带状线。由于传输的差分信号频率很高,两根差分信号线必须在长度上尽量匹配,长度失配会产生共模噪声和辐射,严重的失配会产生时钟抖动(Jitter)和不可预知的时序问题。差分线必须尽量匹配终端电阻50Ω和75Ω,可选50Ω用于芯片和芯片之间互连,75Ω用于芯片和电缆之间互连。高速差分线不要打孔,要布在电路板中的同一层。

Rocket I/O收发器需要100Ω或150Ω的差分线路阻抗(取决于是否选择了50Ω或75Ω终端的可选项)。但实际上差分线路对的特征阻抗不仅与每条线路的宽度有关,而且还与两者间的距离有关。为了实现这一差分阻抗要求,每个线路的特征阻抗必须稍稍高于目标差分阻抗的一半,通过电磁场仿真软件来确定适合于特定应用的准确线路结构,如图10-24所示。

图10-24 单端路径和几何结构示意图

Xilinx公司推荐差分线路采用紧密耦合,相对于宽松耦合它可使得两者在所有位置都与对方很靠近。由于紧密耦合线路的差分阻抗在很大程度上取决于它们和对方的靠近程度,因此它们的间距必须在所有位置都保持不变。如果要使布线通过一个管脚区域或其它PCB障碍,那么就必须分离线路。一个有效的办法是,在靠近障碍处修改线路结构,纠正阻抗的不连续性(在线路分离处,增加每个线路的宽度)。图10-25和图10-26给出了微带线和带状线差分信号的PCB几何结构的示意图,这两种几何结构具有100Ω的差分阻抗。