logo资料库

FPGA高速串行收发器_GTP_GTX.doc

第1页 / 共47页
第2页 / 共47页
第3页 / 共47页
第4页 / 共47页
第5页 / 共47页
第6页 / 共47页
第7页 / 共47页
第8页 / 共47页
资料共47页,剩余部分请下载后查看
第 1 节 高速数据连接功能简介 10.1.1 高速数据传输的背景 由于现代通信以及各类多媒体技术对带宽的需求迅猛增长,促使一系列基于差分、源同步、时钟数据 恢复(clock and data recovery,CDR)等先进技术的互连方式应运而生。在传统设计中,单端互连 方式易受干扰、噪声的影响,传输速率最高只能达到 200~250Mbps/Line;在更高速率的接口设计 中,多采用包含有源同步时钟的差分串行传输方式(如 LVDS、LVPECL 等),但在传输过程中时钟与 数据分别发送,传输过程中各信号瞬时抖动不一致,破坏了接收数据与时钟之间的定时关系,因而传 输速率很难超越 1Gbps/通道。因此迫切需要新的高速数据传输技术。 在目前系统级互连速率已达到 Gbps 的设计中,先进的高速串行技术迅速取代传统的并行技术,成为 业界的主流。高速串行技术不仅能够带来更高的性能、更低的成本和更简化的设计,克服了并行的速 度瓶颈,还节省了 I/O 资源,使印制板的布线更简单。因此,被越来越广泛地应用于各种系统设计中, 包括 PC、消费电子、海量存储器、服务器、通信网络、工业计算和控制、测试设备等。高速串行传 输一般采用差分线,迄今业界已经发展出了多种串行系统接口标准,例如千兆以太网、万兆以太网、 PCI-Express、串行 RapidIO、串行 ATA 等。 10.1.2 Xilinx 公司高速连接功能的解决方案 基于高速的需求和传统技术的弊端,Xilinx 公司在 Virtex 2 Pro 以及更高系列的部分 FPGA 内部集成了 能实现高速数据收发 Rocket I/O 模块,采用了 CML(CurrentMode Logic)、CDR、线路编码(8B/ 10B)和预加重等技术的 Rocket I/O 硬核模块,可极大地减小时钟扭曲、信号衰减和线路噪声对接收 性能的影响,从而使传输速率进一步提高,最高可达 10Gbps 以上,可用于实现吉比特以太网、 PCI-Express 等常用接口。 除了底层的物理层技术,Xilinx 还提供带 32 bit LocalLink 用户接口的 Aurora 协议引擎参考设计。Aurora 协议是为私有上层协议或标准上层协议提供透明接口的串行互连协议,它允许任何数据分组通过 Aurora 协议封装,并在芯片间电路板间甚至机箱间传输。Aurora 链路层协议在物理层采用千兆位串 行技术,每物理通道的传输波特率可从 622Mbps 扩展到 3.125 Gbps。Aurora 还可将 1 至 16 个物理 通道绑定在一起,形成一个 16 个通道绑定而成的虚拟链路,可提供 50Gbps 的传输波特率和最大 40Gbps 的全双工数据传输速率。Aurora 可支持广泛的应用范围,如:路由器和交换机、远程接入交 换机、HDTV 广播系统、分布式服务器和存储子系统。在协议中,每个高速串行链接被称为“弄”。 协议引擎通过与高速收发器配合,可创建带 LocalLink 用户接口逻辑的串并、并串收发器。通过这一 串行接口方案,用户无须自己设计有关串行接口所涉及的编解码、同步、速率匹配等问题。用户接口 部分包含了所有必要的信号,如协议引擎的状态信号等。 Xilinx 通过高品质的技术支持材料来支持其先进的芯片产品,这些材料包括广泛的知识产权核、参考 设计、模拟电路模块、信号完整性(SI)设计套件、数字仿真的质量行为模型等。此外,Xilinx 还提 供了众多设计服务、开发平台以及最佳的 FPGA 实现工具,可确保用户的所有设计需求都能获得最佳 产品和技术支持。
第 2 节 实现吉比特高速串行 I/O 的相关技术 10.2.1 吉比特高速串行 I/O 的特点和应用 吉比特收发器(MGT)是吉比特级串行器/解串器(SERDES)的别名。 1.优点 1)速度高。高速串行 I/O 的线速可超过吉比特,甚至数十吉位。而并行传输线速不可能超越吉比特。 吉比特串行 I/O 的主要优势是速度。在从片内/片外、板内/板外或盒内/盒外获取数据时,没有任何技 术可以超越高速串行链路。高速串行链路的线速范围为 1Gb/s~ 12Gb/s,有效负载范围为 0.8Gb~10Gb。 2)节省管脚数。将大量数据传入/出芯片或电路板时所遇到的第一个问题是引脚数,电路板设计时间 和成本会随着管脚数的增加而急剧增加。在大数据量应用下,串行 I/O 可节省大量的管脚(在低速以 及小数据量应用中,MGT 比传统并行模式需要更多的电源和接地引脚)。 3)简化同步转换输出。采用单端并行总线时,设计者应考虑同步转换输出(SSO,即大量寄存器的 值在某一时刻同时翻转,会对电源和地平面产生一定的影响,甚至影响到器件内部时钟和逻辑的正常 工作)。如果出现太多的同步转换,触地反弹会产生大量噪声。设计者还可以在所有 I/O 上都使用差 分信号处理技术,以此来消除 SSO 问题,但是这样做就会使引脚数翻倍。如果数据流需求比较适中, 设计者可以使用具有适当引脚数的并行接口。 4)EMI 指标优。经验表明:时钟越快,放射测试就越难进行,因此,吉比特设计的 EMI 测试看起来 是不可能实现的。但是,通常高速串行链路的辐射量比以较低速度工作的大型总线低。这是因为运行 时的吉比特链路需要出色的信号完整性,正如经典论断“辐射问题实际上就是信号完整性问题”所言, 因此吉比特串行 IO 具有更好的 EMI 指标。 5)成本低。采用 MGT 通常会降低系统总成本。连接器采用较小、较经济的封装时,引脚数较少,电 路板设计也更简单。 6)预设协议。采用 MGT 的另一个好处是可以使用预先定义好的协议和接口标准。如 Xilinx 提供了从 Aurora 到 XAUI 的多种协议,满足不同的用户需求。 2.缺点 吉比特高速串行 I/O 的最大缺点在于对信号完整性的严格要求。而且,阻抗控制的 PC(印刷电路) 板、高速连接器和电缆的费用较高。因此,必须处理数字仿真中的复杂性和时基较小的问题。并且, 在利用预设协议的时候,必须为集成过程计划时间,以及为协议的开销安排额外的逻辑电路或 CPU 时钟周期。
3.应用范围 起初,吉比特级串行器/解串器(SERDES)仅局限于用在电信行业和少数缝隙市场(如广播视频)。 如今,MGT 应用出现在电子行业的各个角落——军事、医疗、网络、视频、通信等等。MGT 也可以 用于背板或机箱之间的 PCB 上。对于电子行业的发展前景而言,MGT 至关重要。下面是采用吉比特 级 SERDES 的行业标准示例。  光纤通道(FC)  PCI Express  RapidIO 串行  先进的交换互连(Advanced Switching Interface)  串行 ATA  1Gb 以太网  10Gb 以太网(XAUI)  Infiniband 1X、4X、12X 吉比特级通信似乎强加了一些苛刻限制。串行设计者必须考虑信号完整性、较小的时基以及可能出现 的对额外门电路和 CPU 周期的需求。但是,在盒间以及芯片间通信中采用吉比特级技术的优势远远 超过了那些可以察觉到的缺点。例如:高速、引脚数少、低 EMI 和低成本等,这些都使它成为了众多 高速设计的理想之选,并保证了其在未来通信系统中得到广泛的使用。 10.2.2 吉比特串行 I/O 系统的组成 吉比特串行传输是一种通用的传输标准,虽然不同 FPGA 厂家的模块和组件名不同,但其关键技术都 具备下列共同点。 1.系统整体结构 吉比特串行传输的系统整体结构如图 10-1 所示。下面对其中的主要模块进行简要介绍。 图 10-1 吉比特高速串行 I/O 的系统结构示意图 串行器:将速率为 y 的 n 位宽并行数据转变成速率为 n*y 的串行数据。 解串器:将速率为 n*y 的串行数据转变成速率为 y 的 n 位宽并行数据。 Rx(接收)对齐:将接收的数据对齐到合适的字边界。可以使用不同的方法,从自动检测和对齐特殊
的预留比特序列(通常也称作 comma 字符),到用户控制的比特调整。 时钟管理器:管理各种时钟操作,包括时钟倍频,时钟分频,时钟恢复。 发送 FIFO(先进先出):在输入数据发送之前,暂时保存数据。 接收 FIFO:在接收数据被提取之前,暂时保存数据。在需要时钟修正的系统中,接收 FIFO 是必须的。 接收线路接口:模拟接收电路,包括差分接收器,还可能包括有源或者无源均衡电路。 发送线路接口:模拟发送电路,可以支持多种驱动负荷。通常还带有转换的预加重部分。 线路编码器:将数据编码成适应不同线路的格式。编码器通常会消除长的无转变位的序列,同时还可 以平衡数据中 0、1 的出现次数。需要注意的是,线路编码器是一个可选模块,某些 SERDES 可能没 有。 线路译码器:将线路上的编码数据分解成原始数据。(这是一个可选模块,编码可能在 SERDES 外完 成)。 时钟修正和通道绑定:修正发送时钟和接收时钟之间的偏差,同时也可实现多通道间的歪斜修正。(通 道绑定是可选的,并不一定包含在 SERDES 中)。 其他可能包括的功能模块有:循环冗余检测(CRC)码生成器、CRC 检测器、多种编码 和解码(4b/5b、8b/10b、64b/66b)、可调的扰码器、各种对齐和菊花链选项、可配置的时钟前端 和后端以及不同等级的自环。 2.参考时钟的要求 1)时钟精度 吉比特级收发器的输入时钟、或是参考时钟的规格定义是非常严格的。其中包含非常严格的频率要求, 通常用每百万次容许频率错误的单位 PPM 来定义。抖动要求也是十分严格的,通常用时间(皮秒) 或者时间间隔(UI)定义。下面给出这些相关定义。  PPM:百万分之一;用来描述非常小的比率。  UI:时间间隔;等价于一个符号的时间长度,例如:0.2UI = 20%的符号时间。  抖动:理想传输位置的偏差。 如此严格的规定才使得 PLL 和时钟提取电路能够正常工作。通常系统的每一个印刷电路板都需要有一 个精确石英晶体振荡器供 MGT 使用。这些晶体振荡器的精确度比大多数用在数字系统中的晶体振荡 器要高一个级别,而且价格也要高出一截。很多情况下,一般的时钟 发生芯片和 PLL 因为带有很大的抖动,而不能用于 MGT。 2)时钟修正策略 传输时钟有非常严格的抖动要求,所以吉比特 SERDES 通常不能将恢复时钟作为传输时钟。每一个 PCB 集合都有唯一的振荡器和唯一的频率。如果两个 1GHz 的振荡器仅仅有 1PPM 的频差,同时我们 提供 1/20 的参考时钟,则数据流的时钟每秒钟可能会增加或者缺失 20,000 个周期。因此,在 8b/10b 编码的系统中,每秒将会额外增加或者损失 2 万个符号。
大多数的 SERDES 都有时钟修正选项。时钟修正需要使用唯一的符号或者符号序列,它们在数据流中 是不会出现的。因为时钟修正是对齐的后续处理,所以可以比较容易地通过保留一个 K 字符、或者一 组有序的 K 字符、或者一个时钟修正数据序列来实现。时钟修正进行的频数必须足够多,从而可以通 过丢弃或者重复来补偿时钟的差异。当然,有些系统并不需要时钟修正。例如,相同的参考时钟和相 同的速率意味着不需要进行时钟修正。同样,如果所有接收电路的时钟都来自恢复时钟,那么时钟修 正也是不需要的。如果 FIFO 的写入速率和读出速率相等,也没有必要进行时钟修正。如果所有的传 输参考时钟都是通过一个外部的 PLL 锁定在一个公共的参考频率上,那么也不需要时钟修正。 3 线路编码机制 线路编码机制将输入的原始数据转变成接收器可以接收的格式。同时,线路编码机制还必须保证有足 够的切换提供给时钟恢复电路。编码器还提供一种将数据对齐到字的方法,同时线路可以保持良好的 直流平衡。线路编码机制也可选择用来实现时钟修正、块同步、通道绑定和将带宽划分到子通道。线 路编码机制主要有两种:数值查找机制和自修改数据流或扰码器机制。目前常用的有:8B/10B 编码、 4B/5B 编码以及扰码。 1)8b/10b 编码 8b/10b 编码机制是由 IBM 开发的,已经被广泛采用。8b/10b 编码机制是 Infiniband,吉比特以太网, FiberChannel 以及 XAUI 10G 以太网接口采用的编码机制。它是一种数值查找类型的编码机制,可将 8 位的字转化为 10 位符号。这些符号可以保证有足够的跳变用于时钟恢复。8b/10b 编码具有良好的 直流平衡特性,通过“运行不一致性”的方法来实现,即只使用有相同个数 0 和 1 的符号,但这会限制 符号的数量。同时,8b/10b 中的 comma 字符(用于表示对齐序列的一个或两个符号)可辅助数据对 齐。 8b/10b 机制能带来字对齐、时钟修正机制、通道绑定机制和子通道生成等功能,其唯一的缺陷是开 销。为了获得 2.5Gbit 的带宽,它需要 3.125Gb/s 的线路速率。从减小开销的角度讲,下面所讲述的 扰码技术可以很容易地解决时钟发送和直流偏置问题,并且不需要额外的带宽。 2)4b/5b 编码 4b/5b 和 8b/10b 是类似的,但是要简单些,将 4 个比特编码成 5 个比特。4b/5b 的控制字符要少一 些,但不能处理直流平衡和不一致性问题。由于编码开销相同但是功能却比较少,4b/5b 编码机制并 不经常使用。它的最大优势是设计的尺寸,不过随着逻辑门价格的降低这个优势也不再明显。目前, 4b/5b 仍用在各种低速标准中,包括低速率版本的光纤通路、音频标准 AES-10 以及多通道数字音频 复接标准 MADI 接口中。 3)扰码 扰码是一种将数据重新排列或者进行编码以使其随机化的方法,但要求必须能够通过解扰恢复。加扰 的目的就是打乱长的连 0 和长的连 1 序列,将数据随机化。一般将那些在解扰时不需要额外对齐信息 的扰码称作自同步码。扰码发生器通常由移位寄存器组成,所占用的硬件资源很少。
扰码器消除了长连 0 和长连 1 序列以及其它会对接收器接收能力有负面影响的序列,但并不能取代 8b/10b 编码。在实际中,由于存在不允许的数值,所以需要设计数据流中不能出现连 0 或连 1 的长 度。长的连 0、连 1 会被扰码器打乱,并在解扰时进行恢复。接收数据流的解扰逻辑在数据流中搜寻 这些符号并对齐数据。 4.接收和发送缓冲器 接收和发送缓冲器,是吉比特级收发器的主要数字接口,通常是高速 FIFO。发送端通常有一个小型 的 FIFO,它要求读取和写入的时钟是等时同步的(频率匹配但相位不一定匹配)。如果接收和发送 的选通信号不是工作在精确相同的频率,则通常需要使用一个较大的 FIFO,并持续检测 FIFO 的当前 状态。如果 FIFO 被不断地填充,将最终导致溢出。在这种情况下,必须在输入数据流中检测 idle 符 号。如果检测到 idle 符号,则不把 idle 符号写入 FIFO;反过来,如果 FIFO 运行较慢则在输出数据流 会出现 idle 符号,数据被传送给用户。此时写指针保持不动,不断重复 idle 符号。相对于发送缓冲器 而言,MGT 内建的接收 FIFO 通常需要有更深层次的考虑。它的主要目的是为了实现时钟修正和通道 绑定。 5.线路均衡 线路均衡主要用于补偿由频率不同而引起的阻抗/衰减差异。均衡器有很多种形式,但总体上可以分 为有源和无源两种。均衡器通常包含在 SERDES 的模拟前端,或者作为系统的一个独立部分。 1)均衡技术简介 无源均衡器是无源电路,其频率响应可以补偿传输衰减。它也可以看作一个滤波器,将传输线所使用 的各个频率通过,而将传输线没有使用的其他频率滤除,那么整体的频率响应就会变得平坦许多。有 源均衡器可以认为是依赖频率的放大器/衰减器。 有源均衡器主要有两种:固定形式有源均衡器和自适应有源均衡器。对于任意的输入数据流,固定形 式有源均衡器的频率响应都是一样的。固定形式均衡器比较适合于不变系统中,例如:芯片到芯片, 平衡化的背板系统以及固定长度电缆的系统;自适应均衡器要复杂的多,自适应均衡器需要分析输入 信号并检测哪些频率在传输通道中被削弱。在该均衡器中,测量和调节是以闭环形式实现的。自适应 均衡器的频率响应取决于输入的比特流,它通常和特殊形式的线路编码机制协同工作。自适应均衡器 对于可变通道的链路来说是最合适的,可变通道可以是可变的电缆长度,或是显著的位置依赖的背板 系统。 2)预加重/取加重技术 预加重是一种非常普遍的均衡技术。在发送端,通过增加一串相同符号中首位符号的输出级,降低随 后符号的输出级,来预先抬高输出信号频谱中的高频分量,补偿传输通道的低通滤波效应。这样,在 接收端就可以得到相对均衡的眼图,使接收器能够准确地接收和恢复信号。这种技术对于高数据速率 的设计而言,简单而有效。发送预加重技术主要是通过采用 FIR 多抽头的有限冲激响应均衡滤波器来 实现的。输入到滤波器中的是当前、过去和将来要发送的数据位。滤波的系数取决于通道特性,最佳
的滤波长度取决于影响当前正在发送数据的比特数量。在具体实现中,一般采用二抽头 FIR,进行双 电流控制。在电路转换时,为了克服传输通道的滤波效应,发送器分发额外的动态电流。在转换后, 则提供一个更低的驱动电流。不同的通道损耗补偿需要不同程度的信号预加重;因此,在发送器设计 中,预加重功能一般是编程可控的。为了和发送端预加重相匹配,则在接收端必须有去加重。 6.数据包的概念 通过吉比特串行链路传输的数据大都是嵌入在某种类型的数据包中的。包是一种确切定义的字节集 合,包括头部、数据和尾部。如果系统通过包来完成时钟修正,发送特殊的比特序列或者 comma 字 符。时钟修正序列常常是比较理想的字符,comma 字符是指示帧的开始和结束的天然标识。在数据 中加入有序集合用于指示包的开始、结束以及包的特殊类型之后,就构成了简单而高速的传输通道。 其中,空闲符号(Idle)或序列是包的概念的另一要点。如果没有信息需要发送,则发送 idle 符号, 从而保证数据的连续传输并使其保持对齐, 10.2.3 吉比特串行 I/O 的设计要点 解决工程问题的关键在于充分的理解。在设计吉比特级收发器时,面临的挑战包括:理解收发器协议、 信号完整性、阻抗和功率要求、屏蔽性要求、印刷电路板(PCB)设计要求以及连接器和电缆的选择 要求。 1.电源 电源传送也是使用吉比特级收发器时需要考虑的重要因素。多数的 MGT 都需要多个电源供电。典型 的电源包括:RX 模拟电源、TX 模拟电源、模拟地、RX 终端电压、TX 终端电压、数字电源以及数字 地。所有的模拟发送和接收电源以及相关的模拟地必须是极其干净的,这一点是十分重要的。所以, MGT 制造商通常都会使用特定电路。因此至少要求每个电压值都有各自的模拟电压校准器(如果不 是每个 MGT 都有各自独立的校准器),并且要求使用无源的电源滤波器(由一个电容和一个铁氧体 磁珠组成)。典型的电源滤波电路如图 10-2 所示。 图 10-2 MGT 电源滤波电路 某些 MGT 将电容包含在封装的内部,此时通常只需要铁氧体磁珠。如果制造商建议使用特定电路, 则通常最好遵从其建议。原因之一是,在公共部分配置了多个 MGT 的情况下,通常只需要一个单独 的线性调整器即可。滤波器电路可以防止电源噪声进入 MGT,同时它还可以防止来自某个 MGT 的噪
声滤进其它 MGT。此滤波器既是输入滤波器也是输出滤波器。有时制造商会基于自己所需的输出滤 波性能,在输入滤波器和输出滤波器性能间做出折衷。 2.匹配电阻 实现信号完整性的第一步就是在差分传输线上传送这些信号。根据通常的定义,传输线都有一定的固 定阻抗。实际上,阻抗值并不是恒定的,而是变化的。这个问题在下面的几种情况下尤其突出:信号 由一层转移到另一层时,信号遇到元件的焊盘时,或信号通过连接器或电缆时。当运行在吉比特级速 率范围内,些许的阻抗增加都会是潜在的问题。吉比特级链路需要使用阻抗无限制通道,否则其无法 工作。 我们需要对传输通道进行模拟,并在布线之前使用 CAD 的信号完整性工具来最终确定连接器和电缆。 我们在获取初始原型时,需要用时域反射测量法(TDR)来检验通道的阻抗。100 欧姆和 50 欧姆的 传输线是最常用的传输线。部分收发器可以适配两种传输线,而部分收发器可能只能支持其中的一种。 对于 10Gb/s 范围的应用,50 欧姆显然是最通常的选择。如果收发器同时支持 100 欧姆和 50 欧姆, 那么连接器和电缆的选择问题应当慎重考虑。 3.印制电路板的设计 对于优秀的 PCB 设计者来说,设计用于吉比特级操作的 PCB 也会是一个挑战。设计者需要注意:差 分线路必须匹配,阻抗受限的差分线路的几何形状必须随着层数的增加而相应变化,电源分配也必须 严格分析。因为可能存在成千上万的独立的设计折衷和决定,所以全面列出所面临的问题可能会有所 帮助。主要包括如下的几个方面:  材料选择  叠层结构/板厚度  电源层和地层  差分线路对  差分线路的宽度和间隔  过孔  线路对之间的间隔  电源布局 在实际设计中,必须参考不同 FPGA 厂家对 PCB 设计的详细说明文档,否则系统很可能不能正常工作。 4.数字设计部分 吉比特级链路的模拟仿真需求让我们进入了一个崭新的 EDA 工具世界,而其数字部分的影响则要小 得多。尽管如此,数字仿真时还是有几个事项需要考虑的。 1)MGT 行为模型都是以特殊的加密形式出现的。这些模型都是复杂的内核,而且都是非常有价值的 知识产权(intellectual property,IP)核。所以,厂商为了保护他们的知识产权,通常只会以 IP-safe
分享到:
收藏