现场可编程门阵列(FPGA)与模数转换器(ADC)输出的接口是一项常见的工程规划应战。本文扼要介绍各种接口协议和规范,并供给有关在高速数据转换器完结计划中运用LVDS的运用窍门和技巧。
接口方法和规范
现场可编程门阵列(FPGA)与模数转换器(ADC)数字数据输出的接口是一项常见的工程规划应战。此外,ADC运用多种多样的数字数据款式和规范,使这项应战愈加杂乱。关于一般在200 MHz以下的低速数据接口,单倍数据速率(SDR) CMOS十分遍及:发送器在一个时钟沿传送数据,接纳器在另一个时钟沿接纳数据。这种方法可保证数据有足够的时刻完结树立,然后由接纳器采样。在双倍数据速率(DDR) CMOS中,发送器在每一个时钟沿都会传送数据。因而,在相同的时刻内,它传输的数据量是SDR的两倍。但是,接纳器正确采样的时序愈加杂乱。
并行低压差分信号(LVDS)是高速数据转换器的常见规范。它选用差分信号,每一位均有P线和N线;在最新的FPGA中,其速度可达DDR 1.6 Gbps或800 MHz。并行LVDS的功耗低于CMOS,但所需的线数则是CMOS的两倍,因而布线或许比较困难。LVDS常常用在具有“源同步”时钟体系的数据转换器中,不过这并不是LVDS规范的一部分。在这种设置中,时钟与数据同相,而且与数据一同发送。这样,接纳器就能运用该时钟更轻松地捕捉数据,由于它现在知道数据传输何时产生。
FPGA逻辑的速度一般跟不上高速转换器的总线速度,因而大多数FPGA具有串行器/解串器(SERDES)模块,用以将转换器端的快速、窄带串行接口转换为FPGA端的慢速、宽带并行接口。针对总线中的每个数据位,此模块输出2、4或8位,但以1/2、1/4或1/8的时钟速率输出,然后有用地将数据解串。数据由FPGA内部的宽总线处理,其速度远低于衔接到转换器的窄总线。
LVDS信号规范也用于串行链路,大部分是用在高速ADC上。当引脚数量比接口速度更重要时,一般运用串行LVDS。常常运用两个时钟:数据速率时钟和帧时钟。并行LVDS部分说到的一切考虑相同适用于串行LVDS。并行LVDS不过是由多条串行LVDS线组成。
I2C运用两条线:时钟和数据。它支撑总线上的很多器材,而无需额定的引脚。I2C相对较慢,考虑协议开支,速度为400 kHz至1 MHz。它一般用在慢速、小尺度器材上。I2C也常常用作操控接口或数据接口。
SPI运用3到4条线:
● 时钟
● 数据输入和数据输出(4线),或许双向数据输入/数据输出(3线)
● 片选(每个非主机器材运用一条线)
可用片选线有多少,SPI就能支撑多少器材。它的速度可达约100 MHz,一般用作操控接口和数据接口。
串行PORT (SPORT)是一种根据CMOS的双向接口,每个方向运用一个或两个数据引脚。关于非%8分辨率,其可调字长能够进步功率。SPORT支撑时域复用(TDM),一般用在音频/媒体转换器和高通道数转换器上。它供给每引脚约100 MHz的功能。Blackn处理器支撑SPORT,FPGA上可直接完结SPORT。SPORT一般仅用于数据传输,但也能够刺进操控字符。
JESD204是一种JEDEC规范,用于单一主机(如FPGA或ASIC等)与一个或多个数据转换器之间的高速串行链路。最新规范供给每通道或每差分对最高3.125 Gbps的速度。未来的版别或许供给6.25 Gbps及更高的速度。通道选用8B/10B编码,因而通道的有用带宽降为理论值的80%。时钟嵌入在数据流中,因而没有额定的时钟信号。多个通道能够结合在一同以进步吞吐量,数据链路层协议保证数据完整性。在FPGA/ASIC中,为完结数据帧传输,JESD204需求的资源远远多于简略的LVDS或CMOS。它显着下降了接线要求,不过要求运用更贵重的FPGA,PCB布线也愈加杂乱。
图1. FPGA接口中的SERDES模块和转换器的高速串行接口
一般主张
进行ADC与FPGA的接口规划时,下列一般主张会有所协助。
● 运用接纳器、FPGA或AS%&&&&&%的外部电阻终端,而不要运用FPGA内部终端,避免不匹配引起反射● 致使超出时序预算。
● 假如体系运用多个ADC,请勿运用某个ADC的某个DCO。
● 布设衔接到接纳器的数字走线时,请勿选用很多“转接”(tromboning)来使一切走线坚持等长。
● 运用CMOS输出端的串联终端下降边缘速率并约束开关噪声。承认所用的数据格式(二进制补码或偏移二进制)正确。
选用单端CMOS数字信号时,逻辑电平以大约1 V/nS的速度移动,典型输出负载为10 pF(最大值),典型充电电流为10 mA/位。应选竭尽或许小的容性负载,使充电电流最小。这能够使竭尽或许短的走线仅驱动一个门来完结,最好没有任何过孔。在数字输出端和输入端运用阻尼电阻,也能够使充电电流最小。
阻尼电阻和容性负载的时刻常数应为采样速率周期的大约10%。假如时钟速率为100 MHz,负载为10 pF,则该时刻常数应为10 nS的10%,即1 nS。这种状况下,R应为100 Ω。为取得最佳信噪比(SNR)功能,1.8 V DRVDD优于3.3 VDRVDD。但是,当驱动大容性负载时,SNR功能会下降。CMOS输出支撑最高约200 MHz的采样时钟速率。假如驱动两个输出负载,或许走线长度大于1或2英寸,主张运用缓冲器。
图2. 典型CMOS数字输出驱动器
ADC数字输出应当心对待,由于瞬态电流或许会耦合回模仿输入端,导致ADC的噪声和失真进步。
图2所示的典型CMOS驱动器能够产生很大的瞬态电流,尤其是驱动容性负载时。关于CMOS数据输出ADC,有必要采纳特别办法以使这些电流最小,不致于在ADC中产生额定的噪声和失真。
典型示例
图3显现了一个16位并行CMOS输出ADC的状况。每路输出有一个10pF负载,用以模仿一个门负载加上PCB寄生%&&&&&%;当驱动10 pF负载时,各驱动器产生10 mA的充电电流。因而,该16位ADC的总瞬态电流或许高达16 × 10 mA = 160 mA。在各数据输出端添加一个小串联电阻R,能够按捺这些瞬态电流。应适当挑选该电阻的值,使RC时刻常数小于总采样周期的10%。假如fs = 100 MSPS,则RC应小于1 ns。C = 10 pF,因而最佳的R值约为100 Ω。挑选更大的R值或许会下降输出数据树立时刻功能,并搅扰正常的数据捕捉。CMOS ADC输出端的容性负载应以单个门负载为限,一般是一个外部数据捕捉寄存器。任何状况下都不得将数据输出端直接连到高噪声数据总线,有必要运用一个中心缓冲寄存器,使ADC输出端的直接负载最小。
图3. 运用串联电阻使CMOS数字输出的充电电流最小
图4. 典型LVDS驱动器规划
图4显现了CMOS中的一个规范LVDS驱动器。标称电流为3.5 mA,共模电压为1.2 V。因而,当驱动一个100 Ω差分终端电阻时,接纳器各输入的摆幅为350 mV p-p,这相当于700 mV p-p的差分摆幅。这些数值来源于LVDS规范。
图5. ANSI和IEEE LVDS规范
LVDS规范有两个:一个由ANSI拟定,另一个由IEEE拟定。尽管这两个规范相似且大致兼容,但并不完全相同。图5比较了这两个规范的眼图和颤动直方图。IEEE规范LVDS的摆幅为200 mV p-p,低于ANSI规范的320 mV p-p,这有助于节约数字输出的功耗。因而,假如IEEE规范支撑方针运用及与接纳器的衔接,主张运用IEEE规范。
图6. ANSI和IEEE LVDS规范:走线超越12英寸
图6比较了走线长度超越12英寸或30厘米状况下的ANSI和IEEE LVDS规范。两幅图中,驱动电流均选用ANSI版规范。右图中,输出电流加倍,这能够净化眼图并改进颤动直方图。
图7. FR4通道损耗的影响
图7显现了长走线对FR4资料的影响。左图显现了发送器端的抱负眼图。在间隔40英寸的接纳器端,眼图简直闭合,接纳器难以康复数据。
毛病扫除技巧
ADC丢掉第14位
图8中,数据位的VisualAnalog数字显现标明,第14位从未跳变。这或许阐明器材、PCB或接纳器有问题,或许无符号数据不够大,无法使最高有用位跳变。
图8. AD9268 ADC丢掉第14位
ADC丢掉第14位时的频域曲线
图9. AD9268 ADC丢掉第14位时的频域曲线
图9显现了上述数字数据(其间第14位未跳变)的频域视图。该图阐明,第14位有意义,体系中的某个当地产生过错。
ADC丢掉第14位时的时域曲线
图10. AD9268 ADC丢掉第14位时的时域曲线
图10为相同数据的时域曲线。它不是一个滑润的正弦波,数据产生偏移,波形中多个点处有显着的尖峰。
ADC的第9位和第10位短接在一同
图11. AD9268 ADC的第9位和第10位短接在一同
图11所示不再是丢掉一位的状况,而是两位短接在一同,因而关于这两个引脚,接纳器一直接纳到相同的数据。
ADC第9位和第10位短接在一同时的频域曲线
图12. AD9268 ADC的第9位和第10位短接在一同时的频域曲线
图12显现了两位短接在一同时的频域视图。尽管基频音十分清楚,但噪底显着低于预期。噪底失真的程度取决于短接哪两位。
ADC第9位和第10位短接在一同时的时域曲线
图13. AD9268 ADC的第9位和第10位短接在一同时的时域曲线
在图13所示的时域图中,问题相对不显着。尽管在波峰和波谷处丢掉了一些滑润度,但当采样速率挨近波形频率时,这是常见现象。
数据和时钟时序无效时的时域曲线
图14. AD9268数据和时钟时序无效时的时域曲线
图14显现了一个因树立/坚持问题而导致时序无效的转换器的状况。上述过错一般会在数据的每个周期中呈现,而时序过错则否则,一般并不是继续存在。不太严峻的时序过错或许是间歇性的。这些图显现了不符合时序要求的数据捕捉的时域和频域曲线。留意,各周期的时域过错并不共同。还应留意FFT/频域的噪底有所进步,这一般表明有一位丢掉,原因或许是时序对齐过错。
数据和时钟时序无效时的扩大时域曲线
图15. AD9268数据和时钟时序无效时的扩大时域曲线
图15是图14所示时域时序差错的扩大图。相同应留意,各周期的过错并不共同,但某些过错会重复。例如,该图中有多个周期的谷底上呈现负尖峰。