对LVDS的浅显理解
文章参考百度文库:LVDS标准及介绍
LVDS与VB1的对比:LVDS与VB1详细介绍
1、LVDS简介
LVDS( Low Voltage Differential Signaling)是一种低摆幅的差分信号技术,它使得信号能在差分PCB线对或平衡电缆上以几百Mbps的速率传输,其低压幅和低电流驱动输出实现了低噪声和低功耗。
1.1LVDS信号传输组成
LVDS信号传输一般由三部分组成,如图1所示:差分信号发送器,差分信号互联器,差分信号接收器。
差分信号发送器:将非平衡传输的TTL信号转换成平衡传输的LVDS信号。通常由一个IC来成。
差分信号接收器:将平衡传输的LVDS信号转换成非平衡传输的TTL信号。通常由一个IC来成。
差分信号互联器:包括联接线(电缆或者PCB走线),终端匹配电阻。
1.2 工作原理
如上图所示,LVDS驱动器由一个驱动差分线对的电流源组成(通常电流为3.5mA),LVDS接收器具有很高输入阻抗,因此驱动器输出的电流大部分都流过100Ω的匹配电阻,并在接收器的输入端产生大约350mV的电压。
驱动器的输入为两个相反的电平信号,四个nMOS管的尺寸工艺是完全相同的。当输入为“1”时,标号IN+的一对管子导通,另一对管子截止,电流方向如上图所示,并产生大约350mV的压降;反之,输入为“0”时,电流反向,产生大约350mV的压降。这样根据流经电阻的电流方向,就把要传输的数字信号(CMOS信号)转换成了电流信号(LVDS信号)。接受端可以通过判断电流的方向就得到有效的逻辑“1”和逻辑“0”状态从而实现数字信号的传输过程。
由于MOS管的开关速度很高,并且LVDS的电压摆幅低(350mV),因此可以实现高速传输。其电平特性如下图所示
1.3 LVDS技术特点
LVDS技术和其他的接口相比,有着很大的优势,主要表现在下面几个方面:
1)高速率:由于LVDS逻辑状态间的电压变化仅为350mV,因而能非常快地改变状态从而实现高速率。
2)低功耗:随着工作频率的増加,LVDS的电源电流仍保持平坦,而CMOS和GTL技术的电源电流则会随频率增加而呈指数上升,这得益于使用恒流线路驱动器。电流源把输出电流限制到约3.5mA(功耗约为1.2mW),同时也限制跳变期间产生的任何尖峰电流。这样在得到高达1.5Gbps的高数据率的同时而不明显增加功耗。恒流驱动输出还能容忍传输线的短路或接地,而不会产生热问题。LVDS降低了终端电阻压降,因此还降低了电路的总功耗。
3)噪声性能好:LVDS产生的电磁干扰低。这是因为低电压摆幅、低边缘速率、奇模式差分信号,以及恒流驱动器的Is尖峰只产生很低的辐射。通过减小电压摆幅和电流能量,LVDS把场强减到了最小;差分驱动器引入了奇模式传输,即等量方向相反的电流分别在传输线上传输,形成电流环路,使电流回路产生最低的电磁干扰;在差分信号的传输中,由于差分接受器只响应正负输入之差,因此当噪声同时出现在两个输入中时,差分信号的幅度并不受影响。
4)具有故障安全(fai-safe)特性确保可靠性:恒流式驱动不会对系统造成任何损害,所以LVDS驱动器可以带电插拔,另一特点是接收器的故障保抑功能。LVDS接收器在内部提供了可靠性线路,保证在接收器输入悬空、接收器输入短路以及接收器输入处于驱动器三态输出或驱动器供电终止等情况下输出可靠(约定为“1”),防止产生输出振荡。
对LVDS的浅显理解的更多相关文章
- C语言中对文件的读写的一些浅显理解
前述:基于上学期完成的数据结构的课程设计,对于老师的提出要求实现的基础上,自己在使用过程中发现每次打开程序都需要重新输入数据,于是便决定,将文件读写功能加入此次课程设计中,以下是我的一些心得和浅显理解 ...
- Java反射的浅显理解
一.回顾反射相关的知识 1.在xml文件中使用反射的好处: 1)代码更加灵活,后期维护只需要修改配置文件即可 · 初学者一般习惯于在代码本身上直接修改,后期也可以修改配置文件达到相同的目的 · 修改配 ...
- Java学习笔记16---抽象类与接口的浅显理解
抽象类是由abstract修饰的类,定义方式如public abstract class A{...}. 接口由interface修饰,定义方式如public interface B{...}. 抽象 ...
- 个人对【依赖倒置(DIP)】、【控制反转(IOC)】、【依赖注入(DI)】浅显理解
一.依赖倒置(Dependency Inversion Principle) 依赖倒置是面向对象设计领域的一种软件设计原则.(其他的设计原则还有:单一职责原则.开放封闭原则.里式替换原则.接口分离原则 ...
- Java反射机制的浅显理解(这篇文章还没写好,留个草稿给自己看的)
目前只是有一个大概的理解,先把自己感觉容易立即的概念放这里,等以后结合实际工作理解深刻了再来补充. 一.什么是Java反射机制?(多种定义) 1. JAVA反射机制是在运行状态中,对于任意一个类,都能 ...
- iOS 中架构模式的浅显理解
我们开发软件中应用各种模式,主要是为了 职责划分:一个类只做一件事 易用,可维护,方便扩展 解耦,相互独立,可单独测试 各种设计模式其实都是在解决上面的问题,让我们对比看看吧. 一.如何理解MVC设计 ...
- KMP算法最浅显理解——一看就明确
说明 KMP算法看懂了认为特别简单,思路非常easy,看不懂之前.查各种资料,看的稀里糊涂.即使网上最简单的解释,依旧看的稀里糊涂. 我花了半天时间,争取用最短的篇幅大致搞明确这玩意究竟是啥. 这里不 ...
- ST表 「 从入门到入门 · 浅显理解 」
ST 表是个好东西,虽然前些天 ldq 学长已经讲完啦,但是那天他讲了那么多,让智商受限的我完全没有全部接受,选择性的扔掉了一部分(其实不舍的扔,记不住QAQ). ST 表最简单的应用就是查询区间最大 ...
- 我对java多进程多线程的浅显理解
linux内核调度算法--CPU时间片如何分配: http://blog.csdn.net/russell_tao/article/details/7103012(转载) ,通过该文章我们知道了进程 ...
- KMP算法最浅显理解——一看就明白
https://blog.csdn.net/starstar1992/article/details/54913261 说明 KMP算法看懂了觉得特别简单,思路很简单,看不懂之前,查各种资料,看的稀里 ...
随机推荐
- 【C/C++】main函数中的argc和argv
1.简述argc和argv 当你用命令行执行文件时,可在后面接指令,以控制程序的运行 argc(argument counter)表示指令的数量 argv(argument vector)表示指令向量 ...
- loj2511
引言 思维题. 这个做法跑得飞快,还不用 dp,也不是爆搜! 复杂度(可能)为 \(O(s^2t)\) 或 \(O(s^2)\),实际效率也是飞快. 不过这题我直接提交答案了. 思路 考虑 \(A=m ...
- mybatis_pagehelper_selectOne的SQL语句被莫名的增加分页相关设置,暂定解决办法
在使用mybatis.以及其分页插件pagehelper时,原本的一个selectOne的sql语句被莫名(原因未知)的加上了分页相关,引起如下异常: exception is org.apache. ...
- CF单机版终极猎手30人版安装教程
本游戏是CF的单机版本,内含终极猎手30人版,可变身四种终极猎手.这个版本只有这一种模式,没有其他的幽灵模式.生化模式.爆破模式.团队模式等等,如果想玩上述的模式,你可以在其他地方找.值得注意的是这个 ...
- MNIST数据集output with shape [1, 28, 28] doesn't match the broadcast shape [3, 28, 28]
transform = transforms.Compose([ transforms.ToTensor(), transforms.Lambda(lambda x: x.repeat(3,1,1)) ...
- 题解[HEOI2013]SAO.md
题意 给定一棵树,边有方向.要给点重标号,使得边都由小编号指向大编号,求重标号方案数. \(n\le10^5\) 思路 有关树的计数.套路性考虑树形 DP. 设计状态 \(f_{u}\) 表示 \(u ...
- Linux系统Shell脚本第五章:shell数组、正则表达式及文件三剑客之AWK
目录 一.shell数组 1.数组分类 2.定义数组方法 二.正则表达式 1.元字符 2.表示次数 3.位置锚定 4.分组 5.扩展正则表达式 三.文本三剑客之AWK 1.awk 2.使用格式 3.处 ...
- Android集成并开启手写笔识别
1.首先,需要下载Pdf xchange View SDK,然后将其集成到Android项目中: 2.在Android项目中,添加以下依赖: implementation 'com.github.PD ...
- vue3使用echarts插件并实现点击下载图表功能
接到一个新的需求,就是用vue3制作一幅世界地图,并实现点击下载按钮将图表转变为图片下载到本地. 使用插件: html2canvasnpm安装: npm install html2canvas组件引入 ...
- PK获取面积
BOOL PK_AskFaceAreas(tag_t face_tag, double tol, double &areas) {//获得面积 tag_t ps_tag = NULL_TAG; ...