Xilinx fpga实现LVDS高速ADC接口

article/2025/9/11 18:02:37

e556288c5d6107bdaded36eeeac9579f.png

LVDS

即Low-Voltage Differential Signaling。FPGA的selecteIO非常强大,支持各种IO接口标准,电压电流都可以配置。其接口速率可以达到几百M甚至上千M。使用lvds来接收高速ADC产生的数据会很方便。像ISERDES,IDDR,IDELAY,OSERDES,ODDR这种资源在FPGA的IOB中多得是(每个IO都对应有,最后具体介绍),根本不担心使用。最近刚在项目中用到,提供一个思路,具体的器件使用参考FPGA手册。

使用的AD芯片是ADI的AD9653,125M16bit高精度高速ADC,用到的采样速率是80M。其SPI配置会单独开一篇来讲,SPI配置里面有个大坑,本来以为调好了的,后来又发现了问题,调了三天才定位到问题在哪,这就是硬件的魅力(坑爹)所在了吧。这里主要介绍FPGA的接收部分。

接收ADC数据的时序图,

4d2cacf5a6914ec740abe6694d5933ab.png

有几点需要注意:

0 , 可以看出分成三种信号,数据采样时钟DCLK,帧同步信号FCLK,和输入数据DATA

1,输入数据采样时钟默认是已经对齐了输入数据的中点,但帧时钟是和数据字节边缘对齐的。

2,使用Iserdes接收数据,Idelay调整时钟延迟。

1,对数据采样时钟的处理如下

通过控制延时,使得CLK和经过IBUFDS的BitClk对齐,从而消除IBUFIO和BUFR还有net的延时。这样所有的输入信号都只经过了一个IBUFDS,延时相等。对Idelay的控制,可以手动调节,也可以用自动算法。(参考xapp524)

f155e47757ef54f869c23815ad38b642.png

7684248c5e42efb85a27c157bb1f4fce.png

2842d10ab2c927f87a67bb7314effd33.png

cdb5bb135837514949ef7d5680140c39.png

3d7ae6d253aed19a25f51203436c7ebb.png

aa3d64f72c745294695f4b65b2d59e96.png

1.1手动调节对齐

首先来看看手动调节算法,用vivado的vio可以很方便的输入输出,可手动在线修改观察现象,对后面的自动训练算法也有一定的启发作用。

默认R_delay_cnt=0时,可以看到输入的正弦波形很乱

037d0a0d91fb2129d604f4247743420f.png

c1a0bfa843ce2ed4f13abc9a4ff2e5c3.png

慢慢的增加R_delay_cnt,当R_delay_cnt=12时,开始出现稳定的正弦波,实验发现R_delay_cnt=14,15,16时恰好采到时钟的边缘,也就是跟输入的原始时钟对齐了,可以看到采到边缘是allign_word一直在跳变,有的是0,有的是1。一直到R_delay_cnt=18,正弦波都很稳定。有效窗口可以准确计算出来,200M的Idelay参考时钟,78ps/tap。7tap*78ps=546ps。说明数据的有效窗口很小,毕竟是320M的DDR,半个周期都才1.56ns.

15cdba01ac6d4e274988913b60035cdb.png

83f2a7c43f05a03da5d0964b65c1b176.png

继续增加R_delay_cnt,当R_delay_cnt=20时,正弦波又变得不规则了。

8f5292318ea04a38c36bd06db48e6f4d.png

34bdf27f96e4528f9e7f8c6e0aec1904.png

最后取R_delay_cnt=15,可以在代码里面写死。

1.2自动训练算法

既然有了手动调节的算法,为什么还要用自动训练对齐的算法呢?在高低温测试的时候,器件的延迟会受温度的影响发生变化,特别是在时钟频率很高,数据有效窗口很小的时候,这时候就需要能够动态的改变R_delay_cnt的值去自适应delay的变化,增加了鲁棒性。

有了上面的手动调节算法,自动训练的思路也很简单了。上电复位后R_delay_cnt一直自加,记下最后一个全0和第一个全1的值,取中点。这里只考虑了一种情况,还可能是从全1到全0的情况。代码如下

a6d6b8a907397df4f3869db584858986.png

17364f6eb9ba8687401e7afae952a67b.png

d2f5a0aa16c7f585b9506dcb16cf627a.png

2e42f83a85589772bc556fd4dc5de144.png

2,对帧同步信号和数据的处理

用上面产生的数据采样时钟同时去采样FCLK和DATA,使用Iserdes可以1:8进行串并转换。但是我们不知道字节的边界在哪里,所以要使用一个bit_slip对串转并的结果进行移位,移位的同时检测FCLK转换的输出,当输出是8’b11110000的时候就停止移位。

13bebd6596957fa16b348d9f2b68a6aa.png

利用FC找到字节边界的代码如下

2edc29197c13454335b2bfd1e11e545f.png

5e891f57b9c6120861a90db1c0e0d6c5.png

563c3bf2ead94321e4b60a9d65c828fb.png

3a178f7e4e86cc1067df56e235e7bc6d.png

数据采样代码和上面的差不多

0e1f5d704fe7521e3666fbeed1db0349.png

07c56cb41101280d2a37b5114004e419.png

d58d55fa460193397eefdb26decde5a7.png

当数据率不是很高的IDDR数据,使用DDR替代Iserdes接收。IDDR和Iserdes使用的资源相同(待验证)

附:用到的FPGA资源详解

a5c80e61f7ec654408bebe085b4ae901.png

HR Bank真实的器件如下,一对IOB,可单独使用,可差分使用。后面的资源从上到下依次是ISERDES(ILOGIC),IDELAY,OLOGIC(OSERDES),ILOGIC,IDELAY,OLOGIC。(ILOGIC可作为IDDR,OLOGIC可作为ODDR)。左上角的是一个clock region(如X0Y2)的中间分布的四个BUFIO和BUGR(局部时钟驱动,局部时钟分频,二者延时相等)。后面是一个IDELAYCTRL。

15e86c68b9dc897ad35a9335eb065b19.png

下面分别详细介绍:

IDEALY,

经过IDELAY必须要经过ISERDES,可直通。

ISERDES,

ISERDES和ILOGIC使用相同的资源,可互换

ILOGIC,

645f604458d70b99eb11492480409237.png

OLOGIC,

6156f258f031b78717bc4ba66ee8a0ff.png

OSERDES,和OLOGIC使用相同的资源,可互换

功能描述

• Edge triggered D type flip-flop(FF)

• DDR mode (SAME_EDGE or OPPOSITE_EDGE)

• Level sensitive latch(Latch)

• Asynchronous/combinatorial(直通)


http://chatgpt.dhexx.cn/article/3K9Yv9TX.shtml

相关文章

LVDS接口和接口电路概述

1、LVDS接口概述 LVDS,即Low Voltage Differential Signaling,是一种低压差分信号技术接口。克服以TTL电平方式传输宽带高码率数据时功耗大、EMI电磁干扰大等缺点而研制的一种数字视频信号传输方式。LVDS输出接口利用非常低的电压摆幅(约350m…

常见视频高速接口分析MIPI,LVDS,RGB,HDMI

文章目录 一、RGB接口二、LVDS接口三、MIPI接口四、HDMI接口 一、RGB接口 (1)接口定义 RGB颜色是工业界的一种颜色标准,是通过对红、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红…

接口mipi和lvds的区别

原文:http://m.elecfans.com/article/578395.html MIPI (Mobile Industry Processor Interface) 是2003年由ARM, Nokia, ST ,TI等公司成立的一个联盟,目的是把手机内部的接口如摄像头、显示屏接…

液晶屏接口LVDS接口与MIPI DSI接口区别

LVDS与MIPI DSI区别_那个苏轼回不来了丶的博客-CSDN博客_“mipi dsi接口与LVDS与MIPI DSI区别_那个苏轼回不来了丶的博客-CSDN博客_“mipi dsi接口与lvds接口区别LVDS与MIPI DSI区别_那个苏轼回不来了丶的博客-CSDN博客_“mipi dsi接口与 1、LVDS接口只用于传输视频数据&#x…

液晶屏接口-LVDS

LVDS是英文Low Voltage Differential Signaling的缩写,它是一种低压差分信号技术接口。采用LVDS接口,可以使得信号在差分PCB线或平衡电缆上以几百Mbps的速率传输,推荐的最高数据传输速率是655Mbps,而理论上可以达到1.923Gbps。 【…

LVDS高速接口测试

话不多说,直接测试 1. OUTPUT:LVDS_TX 2. SDR:代表着速率,测试选的SDR(单速率) 3. 8:串换因子,就是一对LVDS转化几bit的并行数据(和后面的clk,clk_div有关系…

MIPI、LVDS、RGB、HDMI等接口对比

液晶屏有RGB TTL、LVDS、MIPI、HDMI接口,这些接口区别于信号的类型(种类),也区别于信号内容。 具体RGB TTL接口信号类型是TTL电平,信号的内容是RGB666或者RGB888还有行场同步和时钟; LVDS接口信号类型是LVD…

LVDS接口液晶屏定义(lcd)

转载于:https://blog.csdn.net/linphusen/article/details/6389032 LVDS接口液晶屏定义 LVDS接口又称RS-644总线接口 20PIN单6定义: 1:电源2:电源3:地 4:地 5:R0- 6:R0 7&…

基于FPGA的LVDS接口设计

实验内容: 通过LVDS接口,完成数据的收发测试。 上周居然开启了咸鱼模式,检讨一下 || 前集回顾: 《Xilinx - UG471中文翻译》(1)IDELAYE2原语介绍 《Xilinx - UG471中文翻译》(2)…

LVDS屏的俩种接口:JEIDAVESA

一、LVDS数据格式 LVDS信号格式有两种,一种JEIDA的标准,一种是VESA的标准; LCD屏老一点的有6bit的,现在普通的是8bit,新的就是10bit了; 每个clock周期内7bit数据(跟TMDS标准有差别): 对应的…

LVDS接口是什么接口?

目前,有2种数字显示接口标准,一是由美国国家半导体公司(National Semiconductor,NS)推出的OpenLDI数字显示接口标准,另一个是由Silicon Image、Intel、Compaq、IBM、HP、NEC、Fujitsu等公司共同组成数字显示工作组&…

sensor lvds接口介绍

1.项目简介 用索尼的imx264 sensor采集图像,在内部模数转换之后,由lvds接收,然后解码,最后送给后端显示 2.框图 imx264配置成从模式,由spi总线配置,需要由FPGA提供 行、场信号,imx264根据接收到…

LVDS,CML,LVPECL,VML接口详细介绍

在平时的工作中,经常会接触到各种差分电平的转换,网上也有很多这样的资料,但发现有些混乱,所以找了TI的这份文档进行翻译,一是系统的归类一下,二是自己也能通过这个来加深理解和学习。这个文档对于各个电平…

LVDS,接口,时序讲解,非常好的文章

1.1.1 LVDS接口分类 1.1.1.1 单路6bit LVDS 这种接口电路中,采用单路方式传输,每个基色信号采用6位数据,共18位RGB数据,因此,也称18位或18bit LVDS接口。此,也称18位或18bit LVDS接口。 1.1.1.2 双路…

嵌入式--接口(二)液晶屏接口:RGB、LVDS、MIPI、HDMI

目录 RGB接口(1)接口定义(2)接口类型(3)接口特点(4)最大分辨率和时钟频率 LVDS接口(1)接口定义(2)接口类型(3)…

LVDS接口介绍

1、LVDS接口概述 LVDS,即Low Voltage Differential Signaling,是一种低压差分信号技术接口。克服以TTL电平方式传输宽带高码率数据时功耗大、EMI电磁干扰大等缺点而研制的一种数字视频信号传输方式。LVDS输出接口利用非常低的电压摆幅(约350m…

LVDS接口和LVDS技术

LVDS接口 目前6.5寸及以上尺寸的液晶屏大多都是LVDS接口的了,而LVDS接口的屏主要是应用于工控行业。 如下图就是LVDS接口的使用场景: 下图所示为五通道LVDS发送芯片(DS90C385)内部框图。包含了四个数据信号(其中包括RGB、数据使能DE、行同步…

LVDS接口分类,时序,输出格式

1.1.1 LVDS接口分类 1.1.1.1 单路6bit LVDS 这种接口电路中,采用单路方式传输,每个基色信号采用6位数据,共18位RGB数据,因此,也称18位或18bit LVDS接口。此,也称18位或18bit LV…

Lvds

Lvds 编辑 Lvds :Low-Voltage Differential Signaling 低电压差分信号 1994年由美国国家半导体公司提出的一种信号传输模式,是一种电平标准,LVDS接口又称RS-644总线接口,是20世纪90年代才出现的一种数据传输和接口技术。 中文名 L…

LVDS接口详解

一:LVDS输出接口概述 二:LVDS接口电路的组成 三:LVDS输出接口电路类型 四:典型LVDS发送芯片介绍 五:LVDS发送芯片的输入与输出信号 六:LVDS数据输出格式 七 :LVDS 参数分析 / 一&#x…