差分标准

和单端IO不同的是,差分电平使用两根信号线来传达信号,这两根信号线在传输过程中如果遇到同样的噪声源(共模噪声)干扰,在接收端,这样的共模噪声会在两个信号相减时消除,这样并不会给接收电平造成影响。

在单端信号的传输过程中,信号往往以电源平面或地平面作参考平面,而在差分电平中,由于两根线的电流方向相反,因此两者产生的电磁场相互抵消。向外辐射的地磁波更少,也就是减小了EMI,同样也减小了对参考平面的依赖,在传输过程中,两根电流大小一样,方向相反的信号线互为参考。不过,信号线与电源平面或地平面之间的距离等因素会影响信号线的差分阻抗。

下图所示,可以明显地看到两个差分信号线之间的电磁场。由于两者的电流大小相等,方向相反,于是他们之间的电磁场相互抵消,同时减少了对外的辐射。两者之间的电磁场越强,对外辐射也就越小。

微带线(microstrip)

带状线(stripline)

LVDS是一种常见的差分电平,如下图:

LVDS驱动器和接收器

在LVDS驱动器中,采用一个恒流源(大约3.5mA)输出,由于输入端的输入阻抗非常高,绝大部分的驱动电流流经100欧姆电阻,因此在接收器的输入端,两个信号线之间,产生了一个100*3.5=350mV的输入电压。当驱动器的输入电平翻转时,流经100欧姆电阻的电流方向就发生了变化,于是就会在电阻两端形成“0”和“1”两种逻辑状态。

和LVTTL/LVCMOS标准直接输出电压幅度信号不同的是,LVDS的驱动器输出是电流信号,由电流信号在接收端的差分匹配电阻上产生了一个合适的电压幅度信号,作为接收器的判决电平。因此,业界也把这种驱动器叫做电流模式(current mode)驱动器。

电压模式的驱动器,在静态时可以认为其输出的电流为0,而信号在翻转时,会产生较大的瞬态电流(Icc),Icc的大小随着时钟频率的增加而成指数增加,会给系统引入较大的开关噪声,尤其是在信号的边沿比较陡的时候,这种问题尤为严重。而电流模式的驱动器就不存在这种问题,LVDS的驱动器从电源汲取的电流值是恒定的大约3.5mA,无论信号如何翻转,这个电流值时钟不变,只是其在传输信号上的方向不同而已。而且LVDS的信号边沿相对比较缓,对保持信号完整性也是有好处的。

单端标准的信号一般是以地做参考,输出一定幅值的电压信号。而差分信号的输出有一个固定的共模输出电压(Vocm),如LVDS是1.2V,正端和负端的信号都是在这个共模电压的上下来回摆动的。在差分输入端,信号的输入共模电压允许在一定范围之内,如LVDS的信号输入的电平允许的值是0~2.4V,这样即使信号在传输过程中出现较大的共模干扰,也会在接收端相互抵消,如下图:

共模噪声的抵消

下图所示为几种差分电平标准的共模输出电压和输出摆幅示意图。

差分电平输出幅度示意图

与LVDS相比,LVPECL电平的输出结构是一对射极跟随器(emitter follower),它的特点是翻转速度很快,但是直流电流很大,大概为14mA。LVPECL的驱动器的输出阻抗很小,因此其驱动能力非常强,如下图:

LVPECL驱动器结构

CML也是一种常用的差分电平标准,其驱动器又一个共射极差分对直接输出。CML电平常用在高速的网络和通信设备中,其串行数据速率可以做到非常高,如10Gbit/s,如下图:

CML驱动器结构

对差分信号加终端电阻时,也可以采用FLY-BY的布PCB线,以尽量减少由于匹配电阻造成的短线,影响信号质量,如下图:

差分匹配的FLY-BY方式


版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处

作者:杭州卿萃科技ALIFPGA

原文地址:杭州卿萃科技FPGA极客空间 微信公众号


扫描二维码关注杭州卿萃科技FPGA极客空间


差分IO标准的更多相关文章

  1. 单端IO标准

    单端标准 常用的单端IO标准是LVTTL和LVCMOS. 目前业界绝大部分FPGA/CPLD器件的LVCOMS的IO是由CMOS推挽(push-pull)驱动器构成的,这种结构是上面的PMOS管和下面 ...

  2. C++重载输入和输出操作符以及IO标准库中的刷新输入缓冲区残留字符问题

    今天在做C++ Primer习题的14.11时,印象中应该挺简单的一题,结果却费了很长时间. 类定义: typedef string Date; class CheckoutRecord{ publi ...

  3. 走进C++程序世界------IO标准库介绍

    流概述    流是C++标准的组成部分,流的主要目标是,将从磁盘读取文件或将输入写入控制台屏幕的问题封装起来,创建流后程序猿就能够使用它.流将负责处理全部的细节. IO类库 在C++输入、输出操作是通 ...

  4. 第十三篇:带缓冲的IO( 标准IO库 )

    前言 在之前,学习了 read write 这样的不带缓冲IO函数. 而本文将讲解标准IO库中,带缓冲的IO函数. 为什么要有带缓冲IO函数 标准库提供的带缓冲IO函数是为了减少 read 和 wri ...

  5. 带缓冲的IO( 标准IO库 )

    前言 在之前,学习了 read write 这样的不带缓冲IO函数.而本文将讲解标准IO库中,带缓冲的IO函数. 为什么要有带缓冲IO函数 标准库提供的带缓冲IO函数是为了减少 read 和 writ ...

  6. c++ io标准库2

    转自:http://www.2cto.com/kf/201110/109445.html 接下来我们来学习一下串流类的基础知识,什么叫串流类? 简单的理解就是能够控制字符串类型对象进行输入输出的类,C ...

  7. Spartan6系列之SelectIO深入详解及高级应用简介

    1.      什么是I/O Tile? 对Spartan-6系列FPGA来说,一个IO Tile包括2个IOB.2个ILOGIC.2个OLOGIC.2个IODELAY. 图 1Spartan-6系列 ...

  8. C++ 标准IO库

    <C++ Primer 4th>读书笔记 C++ 的输入/输出(input/output)由标准库提供.标准库定义了一族类型,支持对文件和控制窗口等设备的读写(IO).还定义了其他一些类型 ...

  9. C++ Primer 读书笔记: 第8章 标准IO库

    第8章 标准IO库 8.1 面向对象的标准库 1. IO类型在三个独立的头文件中定义:iostream定义读写控制窗口的类型,fstream定义读写已命名文件的类型,而sstream所定义的类型则用于 ...

随机推荐

  1. 转载:ensemble计划和数据库

    原文来源:x2yline在生信进化树上的评论,http://www.biotrainee.com/thread-626-1-1.html Ensemble( ensembl.org网站是常用真核生物参 ...

  2. iOS下的WiFi开发

    iOS下Wi-Fi开发需要添加依赖库SystemConfiguration.framework,在需要使用Wi-Fi信息的控制器下引入头文件#import <SystemConfiguratio ...

  3. mysqldump 的常用操作

    以下是 mysqldump 的一些使用参数 备份数据库#mysqldump 数据库名 >数据库备份名 #mysqldump -A -u用户名 -p密码 数据库名>数据库备份名 #mysql ...

  4. 字符串匹配算法BF和KMP总结

    背景 来看一道leetcode题目: Implement strStr(). Returns the index of the first occurrence of needle in haysta ...

  5. scrapy的操作

  6. Java中finally关键字的使用(转)

    与其他语言的模型相比,finally 关键字是对 Java 异常处理模型的最佳补充.finally 结构使代码总会执行,而不管有无异常发生.使用 finally 可以维护对象的内部状态,并可以清理非内 ...

  7. ubuntu安装vmplayer出现问题的解决方法

    ubuntu安装vmplayer 出现问题的解决方法 1:ubuntu12.04安装vmware12出现cannot ope dev/vmmon及modprobe vmmon提示密钥无效的解决办法 笔 ...

  8. 一款简易的CSS3扁平化风格联系表单

    CSS3扁平化风格联系表单是一款CSS3简易联系表单非常清新,整体外观不是那么华丽,但是表单扁平化的风格让人看了非常舒服,同时利用了HTML5元素的特性,表单的验证功能变得也相当简单.经测试效果相当不 ...

  9. RelativeSource={RelativeSource TemplatedParent}

    <!--按钮样式开始-->     <Style x:Key="NotifyBtnStyle" TargetType="{x:Type commondC ...

  10. WPF绑定数据源之RelativeSource

    Command="{Binding ConfirmRegisterCommand}" CommandParameter="{Binding RelativeSource= ...