对于许多需要数据转换器的应用程序来说,目前的趋势是越来越接近一个完整的SDR(软件定义无线电)系统。虽然SDR体系结构在灵活性和SWaP-C(尺寸、重量、功率和成本)方面带来了许多好处,但它通常转化为更高的带宽能力,并根据Shannon-Nyquist定理直接与数据转换器采样速度挂钩。这使得FPGA(现场可编程门阵列)和数据转换器之间的接口变得复杂。事实上,与高速数据转换器生成的数据量相比,FPGA处理信息的速度非常有限。当然,这是通过大规模并行处理处理的。然而,由于数据的传输量越来越大,传输速度越来越快,传输和接收如此庞大的数据已经成为系统的瓶颈。本文介绍和比较了目前FPGA与数据转换器之间的两种高速接口方式:高速LVDS并行接口和高速串行接口。它考虑了从具有迹长和信号完整性的射频到具有成本和易于开发的系统级别的多个方面。首先介绍这两种类型的接口,比较它们并确定它们的优缺点。然后讨论了1.5Gbps高速并行接口的FPGA设计。 It focuses on a transmission from an FPGA to a DAC (Digital to Analog Converter) using the example of an Arria V FPGA from Altera interfacing with an EV12DS460A from e2v. Before concluding, it covers a high-speed serial interface FPGA design at 6Gbps using the ESIstream (Efficient Serial Interface) protocol. It focuses on a transmission from an ADC (Analog to Digital Converter) to an FPGA using the example of an EV12AD500A from e2v interfacing with a Virtex 7 from Xilinx.

高速数据转换器的使用正在急剧增加,因为越来越多的应用程序都希望将其作为一种解决方案来提高其系统的性能和能力。从通信(基于地面和卫星)到高能物理(加速器、同步加速器)应用,包括国防(电子战、雷达、雷达干扰)、工业(手机测试线、坦克容器监控)、测试和测量(示波器、频谱分析仪、质谱仪)和地球观测(合成孔径雷达)应用。每一个应用域都有其自身的约束和要求,其中就包括高速运行时接口的选择。与数据转换器接口的传统方式一直使用并行接口,因为它在PCB和固件设计方面是直接的——样本的每个位都有自己的路径。然而,在高速(超过1ghz)时,许多参数在较低的速度下可以忽略不计,开始限制接口的性能。因此,串行接口选项大约在10年前开始出现,现在在大多数应用程序中是首选的。本文旨在通过比较两种接口的优点和缺点来解释这两种接口是如何工作的,然后是两个示例,每个接口解决方案一个。

并行与串行接口的比较

一个并行接口被简单地定义为一个接口,它使用一定数量的通道来传输数据,加上一个通道来传输发射器(TX)和接收器(RX)之间的时钟,如图1.a所示;以及串行接口,作为使用一定数量的通道的接口,通过高速收发器在TX和RX之间传输编码数据,该收发器包括TX端的串行器和RX端的反序列化器,如图1.b所示。

图1:(a):并行接口的架构;(b):串行接口的模式

从这两种类型的接口的定义中可以注意到一些区别:

  • 串口没有发送时钟信号。事实上,它不是直接传输,而是通过CDR(时钟和数据恢复)系统在RX端恢复,这带来了本文后面提到的一些优点;
  • 对于串行接口,数据的编码/解码是必需的。应该注意的是,编码/解码可以在并行接口的情况下应用和使用,但不是必须的。而对于串行接口,不进行编码/解码将导致传输的误码率(Bit Error Rate)损失,这是由于本文后面将介绍的多种影响。

历史上,并行接口由于其简单和直接的实现方法,曾经是唯一可用的解决方案。随着每个数字时钟周期,一个位值在一个通道上传输。RX可以访问时钟信号,可以很容易地恢复数据。这在低数据速率下是正确的,但是当数据速率开始增加时,许多困难增加了开发这种接口的复杂性。为了满足日益增长的带宽需求,并行接口解决方案在每车道的数据速率方面很快受到限制,只能通过增加车道数量来增加带宽。今天,在大多数情况下,并行接口正在被串行接口所取代,因为这种接口允许达到的带宽能力。通过对主要FPGA制造商Xilinx和Altera/Intel上这两个接口所能达到的数据速率的简单比较,可以看出串行接口的好处。目前FPGA的并行接口限制在1.6Gbps;而高速串行收发器可以达到32Gbps甚至更高。

从数字方面来看,可以看到并行接口比串行接口要容易得多,串行接口需要编码/解码和收发阶段,即使今天的并行接口也提供了其中一些功能来提高性能。这为并行接口带来了巨大的延迟优势,这对于电子战等应用至关重要,因为在电子战中,几纳秒就可能成为被敌人雷达系统发现或隐形的区别。这些用于串行接口的阶段意味着它也需要来自FPGA的更多资源(LUT和FIFO或弹性缓冲区)。它通常足够小,不会成为问题,但当应用程序需要大量资源或高速数字设计时,可能会使FPGA内的计时关闭复杂化。

在射频方面考虑,串行接口高速,运行速度快,需要更多的照顾。根据香农-奈奎斯特定理,在Gbps包含频率高达.介质在从直流到不是平的。它可以被同化为低通阶,响应取决于以及所使用的传输介质。如果在高频处的整体衰减过高,接收级就会错误地看到比特。这与符号间干扰(ISI)效应有关。内置在收发器中的解决方案可以应对这种影响:强调和均衡,但在快速串行通道上仔细的PCB布局有助于解决这一问题。

考虑到时机,有几个因素需要考虑。首先,时序不确定性是并行接口速度的限制因素。当计时不确定性与RX输入处的数据周期减去元稳定区(设置和保持时间)相比足够小时,就可以配置一个并行接口——这与RX输入处的开眼有关。下面的式(1)显示了使用SDR(单数据速率)接口时的这种关系和使用DDR(双数据速率)接口时的式(2):

时钟周期;输入设置时间;输入保持时间;封装、PCB和位对位斜;时钟和数据抖动;PVT(过程-电压-温度)变化;数据的上升和下降时间时钟占空比失真。这引出了一些需要尊重的约束条件。首先,应尽量减少位对位的偏移;这可以通过匹配数据的PCB跟踪长度和/或为每个位通道单独添加受控延迟来实现。其次,需要控制时钟和RX输入数据之间的对齐,以避免数据到达元稳定区。这可以通过延迟时钟或数据比较来实现。对于高速并行接口来说,时间方面是主要的复杂性所在;它限制了可达到的最大速度。

另一方面,高速串行接口RX从数据流中恢复时钟——使用CDR。这意味着恢复的时钟与直到CDR阶段的数据具有相同的计时效果。因此,对数据和时钟的计时效应相互抵消,允许更快的速度。这是转换串行接口和CDR好处的一种简单方法;如需更详细的信息,可参阅多篇文章、论文和演示文稿,讨论CDR的好处、体系结构和功能。增加每个通道的数据速率可以在更少的通道中发送相同数量的数据,从而节省PCB空间,简化PCB布局。该协议还用于将数字上的多个串行通道对齐在一起,这意味着不需要为串行接口匹配跟踪长度。

最后,在系统级,高速收发器是更昂贵的资源。即使它们的广泛采用降低了价格,以低成本为目标的系统也更倾向于使用并行接口或慢串行接口。

作为本节的总结,由于串行接口在带宽能力方面带来的好处,目前串行接口是大多数应用程序的首选接口,但并行接口仍然是必要的,并用于延迟受限的应用程序。低成本或低速度的应用程序可以考虑两种解决方案,这取决于不同的因素,如开发时间、重用已开发的子系统和其他应用程序需求。

FPGA和DAC的并行接口示例

答:系统概述

这个并行接口的示例基于评估板或EV12DS460A。它由EV12DS460A,一个12位,6GSps DAC[1]和Altera/Intel[2]的Arria V组成。下面的图2显示了该系统的框图。

图2:FPGA-DAC接口框图

在本例中,FPGA对应TX, DAC是RX。蓝色路径对应FPGA到DAC转换核心的数据路径。绿色的路径是时钟网络。红色的部分是控制和设置。由于DAC在6GSps的高采样速度,4个1.5Gbps的输入端口(图2中的端口A到D)用于与FPGA连接,一个内部mux (mux 4:1)在6GSps向转换核心提供数据。

为了防止DAC输入的元稳定性问题,采用了检测/校正环路的解决方案。首先,快时钟被提供给DAC (CLK),然后在内部除以4给DAC (DIV /4),并通过PSS设置控制的数字控制延迟(τ)。数字控制延迟(DSP)的输出被传输到FPGA时钟系统(PLL), PLL生成用于从FPGA输出数据的时钟。在DAC的输入端,检测系统不断地检查是否存在通过TVF位指示到FPGA的元稳定性问题。在这种检测之后,FPGA CONTROL重置PSS位以改变DAC输入数据和恢复它们的时钟之间的延迟。该方法用于识别元稳定的位置,并帮助设置接口。