跳转到主要内容

逻辑电平之基本概念(1)

judy 提交于

<font color="#FF8000">作者:XCZ ,来源:硬件助手微信公众号</font>

本篇为逻辑电平系列文章中的第一篇,主要介绍逻辑电平相关的一些基本概念。后续将会介绍常见的单端逻辑电平(针对CMOS的闩锁效应进行详细介绍)、差分逻辑电平、单端逻辑电平的互连、差分逻辑电平的互连、一些特殊功能的互连、逻辑互连中的电流倒灌问题、以及逻辑电平的转换等。

<strong>1、常见逻辑电平</strong>

常见的逻辑电平如下:

<li>单端:TTL、CMOS、LVTTL、LVCMOS、GTL、BTL、ETL、GTLP、SSTL2-I、SSTL2-II、SSTL3-I、SSTL3-II、HSTL-I、HSTL-II、HSTL-III、HSTL-IV、HSUL_12、POD12、POD10等;</li>

<li>差分:ECL、PECL、LVPECL、LVDS、BLVDS、LP-LVDS、CML、DIFF_HSTL、DIFF_SSTL、DIFF_HSUL、TMDS、PPDS、RSDS等。</li>

TTL逻辑输出形式包括集电极开路输出(OC)、三态门输出(TSL)、复合管(达林顿管)和图腾柱输出。

开路的TTL、CMOS、ECL门分别称为集电极开路(OC)、漏极开路(OD)、发射极开路(OE),使用时OC、OD门需要接阻值合适的上拉电阻,OE门需要接阻值合适的下拉电阻。

常见逻辑电平的标准如下:
<li>RS232:ANSI/TIA/EIA-232-F-1997</li>
<li>RS422:ANSI/TIA/EIA-422-B</li>
<li>RS485:ANSI/TIA/EIA-485-A</li>
<li>LVTTL/LVCMOS:JESD8-5,JESD8-B</li>
<li>SSTL:JESD8-8,JESD8-9B,JESD8-15</li>
<li>HSTL:JESD8-6</li>
<li>POD12:JESD8-24</li>
<li>LVDS:ANSI/TIA/EIA 644</li>
<li>SCI-LVDS:IEEE 1596.3</li>
<li>MLVDS:ANSI/TIA/EIA 899-2001</li>

<strong>2、逻辑电平的基本概念</strong>
<li>输入高电平下限(Vih):保证逻辑门的输入为高电平时所允许的最小输入高电平,当输入电平高于Vih时,则认为输入电平为高电平。</li>
<li>输入低电平上限(Vil):保证逻辑门的输入为低电平时所允许的最大输入低电平,当输入电平低于Vil时,则认为输入电平为低电平。</li>
<li>输出高电平下限(Voh):保证逻辑门的输出为高电平时的输出电平的最小值(最小输出高电平),逻辑门的输出为高电平时的电平值都必须大于此Voh。</li>
<li>输出低电平上限(Vol):保证逻辑门的输出为低电平时的输出电平的最大值(最大输出低电平),逻辑门的输出为低电平时的电平值都必须小于此Vol。</li>
<li>阀值电平(Vt):数字电路芯片都存在一个阈值电平,就是电路刚刚勉强能翻转动作时的电平。它是一个界于Vil、Vih之间的电压值,对于CMOS电路的阈值电平,基本上是二分之一的电源电压值,但要保证稳定的输出,则必须要求输入高电平>Vih,输入低电平<Vil。对于一般的逻辑电平,以上参数的关系如下:Voh>Vih>Vt>Vil>Vol。</li>
<li>Ioh:逻辑门输出为高电平时的负载电流(为拉电流)。</li>
<li>Iol:逻辑门输出为低电平时的负载电流(为灌电流)。</li>
<li>Iih:逻辑门输入为高电平时的电流(为灌电流)。</li>
<li>Iil:逻辑门输入为低电平时的电流(为拉电流)。</li>

<div id="mytable">
<body>
<table border="1" cellpadding="0" cellspacing="0">
<tbody>
<tr></tr>
<tr>
<td width="76" valign="top"><p><br />
VCC</p></td>
<td width="75" valign="top"><p>Voh</p></td>
<td width="74" valign="top"><p>Vih</p></td>
<td width="74" valign="top"><p>Vt</p></td>
<td width="74" valign="top"><p>Vil</p></td>
<td width="74" valign="top"><p>Vol</p></td>
<td width="76" valign="top"><p>GND</p></td>
</tr>
<tr>
<td width="134" valign="top"><p>TTL(4.5~5.5V)</p></td>
<td width="76" valign="top"><p>5</p></td>
<td width="75" valign="top"><p>2.4</p></td>
<td width="74" valign="top"><p>2</p></td>
<td width="74" valign="top"><p>1.5</p></td>
<td width="74" valign="top"><p>0.8</p></td>
<td width="74" valign="top"><p>0.4</p></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>CMOS(4.5~5.5V)</p></td>
<td width="76" valign="top"><p>5</p></td>
<td width="75" valign="top"><p>4.44</p></td>
<td width="74" valign="top"><p>3.5</p></td>
<td width="74" valign="top"><p>2.5</p></td>
<td width="74" valign="top"><p>1.5</p></td>
<td width="74" valign="top"><p>0.5</p></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>LVTTL(3~3.6V)</p></td>
<td width="76" valign="top"><p>3.3</p></td>
<td width="75" valign="top"><p>2.4</p></td>
<td width="74" valign="top"><p>2</p></td>
<td width="74" valign="top"><p>1.5</p></td>
<td width="74" valign="top"><p>0.8</p></td>
<td width="74" valign="top"><p>0.4</p></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>LVCMOS(2.7~3.6V)</p></td>
<td width="76" valign="top"><p>3.3</p></td>
<td width="75" valign="top"><p>2.4</p></td>
<td width="74" valign="top"><p>2</p></td>
<td width="74" valign="top"><p>1.5</p></td>
<td width="74" valign="top"><p>0.8</p></td>
<td width="74" valign="top"><p>0.4</p></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>LVTTL(2.3~2.7V)</p></td>
<td width="76" valign="top"><p>2.5</p></td>
<td width="75" valign="top"><p>2</p></td>
<td width="74" valign="top"><p>1.7</p></td>
<td width="74" valign="top"><p>1.2</p></td>
<td width="74" valign="top"><p>0.7</p></td>
<td width="74" valign="top"><p>0.2</p></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>LVCMOS(2.3~2.7V)</p></td>
<td width="76" valign="top"><p>2.5</p></td>
<td width="75" valign="top"><p>2.3</p></td>
<td width="74" valign="top"><p>1.7</p></td>
<td width="74" valign="top"><p>1.2</p></td>
<td width="74" valign="top"><p>0.7</p></td>
<td width="74" valign="top"><p>0.2</p></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>LVCMOS</p></td>
<td width="76" valign="top"><p>1.8</p></td>
<td width="75" valign="top"><p>1.35</p></td>
<td width="74" valign="top"><p>1.17</p></td>
<td width="74" valign="top"><p>0.9</p></td>
<td width="74" valign="top"><p>0.63</p></td>
<td width="74" valign="top"><p>0.2</p></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>LVCMOS</p></td>
<td width="76" valign="top"><p>1.5</p></td>
<td width="75" valign="top"><br /></td>
<td width="74" valign="top"><br /></td>
<td width="74" valign="top"><br /></td>
<td width="74" valign="top"><br /></td>
<td width="74" valign="top"><br /></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>LVCMOS</p></td>
<td width="76" valign="top"><p>1.2</p></td>
<td width="75" valign="top"><br /></td>
<td width="74" valign="top"><br /></td>
<td width="74" valign="top"><br /></td>
<td width="74" valign="top"><br /></td>
<td width="74" valign="top"><br /></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>LVDS(RS644)</p></td>
<td width="76" valign="top"><p>2.4</p></td>
<td width="75" valign="top"><p>1.32</p></td>
<td width="74" valign="top"><p>1.26</p></td>
<td width="74" valign="top"><p>1.2</p></td>
<td width="74" valign="top"><p>1.15</p></td>
<td width="74" valign="top"><p>1.07</p></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>ECL</p></td>
<td width="76" valign="top"><p>-5.2</p></td>
<td width="75" valign="top"><br /></td>
<td width="74" valign="top"><br /></td>
<td width="74" valign="top"><br /></td>
<td width="74" valign="top"><br /></td>
<td width="74" valign="top"><br /></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>PECL</p></td>
<td width="76" valign="top"><p>5</p></td>
<td width="75" valign="top"><p>4.12</p></td>
<td width="74" valign="top"><p>3.76</p></td>
<td width="74" valign="top"><p>3.7</p></td>
<td width="74" valign="top"><p>3.64</p></td>
<td width="74" valign="top"><p>3.28</p></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>LVPECL</p></td>
<td width="76" valign="top"><p>3.3</p></td>
<td width="75" valign="top"><p>2.42</p></td>
<td width="74" valign="top"><p>2.06</p></td>
<td width="74" valign="top"><p>2</p></td>
<td width="74" valign="top"><p>1.94</p></td>
<td width="74" valign="top"><p>1.58</p></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>ETL(4.5~5.5V)</p></td>
<td width="76" valign="top"><p>5</p></td>
<td width="75" valign="top"><p>2.4</p></td>
<td width="74" valign="top"><p>1.6</p></td>
<td width="74" valign="top"><p>1.5</p></td>
<td width="74" valign="top"><p>1.4</p></td>
<td width="74" valign="top"><p>0.6</p></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>BTL/FB</p></td>
<td width="76" valign="top"><br /></td>
<td width="75" valign="top"><p>2.1</p></td>
<td width="74" valign="top"><p>1.62</p></td>
<td width="74" valign="top"><p>1.55</p></td>
<td width="74" valign="top"><p>1.47</p></td>
<td width="74" valign="top"><p>1.1</p></td>
<td width="76" valign="top"><p>1</p></td>
</tr>
<tr>
<td width="134" valign="top"><p>GTL</p></td>
<td width="76" valign="top"><p>5/3.3/2.5</p></td>
<td width="75" valign="top"><p>1.2</p></td>
<td width="74" valign="top"><p>0.85</p></td>
<td width="74" valign="top"><p>0.8</p></td>
<td width="74" valign="top"><p>0.75</p></td>
<td width="74" valign="top"><p>0.4</p></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>GTL+/GTLP</p></td>
<td width="76" valign="top"><br /></td>
<td width="75" valign="top"><p>1.5</p></td>
<td width="74" valign="top"><p>1.2</p></td>
<td width="74" valign="top"><p>1</p></td>
<td width="74" valign="top"><p>0.8</p></td>
<td width="74" valign="top"><p>0.6</p></td>
<td width="76" valign="top"><br /></td>
</tr>
<tr>
<td width="134" valign="top"><p>RS232</p></td>
<td width="76" valign="top"><br /></td>
<td width="75" valign="top"><p>5</p></td>
<td width="74" valign="top"><p>3</p></td>
<td width="74" valign="top"><p>0</p></td>
<td width="74" valign="top"><p>-3</p></td>
<td width="74" valign="top"><p>-5</p></td>
<td width="76" valign="top"><p>0</p></td>
</tr>
<tr>
<td width="134" valign="top"><p>RS422/485</p></td>
<td width="76" valign="top"><br /></td>
<td width="75" valign="top"><p>3.3</p></td>
<td width="74" valign="top"><p>1.9</p></td>
<td width="74" valign="top"><p>1.8</p></td>
<td width="74" valign="top"><p>1.7</p></td>
<td width="74" valign="top"><p>0.3</p></td>
</tr>
</tbody>
</table>
<br />
</body>
</div>

<strong>3、电压驱动和电流驱动</strong>

在传输线理论分析的时候,总是分析一个电压波形的传递,并未考虑电流能力(驱动电流的大小),而事实上,对于高速信号来说,为了要快速响应,或者长距离传输,都是采用电流驱动的。

LVDS/LVPECL/CML等电平,在输入端都有匹配电阻(50/100欧姆),这些电阻对于输入门来说承担的是把电流转换成电压的任务。因为对于一个输入逻辑门来说,它对电流的需求并不大,它需要的是足够的电压幅度。既然芯片需要的是电压幅度,为何输出端不直接把电压传递过来呢。那是因为电压传递速度比较慢,并且容易受到干扰。而电流驱动反应速度快,抗干扰能力强。

电流驱动型链路,在接收端都有一个电流转成电压的电路(这个电路同时也承担着匹配的任务)。

大家可以理解一下TTL/CMOS电路,如果驱动能力比较弱的话,信号的上升沿和下降沿就会很缓,能传的频率就会很低。虽然单端信号如TTL/CMOS信号的频率特性与驱动电流有关,但还是应该称这类的信号为电压驱动类型的信号。

<strong>4、扇入扇出系数</strong>

扇入系数,是指门电路允许的输入端数目。一般TTL电路的扇入系数Nr为1~5,最多不超过8。若芯片输入端数多于实际要求的数目,可将芯片多余输入端接高电平(VCC)或接低电平(GND)。

扇出系数,是指一个门的输出端所能驱动同类型门的个数,或称负载能力。Nc=IOLMAX/IILMAX,这是一个通俗的定义,一般用在TTL电路的定义中。其中IOLMAX为最大允许灌电流,IILMAX是一个负载门灌入本级的电流。

TTL电路的扇出系数Nc为8~10。

IOL/IOH是测试芯片的扇出能力,IOL是测试灌电流,IOH是测试拉电流。对于IOH,在外面的负载增加的情况下,肯定会引起VOH降低,所以负载的个数是有限的(因为必须保证输出电压大于VOH)。也就是说IOH、IOL测量的是芯片输出buffer的内阻大小(芯片输出管脚跟普通的电源一样,它的内阻大小决定了芯片的驱动能力。内阻越小则IOH越大,外接负载时,负载对输出高电平的影响越小,驱动能力越大;内阻越大,接入负载后,在负载上的分压就小,当小于VOH时驱动能力就不能满足要求了)。器件的扇出能力主要取决于器件的输出阻抗,及电源电压和电平规格。

IOL/IOH应该是越大越好,因为越大,该管脚驱动能力就越强,能驱动的管脚数目也越多(扇出系数)。但对于设计来说,IOL/IOH越大,需要输出级导通电阻做的更小,那就要使管子的宽长比(W/L)足够大,L制约于工艺的特征尺寸,只能再增加W,这样会使芯片的面积增大造成成本增加,所以对于IOL/IOH需要的是合适值而非最大值。

文章转载自: <span id="profileBt"><a href="https://mp.weixin.qq.com/s?__biz=MzU0NzE4NDY0Ng==&amp;mid=2247484058&am…; id="js_name">硬件助手</a></span>