高速数字逻辑电平(8)之LVDS差分信号深度详解
LVDS(Low-Voltage Differential Signaling ,低电压差分信号)是美国国家半导体(National Semiconductor, NS,现TI)于1994年提出的一种信号传输模式的电平标准,它采用极低的电压摆幅高速差动传输数据,可以实现点对点或一点对多点的连接,具有低功耗、低误码率、低串扰和低辐射等优点,已经被广泛应用于串行高速数据通讯场合当中。
LVDS技术规范有两个标准,即TIA(电讯工业联盟)/EIA(电子工业联盟)的ANSI/TIA/EIA-644标准(LVDS接口也因此称为RS-644接口)与IEEE 1596.3标准。
LVDS电平标准采用一对(两根)差分信号线传输数据。我们最常见的差分信号线就是USB(Universal Serial Bus, 通用串行总线),现如今,任何一台PC电脑上都会有USB接口,它可以用来连接U盘、键盘、鼠标、打印机、移动硬盘等等,如下图所示:
HDMI(High Definition Multimedia Interface, 高清晰度多媒体接口)是一种数字化音视频接口技术,适合影像传输的专用型数字化接口,它由4对差分线组成。我们使用的SATA(Serial Advanced Technology Attachment,串行ATA接口规范)硬盘也包含接收与发送两对差分信号线,如下图所示:
有过DDR3 SDRAM应用经验的读者也会发现有几对差分线,如下图所示:
很遗憾地告诉大家,以上几种接口的差分信号线使用的都不是严格意义上的LVDS电平标准(但很多基础概念都是相通的),换言之,不是所有的差分信号线都是LVDS电平标准,使用差分信号线进行数据传输的具体电平有很多种,LVDS只是其中之一。
比如,HDMI使用TMDS(Time Minimized Differential Signal, 最小化传输差分信号),DDR3使用SSTL(Stub series terminated logic,短截线串联端接逻辑)。HDMI(TMDS)、USB与SATA使用的电平标准与LVDS很相似,但从其规范来看并不是标准的LVDS(它们也是“低电压差分信号”,但不是我们这里所说的LVDS),不能认为是同一种电平标准(就如同我们不能认为5V TTL电平标准与5V CMOS电平标准是相同的,尽管看起来参数差别不大),而SSTL(包括SSTL_3、SSTL_2、SSTL_18、SSTL_15)与LVDS就完全不是一个东西了。
当然,只要是使用差分信号线进行数据的传输应用,它们对于PCB布线的要求都是大同小异的,这一点我们将在《高速PCB设计》专栏文章中详述。
尽管如此(上面都不是LVDS电平标准),LVDS电平标准接口的应用场合还是非常广泛,LVDS接口的液晶显示屏就是其中之一,它是LCD Panel的通用接口标准。那么到底是什么原因使得LVDS这么受青睐呢?我们从最基本的LVDS硬件收发器来谈谈起。
通常大多数低速数字逻辑电平(如TTL、CMOS)是以电压对参考地的幅值来判断是高电平还是低电平,如下图所示:
而LVDS却完全不一样,它是通过数据接收器同相端与反相端的电压相对大小判断高低电平的,而不是通过同相端或反相端对公共地(GND)。
LVDS的发送器与接收器的基本结构如下图所示。它使用两根线(即差分信号线)来传输一个信号,并且使用恒流源(Current Source)驱动,即电流驱动型(而TTL、CMOS之类电平标准为电压驱动型)。
其中,驱动器(Driver)中的场效应管Q1、Q2、Q3、Q4(不一定是场效应管,因为LVDS技术规范主要侧重于LVDS接口的电气我、互连与线路端接,对于生产工艺、传输介质及供电电压无明确要求,也就是说,可以采用CMOS、GaAs或其它工艺实现,能抓到老鼠的黑猫白猫都是好猫)组成一个全桥开关电路,用来控制3.5mA恒流源的电流流动方向,接收器(Receiver)的同相与反相端之间并联了一个100欧姆的端接电阻,这样电流经过电阻即可产生电压,再经过接收器判断就形成了高低电平。
当Q2、Q3导通而Q1、Q4截止时,恒流源电流经Q3流向接收器,并向下穿过100欧姆端接电阻再返回至驱动端,最后经Q2到地(GND),3.5mA的电流在100欧姆电阻上产生350mV的压降,此时同相端电压高于反相端电压,输出为高电平“H”,如下图所示:
而当Q2、Q3截止而Q1、Q4导通时,恒流源电流经Q1向右流向接收器,并向上穿过100欧姆端接电阻再返回至驱动端,最后经Q4到地(GND),3.5mA的电流在100欧姆电阻上也产生350mV的压降,但此时同相端电压低于反相端电压,输出为高电平“L”,如下图所示:
通常我们将LVDS接收器与发送器简化成类似下图所示:
如下图所示(来自TI公司LVDS收发芯片SN65LVDS180数据手册)
从LVDS结构原理可以看出,一对差分信号线只能够进行一个方向的数据传输,即单工通信(也称为点对点传输,point-to-point),但是我们常见的USB接口也只是使用一对差分信号线,为什么却可以双向传输呢?原因很简单,它是使用两对驱动器与接收器组合而成的,如下图所示:
这是一种半双工(half duplex)的配置结构,也就是说,在任意时刻差分信号线仍然只能是往一个方向传输数据,但可以分时进行双向数据传输,当驱动器1向接收器1发送数据时,驱动器2与接收器2相当于无效的,反之亦然。
当然,USB总线的实际结构要复杂得多,如下图所示(来自USB2.0规范,扯远了)
我们来看看如下图所示的LVDS驱动器电气参数(来自TI公司LVDS收发芯片SN65LVDS180数据手册)
上表中的VOD(Differential output voltage magnitude)即驱动器的差分输出电压幅度,也就是前述在端接电阻上产生的350mV压降,我们可以用下图所示(注意:是差模信号):
表中还有一个VOC(SS)(Steady-state common-mode output voltage)即稳态共模输出电压是个什么东西呢?我也不是很明白!咱们按图索骥找到数据手册中的Figure 3,如下图所示:
哦,原来是当驱动器输入数字信号(未转换成LVDS信号前)时,转换出来的LVDS信号电压对公共地的平均值,也称为VOS(Offset Voltage,),TI公司的其它数据手册有使用VOS如下图所示:(来自TI公司的LVDS收发芯片型号SN65LVDS049数据手册)
我们之前讲过,当使用LVDS电平标准传输高低电平时,接收端收到了+350mV或-350mV的压降只是差模信号,实际上还有一定的共模信号,它不影响接收器进行数据的判断。
当驱动器向接收器发送高电平“H”时,其等效图如下所示(注意:这个等效图仅适合传输线非常短的条件下):
当驱动器向接收器发送低电平“L”时,其等效图如下图所示
综合以上两种等效电路,我们有如下图所示的电平波形图:
换言之,当LVDS进行高低电平切换时,电流源的电流在换向的瞬间,端接电阻流过的电流为零,因此端接电阻两端的电压就是VOS(电阻两端电压相同,因此没有压降,也没有电流),如下图所示:
当然,这个电流换向转换瞬间非常短,通常只有几百皮秒,如下图所示:
接收器的输入电气参数如下图所示:
因此我们也可以用下图表示LVDS电平标准的噪声容限(关于噪声容限请参考《逻辑门2》)
从图中可以看到,LVDS电平标准的噪声容限约为1.075V(一般认为其噪声容限为 1V)这里我们只是根据TI数据手册画出电平标准图,没有做任何修改,不同厂家的信息可能略有不同。
导演,讲了半天还没提到为什么LVDS信号速度快、抗干扰能力强呀?为什么有些差分线串联了电容?为什么不同差分线的阻抗会不一样?了解了这些基础知识,我们下节再来讨论一下LVDS电平标准的这些特点。
高速数字逻辑电平(8)之LVDS差分信号深度详解的更多相关文章
- [nRF51822] 5、 霸屏了——详解nRF51 SDK中的GPIOTE(从GPIO电平变化到产生中断事件的流程详解)
:由于在大多数情况下GPIO的状态变化都会触发应用程序执行一些动作.为了方便nRF51官方把该流程封装成了GPIOTE,全称:The GPIO Tasks and Events (GPIOTE) . ...
- 用数据泵技术实现逻辑备份Oracle 11g R2 数据泵技术详解(expdp impdp)
用数据泵技术实现逻辑备份 from:https://blog.csdn.net/weixin_41078837/article/details/80618916 逻辑备份概述 逻辑备份时创建数据库对象 ...
- [leetcode]1109. 航班预订统计(击败100%用户算法-差分数组的详解)
执行用时2ms,击败100%用户 内存消耗52.1MB,击败91%用户 这也是我第一次用差分数组,之前从来没有碰到过,利用差分数组就是利用了差分数组在某一区间内同时加减情况,只会改变最左边和最右边+1 ...
- Xilinx Vivado器件分配管脚:LVDS差分电平信号如何分配管脚?
最近在把Quartus Prime 15.1的工程移植到Vivado 2019.1,需要改变的地方还是很多的,先记一下差分信号在FPGA中的收发管脚定义和配置.以LVDS信号为例吧. 在7 Serie ...
- FPGA学习笔记(三)—— 数字逻辑设计基础(抽象的艺术)
FPGA设计的是数字逻辑,在开始用HDL设计之前,需要先了解一下基本的数字逻辑设计-- 一门抽象的艺术. 现实世界是一个模拟的世界,有很多模拟量,比如温度,声音······都是模拟信号,通过对模拟信号 ...
- 数字逻辑与EDA设计
目录 第一章 数字逻辑基础 1.1数制与码制★★★ 数制 码制 1.2基本及常用的逻辑运算★★ 1.2逻辑函数表示方法★★ 1.3逻辑函数的化简★★★ 1.4常用74HC系列门电路芯片★ 第二章 组合 ...
- 数字逻辑实践2->Verilog编写规范
来源:数字逻辑与Verilog设计实验课讲解,个人做的笔记与整理. 00 规范的重要性 良好的编程风格有利于减少消耗的硬件资源,提高设计的工作频率 . 提高系统的可移植性和可维护性. 程序的格式化能体 ...
- 数字逻辑实践4->面向硬件电路的设计思维--FPGA设计总述
本文是对实验课上讲解的"面向硬件电路的设计思维"的总结,结合数字逻辑课本,进行提炼和整理. 主要来源是课件与本人整理,部分参考了网络大佬的博客. 本文主要介绍不同于之前软件设计思维 ...
- 数字逻辑实践5->Verilog语法 | wire 与 reg 的选择与特性
问题起因:最初学习数字逻辑设计理论的时候还没有注意到,在实验课上写代码的时候发现了一个问题: 对于源码模块的变量定义,何时定义为reg.何时定义为wire?它们各自又有什么特性和物理意义? 1. wi ...
随机推荐
- MindSpore模型验证
技术背景 在前面一篇博客中,我们介绍了MindSpore在机器学习过程中保存和加载模型的方法.这种将模型存储为静态文件的做法,使得我们可以更灵活的使用训练出来的模型,比如用于各种数据集的验证,或者是迁 ...
- .Net Core·热加载的实现及测试
阅文时长 | 0.25分钟 字数统计 | 460字符 主要内容 | 1.引言&背景 2.解决原理&方法 3.声明与参考资料 『.Net Core·热加载的实现及测试』 编写人 | SC ...
- Linux软件安装管理之——dpkg与apt-*详解
Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件安装管理之--源码安装详解> - -<Linux软件安装管 ...
- numpy tile()函数
tile(A,B)即在B的方向上,重复A 直接举栗子: A=[1,2] tile(A,2) 此时B=(2) ,B的方向仅包含列方向,将A在列方向上重复一次,得出结果如图1所示 图1-将A在列方向重 ...
- 【玩转PDF】贼稳,产品要做一个三方合同签署,我方了!
一.前言 事情是这个样子的,小农的公司,之前有个功能需要签署来进行一系列的操作,于是我们引入了一个三方平台的签署--上上签,但是有一个比较尴尬的点就是,它不支持合同在浏览器上和附件一起预览的,我们想要 ...
- Redis(3)- 数据结构
一.Redis数据结构 Redis数据结构:Redis在数据类型上常用的有5种数据类型,而底层实现拥有种.可以使用命令OBJECT ENCODING K1查询底层数据结构. # 查询key的底层数据类 ...
- 拉仇恨!webhook + 企业微信给同事做了个代码提交监听工具
本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,我是小富~ 最近接个任务,用webhook做了个代码提交监听功能,就是有人 ...
- Linux-SSH介绍与认证方式
Linux SSH 前言: 在实际的生产环境中,运维人员经常要使用本地的计算机对远程主机进行控制工作,TCP/IP协议提供了两种协议来完成这样的操作,分别为Telnet协议和SSH协议. 由于Teln ...
- Raft: 一点阅读笔记
前言 如果想要对Raft算法的了解更深入一点的话,仅仅做6.824的Lab和读<In Search of an Understandable Consensus Algorithm>这篇论 ...
- ImportError:no mudle named 'cv2'
提供一下下载的网址:OpenCV,速度比较慢. 我的anaconda版本Python是3.6的,直接提供百度云下载: 链接:https://pan.baidu.com/s/1Xz9JrE2m-dwPv ...