当前位置: 首页 > news >正文

LVDS系列39:Xilinx Ultrascale系 ADC LVDS接口参考方法(一)

接下来几讲,将仔细介绍Xilinx Ultrascale系列器件进行LVDS接口接收处理的方法;

 High Speed SelectIO Wizard IP介绍:
在7系中,对LVDS接口处理,一般使用零散的原语组件去实现,如做输入线延时的IDELAYE2,做串转并操作的ISERDESE2,其实在Ultrascale架构中,也有与7系对应的组件原语IDELAYE3、ISERDESE3、原生原语TX_BITSLICE、RX_BITSLICE等,由于U系的架构比7系复杂,其原语的使用也比7系复杂,所以为了方便一些比较通用的操作,xilinx官方用一个High Speed SelectIO Wizard的IP,去控制原生原语去实现7系中我们所做的很多繁杂的连接工作;
High Speed SelectIO Wizard以下简称HSSIO,HSSIO将RX_BITSLICE、TX_BITSLICE、RXTX_BITSLICE、BITSLICE_CONTROL和PLL,根据IP的GUI配置界面进行封装调用;
IP支持Ultrascale和Ultrascale+两种架构的设备;

上图为Ultrascale架构的下,其一个代表性HSSIO设计的内部连接结构图;
IP可以实现,LVDS输出,LVDS输入,或LVDS输入输出;
可以看到输入的外部时钟,将会被接入PLL中使用,生成分频时钟输出到外部,生成高速时钟用于BITSLICE_CONTROL组件的数据采样;
输出路径主要由BITSLICE_CONTROL和TX_BITSLICE组件控制;
输入路径主要由BITSLICE_CONTROL和RX_BITSLICE组件控制;
双向路径主要由BITSLICE_CONTROL和RXTX_BITSLICE、TX BITSLICE TRI组件控制;

我们后面只使用输入路径,也只讲解输入路径相关,

其中RX_BITSLICE是RXTX_BITSLICE的接收器。

其中数据来自IOB输入,输入延迟组件是IDELAYE3,解串组件是ISERDESE3,BITSLICE_CONTROL控制IDELAYE3组件的延迟,BITSLICE_CONTROL为采样寄存器提供高速采样时钟,该采样时钟来自IOB输入的外部高速比特时钟,使用PLL生成分频时钟和同频采样时钟,然后数据的输出也是由BITSLICE_CONTROL控制,可以提供一个深度为8的FIFO用作缓冲输出,输出时使用PLL产生的分频时钟获取并行数据;



两个中央字节组(字节组1和字节组2)各都包含支持四字节时钟(QBC)和全局时钟(GC)功能的时钟输入管脚或管脚对。
QBC管脚可在布局到的半字节组或字节组中用作为捕获时钟输入,但它们也可以通过专用时钟基干向I/Obank中的所有其它半字节组和字节组提供捕获时钟,范围是这个bank。
GC管脚是可以驱动MMCM和/或PLL原语的时钟输入,范围是全局的可以跨bank。
其中一些具有时钟功能的输入具有双重功能QBC和GC。
上字节组和下字节组各含支持专用字节时钟(DBC)功能的时钟输入管脚(管脚对),这些输入管脚或管脚对可用于字节组内部时控,但不能将捕获时钟驱动到I/Obank中的其它字节组,也不能驱动I/Obank中的MMCM或PLL。
一般在设计PCB时,LVDS接口的高速采样时钟一般就要接到规定的QBC、GC等管脚处,当然不连到该处,也能配置为异步模式进行使用;

上图为BITSLICE_CONTROL与BITSLICE的关系,
Ultrascale的一个IO bank中有52个管脚,其中分4个字节,每个字节有13个管脚,每个字节分为高字节和低字节,高字节管理7个管脚,低字节管理6个管脚;
一个字节由两个BITSLICE_CONTROL去控制,一个控制高半字节7个BITSLICE,一个控制低半字节6个BITSLICE,能控制多个BITSLICE,包含RX、TX、RXTX_BITSLICE;

BITSLICE_CONTROL的基本功能是执行内置自校准(BISC)、为RXTX_BITSLICE中的接收器和发射器功能生成时钟、控制专用功能以及控制一组供先前汇总的功能使用的寄存器(RIU)。
本文章由威三学社出品
对课程感兴趣可以私信联系

http://www.jsqmd.com/news/245449/

相关文章:

  • python基于vue的家具商城 家居店活动抽奖系统django flask pycharm
  • 【保姆级教程】LangChain Agent API调用指南:收藏起来慢慢学,零基础打造你的AI智能体
  • 通达信〖共振主升浪〗副图与选股指标 共振选股指标捕捉大级别主升浪
  • 收藏!2026 AI应用开发工程师高薪指南:传统程序员/小白三步入局攻略
  • Github应用商店 1.4.2 | 自动发现并聚合github上可安装的项目
  • python基于vue的家庭服务预约管理系统的设计与实现django flask pycharm
  • 别再纠结哪个AI做PPT靠谱!“轻竹办公AIPPT”一站式解
  • python基于vue的家政服务管理系统django flask pycharm
  • 项目解决方案:小型水库AI识别建设解决方案
  • 【高精度气象】供冷/供热省不省电,不在设备有多新:在于你有没有“逐小时提前量”
  • 学习笔记——UART(通用异步收发器)
  • List、Set的相似性
  • RAGFlow 全面接入 MinerU 2.0,支持 pipeline、vlm-transformers、vlm-sglang 三种模式,解析精度大幅度up
  • 一文彻底搞懂算力计算:CPU与GPU的核心方法全解析
  • 突然发现 AI Agent设计思路真的好清晰
  • 论文与期刊的级别
  • 终于有人把数据血缘说明白了
  • 24家科技巨头参与,美国“创世纪计划”有什么样的野心?
  • sql 如果字段为空就用另一个字段
  • Android 基础入门教程2.5.2 GridView(网格视图)的基本使用
  • AI赋能央企数智化转型研究报告:AI赋能央企转型应用现状、AI赋能央企转型路径与挑战、AI赋能央企转型服务商体系、未来展望
  • Android 基础入门教程2.5.3 Spinner(列表选项框)的基本使用
  • 大模型推理框架对比:SGLang 与 vLLM 的核心差异解析
  • ​ Android 基础入门教程​2.5.4 AutoCompleteTextView(自动完成文本框)的基本使用
  • Agent搭建-超详细教程,存一下吧
  • 事务中的隔离性是如何保证的呢?(你解释一下MVCC)
  • 如何在liunx环境安装PageAdmin Cms系统
  • 数据治理到底应该怎么治理?治理什么?在哪治理?治理路径是什么?治理流程又是什么?附案例及解决方案
  • 既然强转会报错,java为啥不封装处理好,避免强转报错?
  • 2026常见的企业网站建设系统推荐