FPGA与高速ADC LVDS数据接口设计考虑

2024-09-02 22:44

本文主要是介绍FPGA与高速ADC LVDS数据接口设计考虑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言:本文描述了ADC和FPGA之间LVDS接口设计需要考虑的因素,包括LVDS数据标准、LVDS接口数据时序违例解决方法以及硬件设计要点。

1. LVDS简介

1.1 什么是LVDS?

LVDS(低压差分信号)标准是业界流行的差分数据传输标准,它是双线、低摆幅差分信号。其优点包括以下几点:

•低电源电压运行

•高速数据传输

•良好的共模噪声抑制

•噪音产生更少

图片

图1:LVDS发送器和接收器

LVDS是在100Ω的受控阻抗介质上进行基带数据传输,其中传输介质可以是PCB走线、背板或电缆。如图1所示,LVDS输出由约3.5mA的电流源组成,该电流源驱动差分对。LVDS接收器具有高直流输入阻抗,因此,LVDS驱动器的大部分电流流过100Ω的终端电阻器,在接收器输入端产生约350mV的电压。

1.2 LVDS标准

表1所示的ANSI/TIA/EIA-644-A(LVDS)标准定义了LVDS信号。本标准定义了驱动器输出和接收器输入特性,它是一个纯电气标准。它不包括基本规范、协议甚至完整的电缆特性,因为这些都取决于应用。这允许在许多应用中轻松采用,也允许参考标准根据所需的信号质量和媒体长度或类型指定所需的最大数据速率。

表1:ANSI/TIA/EIA-644(LVDS)标准

图片

1.3 LVDS优于单端标准的优势

LVDS中使用的差分数据传输方法比CMOS等单端方案更不容易受到共模噪声的影响。因为差分传输使用两条具有相反电流和电压摆动的线来传输数据,而不是CMOS中使用的一条线。LVDS接收器只会查看两个信号之间的差异,可以消除共模噪声。另外,由于磁场的抵消,差分信号也倾向于比单端信号辐射更少的噪声。此外,电流模式驱动器不易产生振铃和开关尖峰,进一步降低了噪声。LVDS与其他信号标准的比较如表2所示。

表2:LVDS与其他信号标准的比较

图片

ANSI/TIA/EIA标准基于一组限制性假设建议最大数据速率为655Mbps,并基于无损耗介质提供了1.923Gbps的理论最大值。数据传输的最终速率和距离取决于介质的衰减特性和来自环境的噪声耦合。

图片

图2:共模电压范围

2. ADC LVDS数据的边沿捕获分析

当LVDS接收器中没有足够的建立和保持时间来捕获数据时,称为边边沿获。由于LVDS对之间的PCB走线长度不匹配,可能会发生数据的边沿捕获。例如,如果6个DDR LVDS对没有以相同的距离路由到FPGA,则边沿捕获发生在12位ADC中。在边沿捕获期间,一些数据位可能会改变其值,导致FPGA不能正确采样ADC数据。

图片

图3:显示了从ADS6129 12位ADC在FPGA内捕获的边沿捕获数据

由于ADC数据的边缘捕获,在图3中观察到峰值。在这种情况下,对比特D6和D8观察到边沿捕获。峰值是由于D6和D8位的建立和保持时间违规造成的。x轴表示采样数,y轴表示12位ADC的信号幅度。

3. 处理边沿捕获问题

边沿捕获问题可以通过两种方法来解决。一种方法是使用ADC LVDS功能来改变LVDS数据线相对于LVDS输出时钟的延迟。另一种方法是使用FPGA内部的延迟组件。

3.1 使用ADC内部的延迟特性

通过使用ADC的串行接口或并行模式调整输出时钟边沿,ADC LVDS数据可以相对于时钟延迟。只有调整输出时钟边沿才有可能改变所有LVDS对相对于输出时钟的建立和保持关系。图4提供了ADS6129串行模式下时钟位置偏移功能的详细信息。

图片

图4:串行模式下ADS6129的时钟位置偏移特性

另外,ADS6129为并行模式控制时,可以通过控制SEN引脚电压来控制时钟延迟,如表3所示。

表3:SEN–模拟控制引脚

图片

3.2 使用FPGA内部的延迟特

解决边沿捕获问题的另一种方法是利用FPGA内部的延迟特性。FPGA的每个LVDS对都有延迟组件。例如,Xilinx FPGA具有称为“IDELAY”的延迟元件,可用于更改每个LVDS对的单独延迟。FPGA的IDELAY非常灵活,可以插入任何LVDS ADC对和FPGA之间。对于图2所示的边沿捕获问题,LVDS对D6_D7和D8_D9需要使用IDELAY组件进行延迟。此外,LVDS数据对之间的偏斜也可以通过在FPGA内使用此IDELAY组件来补偿。

图片

图5:FPGA延迟块与ADC LVDS数据

4. 使用ADC测试模式功能检查ADC和FPGA LVDS数据时序

为了验证建立和保持时间,系统设计人员可以使用测试模式生成可以在FPGA内部验证的特定模式。在测试模式下,可以使用用户自定义模式对每个上升沿和下降沿的位翻转进行编程。这是用FPGA测试ADC LVDS数据接口健康状况的最佳方法。图6提供了ADS6129和ADS6149的这种测试模式特征的信息。

图片

图6:ADC内部的自定义测试模式选项

该测试确定了ADC和FPGA之间的正确接口。如果测试模式通过,则可以认为ADC LVDS与FPGA的数据接口是正确的。图7显示了10 MHz NORMAL模拟输入信号的数字化数据眼图。

图片

图6:10MHz正常输入模拟信号的数字化数据眼图

5. ADC与FPGA之间LVDS信号布线设计考虑

(1)如果ADC输出和FPGA输入引脚之间的布线距离较大,则必须注意将差分阻抗保持在100Ω附近。差分对的总长度并不重要,但在指定内差分对之间的匹配很重要。此匹配规范取决于ADC采样率以及设置和保持时间裕度。

(2)在ADC LVDS输出和FPGA输入之间的任何跨分割处,差分特性阻抗应在90Ω至110Ω之间,由于LVDS信号的边缘速率很快,阻抗匹配非常重要。

(3)最好在PCB中使用至少4层。高速设计需要接地、电源和单端信号(如CMOS)以及LVDS信号的单独层。

图片


图7:典型4层PCB层叠

(4)LVDS线路的最小PCB通孔数量。最好使用45度转弯,避免90度转弯。

(5)LVDS信号在没有终端电阻器的情况下无法工作。最好的选择是使用FPGA的内部100Ω终端电阻器(如果可用)。对于内部FPGA终端电阻器,输入LVDS终端寄存器需要在FPGA粘合逻辑中设置为“TRUE”。

(6)在顶层上布线高速走线可以避免通孔以及通孔引起的电感。然而,在中间层上布线高速走线有助于更好地抑制噪声。在带状线(中间层)而不是微带线(顶部/底部)上路由噪声信号有助于减少EMI。

图片

图8:微带线与带状线


欢迎关注FPGA技术实战公众号,喜欢就多多转发吧!

这篇关于FPGA与高速ADC LVDS数据接口设计考虑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131285

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

pandas数据过滤

Pandas 数据过滤方法 Pandas 提供了多种方法来过滤数据,可以根据不同的条件进行筛选。以下是一些常见的 Pandas 数据过滤方法,结合实例进行讲解,希望能帮你快速理解。 1. 基于条件筛选行 可以使用布尔索引来根据条件过滤行。 import pandas as pd# 创建示例数据data = {'Name': ['Alice', 'Bob', 'Charlie', 'Dav