单片机中上拉,下拉,开漏三者的区别在哪?作用?原理?

版权声明:本文为博主原创文章,未经博主允许不得转载。转载请注明出处:https://blog.csdn.net/Pieces_thinking https://blog.csdn.net/Pieces_thinking/article/details/75353900

1.驱动能力

       关于驱动能力的基本问题我一直都不明白驱动是什么.一般的说驱动一个负载,我想只要你的电压达到了一个阈值,那么就可以驱动这个负载啊,为什么有时候又说驱动能力不够了?为什么说一个没有输出缓冲的op是驱动不了小电阻和大电容负载的了?我直接在这个op后面接个大电容或者一个小电阻负载有什么影响了?当我用运放驱动一个大的mos管的时候为什么要级连几个反向器了,我直接把运放的输出接在这个大mos管上面不行吗?

       楼主这个问题提得好,我以我自己的理解来试图做个解答。 首先,所谓的驱动能力,指的是输出电流的能力。比方说,某型单片机通用IO口在高电平时的最大输出电流是20mA,这个20mA的指标,就表征了该IO口的驱动能力。 其次,如果负载过大(就像楼主所说的小电阻),则负载电流有可能超过其最大输出电流,这时我们说驱动能力不足。 再次,出现驱动能力不足,直接后果是输出电压下降,对逻辑电路来说,就是无法保持其高电平,以致出现逻辑混乱,不能实现预期的效果。这种现象一般是不允许出现的。 ———————————— 因为mos管是有内阻的,每个mos管可以提供的最大电流是有限的. 小的mos管提供小电流,大mos管可以提供大电流. 楼主问题中说”我想只要你的电压达到了一个阈值,那么就可以驱动这个负载啊”, 关键是当负载太大(即电阻太小,电容太大),超出了输出管的驱动能力时,输出的电压就会被拉下来, 达不到gnd-vdd的变化范围. 极限情况:r无限小,c无限大(gnd),那输出就没有信号变化了! ———————————— 关于51单片机P0口的驱动能力 P0是个漏极开路接口,让它工作在灌电流状态下驱动LED是没有问题的.即:VCC>限流电阻>LED>P0. 灌电流:IO口为低电平的时候,电流从IO口外面”灌”进单片机相反的就是 “拉电流” IO口为高电平的时候,电流从单片机流出去给负载供电。 P0口有两种工作方式:总线式和io口式。简单的说就是:把p0用来作地址数据复用线(movx movc之类的指令)就是总线,这时p0口是推挽式输出,就是pmos,nmos都来驱动输出,所以这个时候不论输1(高电平)还是输0(低电平),驱动都比较强的(内阻小,输出电流大),你们没人见过51访问外ram的硬件中P0口接上拉电阻的吧! 第二种就是io方式,就是将它当作普通的io来用,这时它与其他的三个不同的是,它内部没有上拉电阻(也就是其他的三个口内部都有上拉),属于开漏输出(od),所以它的输出是低电平(0)和高阻态(z)两种状态,你只需从此管脚接个发光管和限流电阻到电源就可以了,此时管脚就相当于一个开关,闭合到地或断开,这应该算最简单,而且功耗低的一种接法了. 当然,你也可以利用高电平来驱动,就是外面接个上拉电阻了,接法楼上的也已经说了,这种方法不好,功耗大,自己想一下就知道原因了。尤其是接的负载比较重,同时驱动几个发光管,必须要减小上拉电阻以提供足够的驱动电流,但是,小的上拉电阻导致负载不工作时 的电流大,甚至关不断负载(发光管不能熄灭)。 其它口内部接了上拉电阻,是伪双向口的需要。

2.基本名词解释

       开漏:也就是MOS管的漏极开路,通俗的讲单片机的输出的IO口是通过寄存器控制一个MOS管来实现的,这个MOS管怎么接的呢,就是控制器连接MOS管的栅极,而源极是接电源的负极的,那漏极就什么都没有接是连接到IO口上的,这就叫漏极开路,
       上拉,就是开漏基础上在漏极和电源之间接一个电阻,这个电阻被称为上拉电阻
       顾名思义,下拉就这个电阻不接电源了,改接电源负极了
上拉和下拉电阻的作用就是:1、使IO口的电平稳定在高或低电平,2、为了增加IO口拉流的能力

这里写图片描述

3.为什么能增加驱动能力

       “如果是输出低电平,那么经过上拉电阻的电流也会流入单片机端口,那么单片机的吸收电流比不接时不是反而更小”,这句话我认为是正确的。  
       首先明确一下两个名词:拉电流、吸收电流。拉电流:高电平时从单片机里流向负载的最大电流。暂且称之为高电平驱动能力。吸收电流:低电平时从负载流向单片机的最大电流。暂且称之为低电平驱动能力。  单片机提供拉电流的大小主要取决于I/O口的晶体管导通电阻的大小和晶体所能承受的最大功率,这两样都是不变的,增加上拉电阻能增加拉电流(把电阻也看作单片机的一部分),也就是增加了驱动能力。驱动能力能增加多少取决于上拉电阻的大小和上拉电阻所接的电压大小。但上拉电阻不但不能增加吸收电流,反而会减小灌电流,原因跟你写的一致。不过单片机的拉电流要比吸收电流大的多,增加上拉电阻对吸收电流影响不是很大,除非电阻阻值非常小。  所以,准确的说法是:上拉电阻能增加高电平时的驱动能力,但会减小低电平时的驱动能力。
       1,如果电平用OC(集电极开路,TTL)或OD(漏极开路,COMS)输出,那么不用上拉电阻是不能工作的, 这个很容易理解,管子没有电源就不能输出高电平了。
       2,如果输出电流比较大,输出的电平就会降低(电路中已经有了一个上拉电阻,但是电阻太大,压降太高),就可以用上拉电阻提供电流分量, 把电平“拉高”。(就是并一个电阻在IC内部的上拉电阻上, 让它的压降小一点)。当然管子按需要该工作在线性范围的上拉电阻不能太小。当然也会用这个方式来实现门电路电平的匹配。
       需要注意的是,上拉电阻太大会引起输出电平的延迟。(RC延时)
       一般CMOS门电路输出不能给它悬空,都是接上拉电阻设定成高电平。
       下拉电阻:和上拉电阻的原理差不多, 只是拉到GND去而已。 那样电平就会被拉低。 下拉电阻一般用于设定低电平或者是阻抗匹配(抗回波干扰)。

猜你喜欢

转载自blog.csdn.net/Pieces_thinking/article/details/75353900