除了前一节讨论的拉电阻的基本使用方法外,上拉电阻还可以提高前后信号匹配的高电平电压阈值,例如,TTL逻辑电平驱动CMOS在逻辑电平时,我们通常会添加上拉电阻R1.如下图所示: 让我们先TTL电平标准图和CMOS如下图所示:电平标准图: 可以看到,TTL低电平最大值逻辑输出VOLMAX(0.4V)小于CMOS逻辑输入低电平最大值VILMAX(0.3×VCC=1.5V),因此,TTL低电平驱动CMOS逻辑完全没有问题,但是TTL逻辑输出的高电平最小值VOHMIN(2.4V)却低于CMOS逻辑输入高电平的最小值VIHMIN(0.7×VCC=3.5V),换言之,CMOS逻辑可能无法识别TTL逻辑高电平(注意可能这个词)。 为什么添加上拉电阻可以使用?TTL可靠的逻辑驱动CMOS逻辑呢?让我们看看TTL逻辑电路的输出结构,如下图的所示:(下图来自TI六反相器7404数据手册 事实上,一切TTL逻辑输出结构是一致的,如下图所示2输入和门:(下图来自TI四个两输入和门7408数据手册)。 如下图所示2输入或门(下图来自:TI四个两输入或门7432数据手册)。 其它TTL逻辑输出结构也辑输出结构了。TTL高电平时逻辑输出的内部状态如下图所示: 按照TTL电平标准,输出高电平VOH至少2.4V(VOHMIN=2.4V),换句话说,输出电压也可能高于或低于CMOS最低值3.5V(不可靠),加拉电阻后TTL逻辑电路状态如下图所示: 由于上拉电阻R4的存在使三极管存在Q3与二极管D2都处于截止状态,所以输出电平被拉到5V高电平,妥妥超过了CMOS逻辑高电平判断阈值的最小值( 3.5V),这样CMOS逻辑电路可以可靠地判断高电平。 但是,反过来CMOS逻辑电平可以可靠地驱动TTL逻辑电平,读者可以自己比较两者的逻辑电平标准图。 上拉电阻还可以提高单片机引脚的高电平驱动能力。我们前面介绍过任何单片机IO引脚的驱动电流有限(例如,STM32单片机引脚的驱动能力为25mA),如下图所示: 3.3V单片机IO引脚最大能驱动约132欧姆的电阻(负载),如果驱动电阻小于132欧姆,则输出高电平H由于电流驱动能力不足,输出电压下降,此时可增加上拉电阻,如下图所示: 100欧姆的负荷需要大约333mA但单片机的驱动电流IO引脚只有25mA可提供,额外8mA将由3.3V直流电源通过上拉电阻R1提供。 在高速数字设计电路中,传输线可以表示信号传输路径。一般来说,差异传输线的阻抗约为100欧姆,单端传输线的阻抗约为50欧姆。如果接收端的输入阻抗与传输线的阻抗不匹配(匹配意味着相等),则会引起信号反射,如下图所示: 事实上,大多数接收端的输入阻抗远远大于传输线的阻抗直接连接到接收端的传输线信号必须反射,导致信号完整性(Signal Integrity, SI)因此,我们通常使用各种端接手段来匹配阻抗,添加下拉电阻就是其中之一,如下图所示: 上下拉电阻配合也可用于阻抗匹配(远端戴维南端接),如下图所示: 假如读者有DDRII SDRAM应用经验会发现其中之一VTT如下图所示: VTT是端接电压(termination voltage),它通常是VDDQ的一半。差分传输线的端接原理也是相似的,至于更多细节方面可参考系列文章《高速数字逻辑电平标准之SSTL》及《高速PCB这里不再赘述设计的端接。 当我们说一个电阻是上拉电阻或下拉电阻时,它实际上有能力同时限制电流,但在使用拉电阻的过程中,上拉或下拉功能占主导地位,因此得名,你可以称端接电阻为上拉电阻或下拉电阻,但你不会称之为限流电阻,对吧?下一章将详细讨论限流电阻的使用, Let’s Go!