管脚复用功能之 上拉、下拉、模拟、浮空输入;推挽、开漏、复用输出

时间:2024-04-15 09:25:57

管脚复用功能之 上拉、下拉、模拟、浮空输入;推挽、开漏、复用输出

0.三极管基础

  要理解推挽输出,首先要理解好三极管(晶体管)的原理。下面这种三极管有三个端口,分别是基极(Base)、集电极(Collector)和发射极(Emitter),下图是NPN型晶体管。

  NPN型晶体管-1,这种三极管是电流控制型元器件,注意关键词电流控制。意思就是说,只要基极B有输入(或输出)电流就可以对这个晶体管进行控制了。当控制端有电流输入的时候,就会有电流从输入端进入并从输出端流出。

  PNP管正好相反,当有电流从控制端流出时,就会有电流从输入端流到输出端。

  1.上拉输入:上拉就是把电位拉高,比如拉到VCC。上拉就是将不确定的信号通过一个电阻钳位在高电平!电阻同时起限流作用!强弱只是上拉电阻的阻值不同,没有什么严格区分。

  2.下拉输入:就是把电压拉低,拉到GND。与上拉原理相似。

  3.浮空输入:浮空(floating)就是逻辑器件的输入引脚即既不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚空闲时,相当于该引脚接了高电平。一般实际运用时,引脚不建议悬空,易受干扰。通俗讲就是让管脚什么都不

接,浮空着。由于浮空输入一般多用于外部按键输入,结合图上的输入部分电路,我理解为浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的

  4.模拟输入:模拟输入是指传统方式的输入。数字输入是输入PCM数字信号,即0,1的二进制信号,通过模数转换,转换成模拟信号,经前级放大进入功率放大器,功率放大器还是模拟的。

  5.推挽输出可以输出高、低电平,连接数字器件

  推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截至。高低电平由IC的电源决定。推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工

作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。

  来看一个典型的推挽输出电路:

  推挽输出电路

  上面的三极管是N型三极管,下面的三极管是P型三极管,请留意控制端、输入端和输出端。当Vin电压为V+时,上面的N型三极管控制端有电流输入,Q3导通,于是电流从上往下通过,提供电流给负载。

  推挽输出电路-推电流,经过上面的N型三极管提供电流给负载(Rload),这就叫「推」。

  当Vin电压为V-时,下面的三极管有电流流出,Q4导通,有电流从上往下流过。

  推挽输出电路-挽电流

  经过下面的P型三极管提供电流给负载(Rload),这就叫「挽」。以上,这就是推挽(push-pull)电路。

 

  6.开漏输出:输出端相当于三极管的集电极。要得到高电平状态需要上拉电阻才行,适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内)。

  6.1 开集电路

  如图,开集的意思,就是集电极C一端什么都不接,直接作为输出端口。如果要用这种电路带一个负载,比如一个LED,必须接一个上拉电阻,就像下图这样。

  开集电路-带负载,当Vin没有电流,Q5断开时,LED亮;当Vin流入电流,Q5导通时,LED灭。

 

  6.2 开漏电路,就是把上图中的三极管换成场效应管(MOSFET)。这样集电极就变成了漏极,OC就变成了OD,原理分析是一样的。N型场效应管各个端口的名称:(栅极:Grid / 漏极:Drain / 源极:Source)

  6.3 场效应管

  场效应管是电压控制型元器件,只要对栅极施加电压,DS就会导通结型场效应管有一个特性就是它的输入阻抗非常大,这意味着:没有电流从控制电路流出,也没有电流进入控制电路。没有电流流入或流出,就不会烧坏控制电路。而双

极型晶体管不同,是电流控制性元器件,如果使用开集电路,可能会烧坏控制电路。这大概就是我们总是听到开漏电路而很少听到开集电路的原因吧?因为开集电路被淘汰了。

  可以利用改变上拉电源的电压,改变传输电平。如图2-2, IC的逻辑电平由电源Vcc1决定,而输出高电平则由Vcc2(上拉电阻的电源电压)决定。这样我们就可以用低电平逻辑控制输出高电平逻辑了(这样你就可以进行任意电平的转换)。(例

如加上上拉电阻就可以提供TTL/CMOS电平输出等。)

  开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成如下图2-1所示:

  7、复用输入:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)。端口必须配置成复用功能输出模式(推挽或开漏)

 

推挽输出和开漏输出的区别

  推挽输出,可以输出高电平,连接数字器件

  输出0时,N-MOS导通,P-MOS高阻,输出0。

  输出1时,N-MOS高阻,P-MOS高阻,输出1;(不需要外部上拉电阻)

 

  开漏输出:

  输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行,适合做电流型驱动

  输出0时,N-MOS导通,P-MOS不被激活,输出0;

  输出1时,N-MOS高阻,P-MOS不被激活,输出1(需要外部上拉电阻);可以读IO输入电平变化,此模式可以把端口作为双向IO使用;

 

转自:https://www.zhihu.com/question/28512432/answer/41217074