0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA与ADC数字数据输出的接口

星星科技指导员 来源:ADI 作者:ADI 2022-12-21 10:57 次阅读

将现场可编程门阵列 (FPGA) 连接到模数转换器ADC) 输出是一项常见的工程挑战。本文概述了各种接口协议和标准,以及在高速数据转换器实现中使用低压差分信号(LVDS)的应用技巧和技术。

界面样式和标准

将FPGA连接到ADC数字数据输出是一个常见的工程挑战。由于ADC使用各种数字数据样式和标准,因此任务变得复杂。单数据速率(SDR)CMOS对于低速数据接口非常常见,通常低于200 MHz。在这种情况下,数据由发射器在时钟的一个边沿转换,并由另一个时钟边沿的接收器接收。这可确保数据在被接收器采样之前有足够的时间建立。在双倍数据速率(DDR)CMOS中,发射器在每个时钟边沿转换数据。这允许在相同的时间内传输两倍于SDR的数据;但是,接收器正确采样的时间更为复杂。

并行LVDS是高速数据转换器的通用标准。它使用差分信号,每个比特使用一个 P 线和一个 N 线,在最新的 FPGA 中实现高达 1.6 Gbps 的 DDR 或 800 MHz 的速度。并行LVDS的功耗低于CMOS,但需要两倍的导线数量,这使得布线变得困难。虽然不是LVDS标准的一部分,但LVDS通常用于具有源同步时钟系统的数据转换器。在此设置中,与数据同相的时钟与数据一起传输。然后,接收器可以使用此时钟更轻松地捕获数据,因为它现在知道数据转换。

FPGA逻辑通常不够快,无法跟上高速转换器的总线速度,因此大多数FPGA都有串行器/解串器(SERDES)模块,用于将转换器侧的快速窄串行接口转换为FPGA侧的宽窄并行接口。对于总线中的每个数据位,该模块输出2、4或8位,但速率为时钟速率的二分之一、四分之一或八分之一,从而有效地反序列化数据。数据由FPGA内部的宽总线处理,其运行速度比进入转换器的窄总线慢得多。

LVDS信令标准也用于串行链路,主要用于高速ADC。串行LVDS通常用于引脚数比接口速度更重要的情况。通常使用两个时钟,即数据速率时钟和帧时钟。并行LVDS部分提到的所有注意事项也适用于串行LVDS。并行LVDS仅由多条串行LVDS线路组成。

pYYBAGOidhyAHKUtAAAqhui9VlY633.jpg?h=270&hash=662511F3899CFA036C5CE64F5FE55F9A8568DF0E&la=en&imgver=1

图1.将ADC连接到FPGA有不同的接口可能性。

我2C 使用两条线:时钟和数据。它支持总线上的大量器件,无需额外的引脚。我2C 是一种相对较慢的协议,工作在 400 kHz 至 1 MHz 范围内。它通常用于零件尺寸是一个问题的慢速设备。我2C也经常用作控制接口或数据接口。

SPI 使用三根或四根线:

时钟

数据输入和数据输出(4线)或双向数据输入/数据输出(3线)

芯片选择(每个非主设备一个)

SPI支持的器件数量与可用片选线的数量一样多。它提供高达约100 MHz的速度,通常用作控制接口和数据接口。

串行端口(SPORT)是一种基于CMOS的双向接口,每个方向使用一个或两个数据引脚。其可调字长为非 8% 分辨率提供了更好的效率。SPORT 提供时域多路复用 (TDM) 支持,通常用于音频/媒体转换器和高通道数转换器。它提供每个引脚约 100 MHz 的性能。SPORT在Blackfin处理器上受支持,并在FPGA上提供直接的实现。SPORT 通常仅用于数据,但可以插入控制字符。®

JESD204是JEDEC标准,用于单个主机(如FPGA或ASIC)与一个或多个数据转换器之间的高速串行链路。最新规范为每个通道或差分对提供高达 3.125 Gbps 的速率。未来的修订版可能会指定 6.25 Gbps 及以上。通道采用8B/10B编码,将通道的有效带宽降低到理论值的80%。时钟嵌入在数据流中,因此没有额外的时钟信号。多个通道可以绑定在一起以提高吞吐量,同时数据链路层协议可确保数据完整性。与简单的LVDS或CMOS相比,JESD204在FPGA/ASIC中需要更多的数据成帧资源。它以更昂贵的FPGA和更复杂的PCB布线为代价,大大降低了布线要求。

poYBAGOidh6AaN0wAAA_ROwMWwQ687.jpg?h=270&hash=42C5399963098EDD80300D38E7016D82A77EEC34&la=en&imgver=1

图2.SERDES模块位于FPGA接口中,转换器上具有高速串行接口。

一般性建议

一些一般性建议有助于ADC和FPGA之间的接口。

在接收器(FPGA 或 ASIC)上使用外部电阻端接,而不是内部 FPGA 端接,以避免由于不匹配而导致的反射,从而破坏时序预算。

如果在系统中使用多个ADC,请勿使用来自一个ADC的一个数控振荡器(DCO)。

在向接收器布置数字走线时,不要使用大量的长号,以保持所有走线的长度相等。

在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 V DRVDD。然而,当驱动大容性负载时,SNR会降低。CMOS输出可在高达约200 MHz采样时钟下使用。如果驱动两个输出负载或走线长度超过 1 或 2 英寸,建议使用缓冲器。

应小心处理ADC数字输出,因为瞬态电流会耦合模拟输入,从而增加ADC的噪声和失真。

图3所示的典型CMOS驱动器能够产生较大的瞬态电流,尤其是在驱动容性负载时。必须特别注意CMOS数据输出ADC,以使这些电流最小化,并且不会在ADC中产生额外的噪声和失真。

pYYBAGOidh-AYO3tAAAxPJu7eyI126.jpg?h=270&hash=E3D65D2B91D1E91024C1033375A38B31A7491FB2&la=en&imgver=1

图3.典型的CMOS数字输出驱动器。

典型示例

图4所示为16位并行CMOS输出ADC的情况。每个输出端的负载为10 pF,模拟一个栅极负载和PCB寄生效应,每个驱动器在驱动10 pF负载时产生10 mA的充电电流。

poYBAGOidiGAHNaxAABarfwqpQ8974.jpg?h=270&hash=649DBDDD7F154D1204F95C12A651E4AB206BD5D0&la=en&imgver=1

图4.使用串联电阻来最小化CMOS数字输出的充电电流。

因此,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输出的直接负载。

图5显示了采用CMOS封装的标准LVDS驱动器。标称电流为3.5 mA,共模电压为1.2 V。因此,当驱动100 Ω差分终端电阻时,接收器每个输入端的摆幅为350 mV p-p。这相当于700 mV p-p的差分摆幅。这些数字来自LVDS规范。

pYYBAGOidiiAOih6AACIN3sDYOM364.jpg?h=270&hash=8B02771EE9580CC689F1C2F5F4808BE143BB1A8D&la=en&imgver=1

图5.典型的LVDS驱动器设计。

有两种LVDS标准:一种由ANSI定义,另一种由IEEE定义。虽然这两个标准相似并且通常相互兼容,但它们并不相同。图6比较了两种标准的眼图和抖动直方图。与ANSI标准320 mV p-p相比,IEEE标准LVDS的摆幅降低了200 mV p-p。这有助于节省数字输出的功率。因此,如果 IEEE 标准能够适应需要与接收器建立的应用和连接,请使用 IEEE 标准。

poYBAGOidiqAQwkEAAEHnEoqGnc832.jpg?h=270&hash=7B1E098C657797DB90CBDBB4E42EE992AA10F9F1&la=en&imgver=1

poYBAGOidi2AedbaAADDS8S-ETU957.jpg?h=270&hash=4590D002404D5E5F8582ACFEC35D94CAB3A3D190&la=en&imgver=1

图6.ANSI 与 IEEE LVDS 标准。

图7比较了长走线长度超过12英寸或30 cm的ANSI和IEEE LVDS标准。这两个图形均按 ANSI 版本标准驱动。在右图中,输出电流加倍。将输出电流加倍可清除眼图并改善抖动直方图。

pYYBAGOidi-AGRo2AAEpjR1wioI493.jpg?h=270&hash=A21110583CB9AE975B737422E39B69B1249D0D13&la=en&imgver=1

poYBAGOidjCAZSXAAADbpqA7vKk967.jpg?h=270&hash=1D041C72A4BA80C35E71F2781315E871CE5533A5&la=en&imgver=1

图7.ANSI 与 IEEE LVDS 标准,迹线超过 12 英寸。

请注意图 8 中长迹线对 FR4 材料的影响。左图显示了理想的眼图,右图位于发射器处。在40英寸外的接收器上,眼睛几乎闭合,接收器难以恢复数据。

poYBAGOidjKACmn9AAD8Ven6eK8010.jpg?h=270&hash=FCB7F8FA57502B3977A5F5CC2DEE7E54EC4EC6D3&la=en&imgver=1

图8.FR-4通道损耗的影响。

在图9中,数据位的可视模拟数字显示显示第14位永远不会切换。这可能表明器件、PCB或接收器存在问题,或者无符号数据不够大,无法切换最高有效位。®

poYBAGOidjSAaNsIAAD7kuKbo24821.jpg?h=270&hash=BE7A2F1FFE6C587E5DCE9D0381BA68F42D066EDD&la=en&imgver=1

图9.AD9268缺少位 14 的 ADC。

图10显示了前一个数字数据的频域视图,其中第14位未切换。该图显示该位很重要,并且系统中某处存在错误。

pYYBAGOidjaAGExBAADXR5Ehv1c446.jpg?h=270&hash=FCEB734B64A0E130D4CE86341BF07F32BD079B77&la=en&imgver=1

图 10.缺少位14的AD9268 ADC频域图

图11是相同数据的时域图。数据不是平滑的正弦波,而是偏移的,并且在整个波形的各个点都有明显的峰值。

pYYBAGOidjiAVVy4AAC7lcwukLc333.jpg?h=270&hash=310F7A401E31D6FA1D64AF25C066A2AAB2ECA70C&la=en&imgver=1

图 11.缺少位14的AD9268 ADC时域图

在图12中,两个位短接在一起,而不是遗漏一点,以便接收器始终在两个引脚上看到相同的数据。

pYYBAGOidjiAVVy4AAC7lcwukLc333.jpg?h=270&hash=310F7A401E31D6FA1D64AF25C066A2AAB2ECA70C&la=en&imgver=1

图 12.AD9268 具有第9位和第10位短路的ADC。

图13显示了两个位短接在一起的相同情况的频域视图。虽然基本音清晰存在,但本底噪声明显低于应有的水平。地板的扭曲程度取决于哪些位短路。

poYBAGOidjqAEMC3AACncvj9Ufk068.jpg?h=270&hash=F150CF535C35977E3E16B29709725A91140D6A0F&la=en&imgver=1

图 13.AD9268 ADC频域图,第9位和第10位短接在一起。

在图 14 所示的时域视图中,这个问题不太明显。虽然在波的波峰和波谷中会损失一些平滑度,但当采样率接近波形的频率时,这种情况也很常见。

poYBAGOidjuAJbrhAAB5oCYifmM023.jpg?h=270&hash=D98805745AB9A19DE1E8EBDE99DE102FFA6DE247&la=en&imgver=1

图 14.AD9268 ADC时域图,第9位和第10位短接在一起。

图15显示了一个时序无效的转换器,在本例中是由建立/保持问题引起的。与以前的错误不同,以前的错误通常在数据的每个周期中表现出来,时序错误通常不太一致。不太严重的时序错误可能是间歇性的。这些图显示了不符合时序要求的数据采集的时域和频域。请注意,时域中的误差在周期之间不一致。另外,请注意FFT/频域中本底噪声升高。这通常表示缺少位,这可能是由不正确的时间对齐引起的。

pYYBAGOidj6AbynQAAC8QAudleI510.jpg?h=270&hash=1F971FC5573F9075918326FAB2342F100E23606E&la=en&imgver=1

图 15.AD9268具有无效数据和时钟时序的时域图

图16是图15所示时域时序误差的近距离视图。同样,请注意,每个周期的错误不一致,但某些错误确实会重复。一个例子是此图中几个周期的谷上的负峰值。

poYBAGOidkCAavRiAACKB009Dg8749.jpg?h=270&hash=98D718B96B98A0E0F567A587B4EA924B84372763&la=en&imgver=1

图 16.AD9268放大时域图,数据和时钟时序无效。

结论

本文讨论了标准接口 — SPI、I2C、SPORT、LVDS 和 JESD204A——用于将 FPGA 连接到 ADC。随着数据速率的进一步提高,FPGA与ADC的接口仍将是一个共同的挑战。JESD204B支持12.5 Gbps,JESD204C将迁移到32 Gbps。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21663

    浏览量

    601670
  • pcb
    pcb
    +关注

    关注

    4316

    文章

    22988

    浏览量

    396128
  • 转换器
    +关注

    关注

    27

    文章

    8621

    浏览量

    146828
收藏 人收藏

    评论

    相关推荐

    CTSD精密ADC—利用异步采样速率转换(ASRC)简化数字数据接口

    处理的简单但创新的方法。对任何应用而言,数字数据输出采样速率都是ADC信号链的一个关键参数。但是,不同应用有不同的采样速率要求。本文章介绍一种新型片内采样速率转换技术,其用在核心ADC
    的头像 发表于 05-13 14:02 7497次阅读
    CTSD精密<b class='flag-5'>ADC</b>—利用异步采样速率转换(ASRC)简化<b class='flag-5'>数字数据</b><b class='flag-5'>接口</b>

    FPGAADC数字输出的各种接口协议和标准

    现场可编程门阵列(FPGA)与模数转换器(ADC)输出接口是一项常见的工程设计挑战。本文简要介绍各种接口协议和标准,并提供有关在高速
    发表于 01-11 09:31 1589次阅读

    LabVIEW如何显示数字数据

    我想读取电子表格中的数据并显示在前面板上,可是利用里面的一个数字数据显示的VI 显示不了求大神指教数据显示问题
    发表于 01-07 20:55

    数字数据控件问题

    数字数据控件问题 右击 -- 插入选项是灰色的 不能插入 是不是 我哪操场有问题?我确定我选中了控件。
    发表于 07-05 11:12

    28335AD数据采集当ADC0为0V时DSP输出数字数据并不是0

    我用TMS320F28335芯片做简单的AD数据采集,我利用TI的例程Example_2833x_AdcSeqModeTest.c来进行0通道的数据采集,发现当ADC0为0V时,DSP输出
    发表于 08-20 06:27

    数字数据输出的电气规格和特点

    高速转换器应用指南:数字数据输出
    发表于 01-11 06:56

    数字数据

    数字数据网(Digital Data Network)是利用数字信道传输数据信号的数据传输网,它的传输媒介有光缆、数字微波、卫星信道以及用户
    发表于 08-06 15:37 25次下载

    FPGAADC数字数据输出接口

    现场可编程门阵列(FPGA)与模数转换器(ADC数字数据输出接口是一项常见的工程设计挑战。此外,AD
    发表于 04-26 14:59 96次下载
    <b class='flag-5'>FPGA</b>与<b class='flag-5'>ADC</b><b class='flag-5'>数字数据</b><b class='flag-5'>输出</b>的<b class='flag-5'>接口</b>

    模数转换器(ADC)选择重要参数:数字数据输出类型

    设计人员有各种模数转换器(ADC)可以选择,数字数据输出类型是选择过程中需要考虑的一项重要参数。
    发表于 11-13 11:32 1.1w次阅读

    FPGAADC数字数据输出接口的协议及标准

    场可编程门阵列(FPGA)与模数转换器(ADC)输出接口是一项常见的工程设计挑战。本文简要介绍各种接口协议和标准,并提供有关在高速
    的头像 发表于 09-15 10:29 5964次阅读
    <b class='flag-5'>FPGA</b>与<b class='flag-5'>ADC</b><b class='flag-5'>数字数据</b><b class='flag-5'>输出</b><b class='flag-5'>接口</b>的协议及标准

    MT-201:FPGAADC数字数据输出接口

    MT-201:FPGAADC数字数据输出接口
    发表于 03-21 09:52 7次下载
    MT-201:<b class='flag-5'>FPGA</b>与<b class='flag-5'>ADC</b><b class='flag-5'>数字数据</b><b class='flag-5'>输出</b>的<b class='flag-5'>接口</b>

    FPGAADC数字数据输出接口资料下载

    电子发烧友网为你提供FPGAADC数字数据输出接口资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参
    发表于 04-18 08:51 27次下载
    <b class='flag-5'>FPGA</b>与<b class='flag-5'>ADC</b><b class='flag-5'>数字数据</b><b class='flag-5'>输出</b>的<b class='flag-5'>接口</b>资料下载

    具有LVDS输出的LTM9011 ADC的AN147-Altera Stratix IV FPGA接口

    具有LVDS输出的LTM9011 ADC的AN147-Altera Stratix IV FPGA接口
    发表于 05-09 21:19 15次下载
    具有LVDS<b class='flag-5'>输出</b>的LTM9011 <b class='flag-5'>ADC</b>的AN147-Altera Stratix IV <b class='flag-5'>FPGA</b><b class='flag-5'>接口</b>

    CTSD精密ADC:利用异步采样速率转换(ASRC)简化数字数据接口

    处理的简单但创新的方法。对任何应用而言,数字数据输出采样速率都是ADC信号链的一个关键参数。但是,不同应用有不同的采样速率要求。本文章介绍一种新型片内采样速率转换技术,其用在核心ADC
    的头像 发表于 06-16 10:19 1562次阅读
    CTSD精密<b class='flag-5'>ADC</b>:利用异步采样速率转换(ASRC)简化<b class='flag-5'>数字数据</b><b class='flag-5'>接口</b>

    FPGAADC数字数据输出接口指南

    电子发烧友网站提供《FPGAADC数字数据输出接口指南.pdf》资料免费下载
    发表于 11-28 09:40 0次下载
    <b class='flag-5'>FPGA</b>与<b class='flag-5'>ADC</b><b class='flag-5'>数字数据</b><b class='flag-5'>输出</b>的<b class='flag-5'>接口</b>指南