XILINX硬件设计-(1)LVDS接口总结

1.LVDS差分信号电路原理

   LVDS指的是低压差分信号,是一种电平标准。 差分信号在串行通信中有着非常广泛的应用,典型应用有PCIE中的gen1,gen2,gen3,gen4,gen5,SATA接口,USB接口等。 

典型的电气接口标准LVDS(low voltage differential signaling)如图所示

LVDS源端驱动器由一个恒流源(通常约为3.5mA,最大不超过4mA)驱动一对差分信号线组成,如图所示。Q1,Q4与Q2,Q3组成两对根据输入轮流导通。接收端的接收器本身为高输入阻抗,所以几乎全部的驱动电流都流经100Q的终端匹配电阻,并在接收器输入端产生约350mV的电压。当源端驱动状态反转变化时,流经匹配电阻的电流方向改变,于是在接收端产生高低逻辑状态的变化

2.LVDS信号抗干扰能力分析

   信号传输过程中经常需要翻转,电压越高,所需翻转时间越长,电压越低,所需翻转时间越短,但低电压也意味着一点点干扰也会让电压产生相对较大的浮动,LVDS在低压的情况下弥补了抗干扰能力弱的问题。

3.常见的LVDS参数

1)正负信号Vp(n):差分信号成对出现,在IO端口对上规定其中一个为正(Vp),另一个为负(Vn)
2)共模电压Vcm:共模电压是指正负两个信号电压平均值,即Vcm=(Vp+ Vn)/2。                      3)差分摆幅Vd:差分电压是两个信号差值,即Vd=Vp-Vn。

4.XILINX的LVDS兼容问题

在XILINX的7系列FPGA中,存在high-performance (HP) and high-range (HR) 两种 I/O bank。

HP BANK

HR BANK

性能接口,主要用于DDR或其他高速接口

BANK电压最高为1.8V

支持更广泛的电平标准,

BANK电压最高为3.3V

只支持LVDS18

支持LVDS33、LVDS25 、LVDS18

只支持1.2V,1.5V,1.8V供电,不再支持2.5V和3.3V供电

支持1.2V,1.5V,1.8V,2.5V以及3.3V供电

但在实际的使用过程中,我们会遇到FPGA引脚与LVDS(以及LVDS_33,LVDS_25)信号相连时兼容性的问题.

其实只要按照下面图 1和图 2流程进行判断即可。

针对LVDS的兼容性,图 1和图 2已经可以解决绝大多数问题了,这里做一些补充和解释。

  1. 很明确的结论:作为输入引脚时,VCCO不等于1.8V的Bank有可能可以连接LVDS电平标准输入;VCCO不等于2.5V的Bank有可能可以连接LVDS_25电平标准输入。但是作为LVDS输出引脚时, 相应Bank的VCCO必须与电平标准的电压相匹配。
  2. VCCO是IO Bank的Output Driver的驱动电源,Input Receiver中部分功能是由VCCAUX供电的。这就解释了为什么作为输入引脚时,电平标准可以与VCCO不匹配。当然Input Receiver也受到VCCO的影响,见第3条。
  3. 当LVDS作为输入引脚时,判断是否可以使用的第一条原则是,作为输入信号的绝对电平不能超过VCCO+0.2V这个绝对电压门限,否则有可能损坏引脚的Input Receiver。这是图 1和图 2中都做了 TxVOCM + TxVOD/2 < VCCO +0.2V

5.XILINX的LVDS输入引脚DC特性

当LVDS作为输入引脚时,判断是否可以使用的第二条原则就是对比信号输入与Xilinx相关器件的LVDS的共模电压以及差分摆幅的指标是否满足。例如Kintex系列的器件需要查阅DS182中的相关参数,如下图所示。

6.XILINX的LVDS输入电路设计

1)电路原理分析

为适应共模电压在宽范围内的变化,一般情况下,LVDS的接收器输入级还包括一个自动电平调整电路,该电路将共模电压调整为一固定值。

如下图所示,AC耦合电容将DC电压阻断,也就是TX端的共模电压不会传到RX端,RX端只能接收到差分的输入信号,而RX端的共模电压通过RBIAS进行调节,以满足RX端接收到的绝对电压不会超过VCCO+0.2的要求.

2)官方原理图示例

ZCU106使用了AC耦合电路(BANK供电为1.2V,而晶振的VOS1.2V,VCO = 0.35V)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/15261.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

保姆级教程Docker部署Zookeeper模式的Kafka镜像

目录 一、安装Docker及可视化工具 二、Docker部署Zookeeper 三、单节点部署 1、创建挂载目录 2、命令运行容器 3、Compose运行容器 4、查看运行状态 5、验证功能 四、部署可视化工具 1、创建挂载目录 2、Compose运行容器 3、查看运行状态 一、安装Docker及可视化工…

学习笔记:在华为云ModelArts上运行MindSpore扩散模型教程

目录 一、背景与目的 二、环境搭建 三、模型原理学习 1. 类定义与初始化 2. 初始卷积层 3. 时间嵌入模块 4. 下采样模块 5. 中间模块 6. 上采样模块 7. 最终卷积层 8. 前向传播 9. 关键点总结 四、代码实现与运行 五、遇到的问题及解决方法 六、总结与展望 教程来源&#xff1a…

Office/WPS接入DeepSeek等多个AI工具,开启办公新模式!

在现代职场中&#xff0c;Office办公套件已成为工作和学习的必备工具&#xff0c;其功能强大但复杂&#xff0c;熟练掌握需要系统的学习。为了简化操作&#xff0c;使每个人都能轻松使用各种功能&#xff0c;市场上涌现出各类办公插件。这些插件不仅提升了用户体验&#xff0c;…

学习 PostgreSQL 流复制

PostgreSQL 流复制 PostgreSQL数据库异常中止后&#xff0c;数据库刚重启时&#xff0c;会重放停机前最后一个checkpoint点之后的 WAL日志&#xff0c;在把数据库恢复到停机的状态后&#xff0c;自动进入正常的状态&#xff0c;可以接收其他用户的查询和修改。 想象另一个场景…

Python基础-元组tuple的学习

在 Python 中&#xff0c;元组&#xff08;tuple&#xff09;是一种不可变的序列类型&#xff0c;允许存储不同类型的元素。元组非常类似于列表&#xff08;list&#xff09;&#xff0c;但与列表不同的是&#xff0c;元组一旦创建&#xff0c;就不能修改其内容。 1 元组的创建…

Photoshop自定义键盘快捷键

编辑 - 键盘快捷键 CtrlShiftAltK 把画笔工具改成Q , 橡皮擦改成W , 涂抹工具改成E , 增加和减小画笔大小A和S 偏好设置 - 透明度和色域 设置一样颜色 套索工具 可以自定义套选一片区域 Shiftf5 填充 CtrlU 可以改颜色/色相/饱和度 CtrlE 合并图层 CtrlShiftS 另存…

如何在Android Studio中开发一个简单的Android应用?

Android Studio是开发Android应用的官方集成开发环境&#xff08;IDE&#xff09;&#xff0c;它提供了许多强大的功能&#xff0c;使得开发者能够高效地创建Android应用。如果你是Android开发的初学者&#xff0c;本文将引导你如何在Android Studio中开发一个简单的Android应用…

【Qt 常用控件】输入类控件1(QLineEdit和QTextEdit 输入框)

目录 1.QLineEdit 单行输入框 例&#xff1a;输入个人信息&#xff0c;通过按钮提交 例&#xff1a;为输入框设置验证器&#xff0c;检查输入的电话 例&#xff1a;验证两次输入的密码是否一致 例&#xff1a;是否显示密码按钮,toggled信号。 2.QTextEdit多行输入框 、QPl…

Bash (Bourne-Again Shell)、Zsh (Z Shell)

文章目录 1. 历史背景2. 主要区别3. 功能对比自动补全插件和主题路径扩展提示符定制 4. 性能5. 使用场景6. 如何切换 Shell7. 总结 以下是 Bash 和 Zsh 之间的主要区别&#xff0c;列成表格方便对比&#xff1a; 特性BashZsh默认Shell大多数Linux发行版默认ShellmacOS默认She…

Jetbrains IDE http客户端使用教程

简介 JetBrains IDE&#xff08;如IntelliJ IDEA&#xff0c; WebStorm&#xff0c; PhpStorm和PyCharm&#xff09;自带一个内置的HTTP客户端&#xff0c;允许直接从IDE发送HTTP请求&#xff0c;而无需使用第三方工具&#xff0c;如Postman或cURL。 JetBrains IDE 中的 HTTP…

android手机安装deepseek-r1:1.5b

序 本文主要展示一下如何在android手机上安装deepseek-r1:1.5b 步骤 安装termux 到https://termux.dev/cn/index.html去下载 然后执行termux-setup-storage以获取手机存储权限 安装构建依赖 pkg install git cmake golang下载ollama git clone --depth 1 https://gitee.…

U3D支持webgpu阅读

https://docs.unity3d.com/6000.1/Documentation/Manual/WebGPU-features.html 这里看到已经该有的差不多都有了 WOW VFX更是好东西 https://unity.com/cn/features/visual-effect-graph 这玩意儿化简了纯手搓一个特效的流程 如果按原理说就是compute shader刷position&#…

PWM波形输出

一、想要达到的效果 二、实现代码 因为是在1khz的频率下&#xff0c;所以用重新配置定时器0&#xff0c;定时长度为100微妙 void Timer0Init(void) //100微秒12.000MHz {AUXR | 0x80; //定时器时钟1T模式TMOD & 0xF0; //设置定时器模式TL0 0x50; //设置定时初值TH0 …

Spring Boot整合MQTT

MQTT是基于代理的轻量级的消息发布订阅传输协议。 1、下载安装代理 进入mosquitto下载地址&#xff1a;Download | Eclipse Mosquitto&#xff0c;进行下载&#xff0c;以win版本为例 下载完成后&#xff0c;在本地文件夹找到下载的代理安装文件 使用管理员身份打开安装 安装…

前端 CSS 动态设置样式::class、:style 等技巧详解

一、:class 动态绑定类名 v-bind:class&#xff08;缩写为 :class&#xff09;可以动态地绑定一个或多个 CSS 类名。 1. 对象语法 通过对象语法&#xff0c;可以根据条件动态切换类名。 <template><div :class"{ greenText: isActive, red-text: hasError }&…

TCP三次握手全方面详解

文章目录 (1) 三次握手各状态CLOSE状态SYN_SENT状态SYN_RECV状态ESTABLISHED状态 (2) 为什么握手时的seqnum是随机值&#xff0c;以及acknum的功能(3) 三次握手中的半连接队列&#xff08;SYN队列&#xff09;和全连接队列&#xff08;ACCEPT队列&#xff09;半连接队列全连接队…

基于Java的远程视频会议系统(源码+系统+论文)

第一章 概述 1.1 本课题的研究背景 随着人们对视频和音频信息的需求愈来愈强烈&#xff0c;追求远距离的视音频的同步交互成为新的时尚。近些年来&#xff0c;依托计算机技术、通信技术和网络条件的发展&#xff0c;集音频、视频、图像、文字、数据为一体的多媒体信息&#xff…

Docker Desktop安装到其他盘

Docker Desktop 默认安装到c盘&#xff0c;占用空间太大了&#xff0c;想给安装到其他盘&#xff0c;网上找了半天的都不对 正确安装命令&#xff1a; start /w "" "Docker Desktop Installer.exe" install --installation-dirF:\docker命令执行成功&am…

手动配置IP

手动配置IP&#xff0c;需要考虑四个配置项&#xff1a; 四个配置项 IP地址、子网掩码、默认网关、DNS服务器 IP地址&#xff1a;格式表现为点分十进制&#xff0c;如192.168.254.1 子网掩码&#xff1a;用于区分网络位和主机位 【子网掩码的二进制表达式一定是连续的&#…

Qt:常用控件

目录 控件概述 控件体系的发展 按钮类控件 QPushButton QRadioButton QCheckBox QToolButton 显示类控件 QLabel QLCDNumber QProgressBar QCalendarWidget 输入类控件 QLineEdit QTextEdit QComboBox QSpinBox QDateEdit & QTimeEdit QDial QSlider …