推挽输出、开漏输出、上拉输入详细解释

合集下载

STM32的8种GPIO输入输出模式详细分析

STM32的8种GPIO输入输出模式详细分析

STM32的8种GPIO输入输出模式详细分析浮空,顾名思义就是浮在空中,上面用绳子一拉就上去了,下面用绳子一拉就沉下去了。

开漏,就等于输出口接了个NPN三极管,并且只接了e,b。

c 极是开路的,你可以接一个电阻到 3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V 电压了。

但是不接电阻上拉的时候,这个输出高就不能实现了。

推挽,就是有推有拉,任何时候IO口的电平都是确定的,不需要外接上拉或者下拉电阻。

(1)GPIO_Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GPIO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)GPIO_Mode_AF_OD 复用开漏输出(8)GPIO_Mode_AF_PP 复用推挽输出推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。

输出既可以向负载灌电流,也可以从负载抽取电流。

推拉式输出级既提高电路的负载能力,又提高开关速度。

开漏输出:输出端相当于三极管的集电极。

要得到高电平状态,需要上拉电阻才行。

适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。

开漏形式的电路有以下几个特点:1、利用外部电路的驱动能力,减少IC内部的驱动。

当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。

IC内部仅需很下的栅极驱动电流。

2、一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。

GPIO推挽输出和开漏输出详解

GPIO推挽输出和开漏输出详解

open-drain与push-pull】
GPIO的功能,简单说就是可以根据自己的需要去配置为输入或输出。

但是在配置GPIO管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull)。

对此两种模式,有何区别和联系,下面整理了一些资料,来详细解释一下:
图表1 Push-Pull对比Open-Drain
原理图图表2 push-pull原理图
图表3 open-drain原理图
图表4 open-drain“线与”功能
IC的逻辑电平由电源Vcc1决定,而输出高电平则由Vcc2决定。

这样我们就可以用低电平逻辑控制输出高电平逻辑了。

【open-drain和push-pull的总结】
对于GPIO的模式的设置,在不考虑是否需要额外的上拉电阻的情况下,是设置为open-drain还是push-pull,说到底,还是个权衡的问题:
如果你想要电平转换速度快的话,那么就选push-pull,但是缺点是功耗相对会大些。

如果你想要功耗低,且同时具有“线与”的功能,那么就用open-drain的模式。

(同时注意GPIO硬件模块内部是否有上拉电阻,如果没有,需要硬件电路上添加额外的上拉电阻)
正所谓,转换速度与功耗,是鱼与熊掌,二则不可兼得焉。

欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求。

STM32推挽输出、开漏输出、上拉输入详解

STM32推挽输出、开漏输出、上拉输入详解

可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。

高低电平由IC的电源决定。

推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。

输出既可以向负载灌电流,也可以从负载抽取电流。

推拉式输出级既提高电路的负载能力,又提高开关速度。

当一个三级管开通的时候另一个关断,根据B端来确定,这是一个比较器当a>b时B 输出为0;当a<b时B输出为1当B为1时上边三极管导通,下边关闭;当B为0时下边三极管导通,上边关闭。

此为推挽当B为1时,这个管子导通,OUT接地,输出为0;当B为0时管子不导通,OUT接VCC输出为1.开漏输出:一般只能输出低电平,输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).开漏形式的电路有以下几个特点:∙利用外部电路的驱动能力,减少IC(集成电路,也称芯片)内部的驱动。

当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。

IC内部仅需很小的栅极驱动电流。

∙一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。

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

(上拉电阻的阻值决定了逻辑电平转换的沿的速度。

阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度。

)∙OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。

因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。

GPIO输入输出各种模式详解

GPIO输入输出各种模式详解

GPIO输入输出各种模式详解GPIO(General Purpose Input/Output)是通用输入输出口,用于连接外部设备和单片机。

在单片机中,GPIO可以配置为输入或输出模式,同时还有三种特殊的模式:推挽模式、开漏模式和准双向端口模式。

下面将从原理、使用场景和配置方法三个方面详细介绍这三种模式。

推挽模式(Push-Pull Mode)是GPIO输出的常见模式,也是默认的输出模式。

当GPIO输出引脚处于高电平状态时,推挽模式会提供高电平输出(通常为Vcc电源电平),而当GPIO输出引脚处于低电平状态时,推挽模式会提供低电平输出(通常接地)。

推挽模式的优势在于输出电流大,能够提供较强的驱动能力,适用于直接驱动大功率负载的场景。

例如,通过GPIO控制LED灯等外设时,推挽模式可以稳定提供给LED所需的驱动电流,保证LED的正常工作。

开漏模式(Open-Drain Mode)是GPIO输出的另一种模式。

当GPIO输出引脚处于高电平状态时,开漏模式会将输出引脚拉到高阻态,而当GPIO输出引脚处于低电平状态时,开漏模式会将输出引脚拉到地。

开漏模式需要通过一个外接上拉电阻将输出引脚连接到Vcc电源电平上。

开漏模式的优势在于输出可以与其他器件共享同一个总线,通过总线上的上拉电阻或其他器件的驱动电源提供高电平。

开漏模式适用于多个GPIO输出的引脚需要共享一个总线的场景,例如,使用I2C总线协议时,多个GPIO引脚可以共享SDA(数据线)和SCL(时钟线)。

准双向端口(Quasi-Bidirectional Port)是GPIO输入输出的特殊模式,常见于外设总线接口中。

准双向端口可以既作为输入又作为输出,且在不同的时间片段进行输入输出操作。

准双向端口的原理是通过一个三态门和一个外接上拉电阻实现的。

当GPIO处于输出模式时,三态门使得GPIO输出到外设;而当GPIO处于输入模式时,三态门处于高阻态,外设可以将信号输入到GPIO中。

集成电路的三种输出结构

集成电路的三种输出结构

集成电路的三种输出结构集成电路(IC)是将多个电子元件(如晶体管、电阻、电容等)集成在一个小芯片上的电子器件。

IC的输出结构是指IC与外部电路连接的方式,主要有以下三种类型:1. 推挽式输出推挽式输出结构是IC中最常见的输出结构之一。

它使用一对互补晶体管(一个NPN晶体管和一个PNP晶体管)来控制输出信号。

当一个晶体管导通时,另一个晶体管截止,从而使输出信号在高电平和低电平之间切换。

推挽式输出结构具有以下优点:输出电流大:由于使用了两个晶体管,因此推挽式输出结构可以提供较大的输出电流,适合驱动高负载。

输出阻抗低:推挽式输出结构的输出阻抗较低,可以有效地减少信号失真。

抗干扰能力强:推挽式输出结构对电源噪声和共模干扰具有较强的抗干扰能力。

2. 开漏式输出开漏式输出结构是另一种常见的IC输出结构。

它只使用一个晶体管(NPN晶体管或PNP晶体管)来控制输出信号。

当晶体管导通时,输出信号为低电平;当晶体管截止时,输出信号为高电平。

开漏式输出结构具有以下优点:功耗低:由于只使用了一个晶体管,因此开漏式输出结构的功耗较低。

输出电压范围宽:开漏式输出结构的输出电压范围可以从0V到电源电压,因此可以连接各种外部电路。

抗干扰能力强:开漏式输出结构对电源噪声和共模干扰具有较强的抗干扰能力。

3. 三态输出三态输出结构是IC中比较特殊的一种输出结构。

它使用三个晶体管来控制输出信号,可以通过控制信号将输出信号设置为高电平、低电平或高阻态。

三态输出结构具有以下优点:输出状态可控:三态输出结构可以通过控制信号将输出信号设置为高电平、低电平或高阻态,因此可以灵活地控制信号的传输。

减少功耗:当输出信号设置为高阻态时,三态输出结构的功耗很低。

便于连接:三态输出结构可以很容易地连接在一起,从而实现多个IC之间的数据传输。

集成电路的输出结构有很多种,每种结构都有其独特的优点和缺点。

在选择IC 时,需要根据实际应用需求来选择合适的输出结构。

单片机IO口推挽、开漏输出、准双向IO详解

单片机IO口推挽、开漏输出、准双向IO详解

单片机IO口推挽、开漏输出、准双向IO详解加入论坛的方式:在公众号对话框内,输入数字“1”,即可进入论坛,无需注册,就是这么简单。

诚邀您的加入。

在学单片机和选用逻辑器件的时候我们常别人说这款芯片是推挽输出驱动能力强,这个引脚是开漏输出需要加上拉电阻。

是不是有时候感觉一头雾水?今天就详解一下推挽和开漏,以后你买芯片的时候就可以和别人大声理论了。

1. 什么是推挽输出推挽输出既可以输出低电平,也可以输出高电平,可以直接驱动功耗不大的数字器件。

2. 推挽输出电路的结构推挽电路是由两个三极管或MOSFET,以推挽方式存在于电路中,电路工作时,两只对称的开关管每次只有一个导通,所以导通损耗小、效率高、既提高电路的负载能力,又提高开关速度。

其示意结构如下图所示:1. 当内部输出1电平时,上边的MOS管导通同时下边的MOS管截至,IO口输出高电平;2. 当内部输出0电平时,上边的MOS管截至同时下边的MOS管导通,IO口输出低电平;3. 什么是开漏输出开漏输出只能输出低电平,如果要输出高电平必须通过上拉电阻才能实现。

就类似于三极管的集电极输出。

4. 开漏输出电路的结构如上图:1. 内部输出1时MOS管截止,输出与地断开,这时候IO口其实是没有驱动能力的,需要外部连接上拉电阻才能输出高电平,才能驱动数字器件;2. 内部输出0时MOS管导通,输出低电平,所以开漏能输出低电平;5. 准双向IO在学51单片机的时候老师告诉我们,51单片机的IO口是准双向的,什么是准双向的?示意如下:其结构类似于开漏输出,只不过是把上拉电阻集成到了单片机内部。

6. IO口如何应用对于推挽输出的IO口可以直接输出高低电平驱动功耗较小的数字器件,但对于开漏输出的话必须要在外部接上拉电阻才行。

比如说LPC11C14单片机的片上I2C资源就是开漏输出的,如果要使用这两个引脚做输出就必须加上拉电阻,如下图所示:进入论坛的方式:在公众号对话框内,输入数字“1”,即可进入论坛,无需注册,就是这么简单。

推挽等输出方式

推挽、开漏、强上拉、弱上拉、强下拉、弱下拉输出推挽输出:可以输出高,低电平,连接数字器件;推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).上拉电阻:1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。

2、OC门电路必须加上拉电阻,才能使用。

3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。

4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。

5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。

6、提高总线的抗电磁干扰能力。

管脚悬空就比较容易接受外界的电磁干扰。

7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。

上拉电阻阻值的选择原则包括:1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。

2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。

3、对于高速电路,过大的上拉电阻可能边沿变平缓。

综合考虑以上三点,通常在1k到10k之间选取。

对下拉电阻也有类似道理对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素:1.驱动能力与功耗的平衡。

以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。

2.下级电路的驱动需求。

同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。

3.高低电平的设定。

不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。

推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入..

推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别(Push-pull output, open drain output, multiplexing, multiplexing open drain output push-pull output and pull input and pull-down input, floatinginput, analoThe push-pull output, open drain output, multiplexing, multiplexing open drain output push-pull output and pull input and pull-down input, floating input, analog input differenceAbout Push-Pull Outputs, open drain outputs, multiplexed open drain outputs, and multiplexed Push-Pull OutputsPull down input, input, floating input, analog input and differenceWhen I read the data book recently, I found that there are 8 kinds of configuration for GPIO in Cortex-M3:(1) GPIO_Mode_AIN analog input(2) GPIO_Mode_IN_FLOATING floating input(3) GPIO_Mode_IPD pull down input(4) GPIO_Mode_IPU pull-up input(5) GPIO_Mode_Out_OD open drain output(6) GPIO_Mode_Out_PP push-pull output(7) GPIO_Mode_AF_OD multiplex open drain output(8) GPIO_Mode_AF_PP multiplex push-pull outputFor the novice, I think this concept is must know, usually contact is the most open drain push-pull output, output, pull the input of the three, but has not done up to these. So, here's a summary:Push-pull output: can output high, low level, connect digital devices; push-pull structure is generally refers to two transistors respectively by two complementary signal control, always in a triode conduction time another cut-off. The high and low levels are limited by the power of the IC.The push-pull circuit is the two parameter of the same transistor or MOSFET in push-pull mode exists in the circuit, each responsible for the positive and negative half cycles of wave amplification, circuit, power switch two symmetrical tube only one conduction,Therefore, the conduction loss is small and the efficiency is high. The output can either tap the load or extract the current from the load. The push-pull type output stage not only improves the load capacity of the circuit, but also increases the speed of switching.Detailed understanding:As shown, the output stage of the push-pull amplifier has twoarms (two sets of amplifying elements). When an arm current increases, another arm current decreases, and the two states rotate in turn. For load, it seems that a "arm" is pushing, a "arm" in the pull, together to complete the current output task. When the output high power, that is, the lower load gate input high power, the output current will be lower than the gate from the power supply through the VT3 pull out. In this way, when the output is high or low, the VT3 and the VT5 will work alternately, thus reducing the power consumption and improving the endurance of each tube. Because no matter which way to go, the resistance of the pipe is very small, so that the RC constant is very small, and the conversion speed is very fast. Therefore, the push-pull type output stage not only improves the load capacity of the circuit, but also improves the switching speed.Open drain output: the output is equivalent to the collector of the triode. In order to get a high level state, a pull-up resistor is needed. It is suitable for making current mode drivers and has relatively strong ability to absorb current (less than 20mA in general)The open drain circuit has the following characteristics:1. use external circuit drive capability to reduce IC internal drive. When the IC is internally MOSFET, the drive current is flowing from the external VCC through the R, pull-up, MOSFET to GND. The IC requires only a very low gate drive current.2. generally speaking,Open drain is a device used to connect different levels, withthe matching level, because the open drain pin is not connected to an external pull-up resistor, only the output low, if you need to have a high level output function requires a pull-up resistor, a good advantage is by changing the power supply voltage on it can change the transmission level. For example, with a pull-up resistor, you can provide TTL/CMOS level output. The resistance of the pull-up resistor determines the speed at which the level of the logic level is converted. The higher the resistance, the lower the speed, the smaller the power consumption, so the choice of load resistance should take into account both power consumption and speed3., OPEN-DRAIN offers flexible output, but also has its weakness, that is, to bring the delay along the rising edge. Because the rising edge charges the load through an external pull-up passive resistor, when the resistor is selected, the time delay is small, but the power consumption is large; on the contrary, the delay is large and the power consumption is small. Therefore, if the delay is required, it is recommended to use the falling edge output.4., you can connect multiple open drain Pin to one line. Througha pull-up resistor, a logical relationship is formed without increasing the number of devices. This is also the principle of I2C, SMBus and other buses to determine the bus occupancy status. Added: what is "line and"? :In a node (line), connect a pullup resistor to the collector C power VCC or VDD and N or NPN NMOS or drain D transistor, the transistor emitter E or S source are connected with a ground wire, as long as there is a transistor saturation, this node(line) is pull to the ground level.Because the base transistor current injection (NPN) or gate with high level (NMOS), the transistor will be saturated, so the base or gate of the node (line) is the relationship or non NOR logic. If this node is followed by an inverter is OR or logic.In fact, can be simply understood as: all pins are connected together, an external pull-up resistor, if there is a pin output to logic 0, equivalent to the ground, and the parallel loop "is equivalent to a wire short circuit, so the external circuit logic level is 0, only for high level, and the result is logic 1.For push-pull output and open drain output, the last one is outlined in the simplest form:This figure is on the left side of the push-pull output mode, the comparator output high power triode PNP usually below and above the pipe cut-off, NPN triode output level VS+; when the comparator output low on the contrary, PNP triode output and connected to low electrical level. The right side can be understood as open drain output, which needs to be pulled up.Floating input: input for floating, very authoritative interpretation has not been found, but from the following diagram to understand.The floating input is generally used for the external input keys, combined with the input part of the circuit diagram, Iunderstand the floating input condition, level IO is uncertain, completely decided by external input, if the pin is left unconnected in case of the level of the read port is uncertain.Pull input / pull-down input / analog input: these concepts are well understood and can be easily understood from the literal.Multiplex open drain output and multiplex push-pull output: this can be understood as the configuration of the GPIO port when it is used as the second function (that is not used as a universal IO port)Finally, a summary of the use of the situation:Select IO mode in STM32(1) _IN_FLOATING - floating input floating input, can do KEY identification, RX1(2) pull input _IPU - IO internal pull-up resistor input(3) bring down the input _IPD - IO internal pull-down resistor input(4) analog input _AIN - use ADC analog input or save power at low power consumption(5) open drain output _OUT_OD - IO output 0, connect GND, IO output 1, suspension, need external pull-up resistor, can realize the output high level. When the output is 1, the state of the IO port is pulled high by the pull-up resistor, butbecause it is an open drain output mode, the IO port can also be changed from an external circuit to a low level or constant. Can read the IO input level changes, the realization of C51 IO two-way function(6) push-pull output _OUT_PP - IO output, 0-, GND, IO output, 1 - VCC, read input value is unknown(7) multiplex function push-pull output _AF_PP - chip internal and external functions (I2C, SCL, SDA)(8) the open drain output of multiplex function _AF_OD - chip internal and external functions (TX1, MOSI, MISO.SCK.SS)STM32 settings instance:(1) simulation using the I2C open drain output _OUT_OD, pull-up resistor, can output 0 and 1 readings; first GPIO_SetBits (GPIOB, GPIO_Pin_0); pull up, then you can read the value of IO; GPIO_ReadInputDataBit (GPIOB, GPIO_Pin_0);(2) if the supreme resistance is high, the IO default; need to read the value of IO, you can use the pull input _IPU and float input _IN_FLOATING and open drain output _OUT_OD;。

详解开漏输出,推挽输出,上拉电阻

首先我们来建立开漏输出与推挽输出的模型吧!这两幅图是开漏输出的简化模型!推挽输出实际上应是把图三的电阻也换成一个开关(即场效应管),当上面开关接通,下面关断时,输出高电平;当上面开关关断,下面开关接通时,输出低电平;当二者都关断时,呈高阻态,此时可以输入信号。

当然不允许两者同时接通,所以才叫推挽,即同一时刻二者最多只能有一个工作。

为什么要有开漏输出?因为它有以下优点:1.利用外部电路的驱动能力,减少IC内部的驱动;2.可以将多个开漏输出的Pin,连接到一条线上。

形成“与逻辑” 关系。

如果是推挽输出显然是不行的,因为假如你把要”与”的I/O口都挂到一条线上,那么在一些高一些低的情况下显然会烧掉场效应管(原因是两个场效应管直接连通了,联想上面的模型去想吧)3.可以利用改变上拉电源的电压,改变传输电平。

比如你想这个I/O口输出3.3V 电平,那么只需要把上拉电平设为3.3V就OK了撒!这个5V的51单片机也可以输出3.3V电平了,呵呵!但前提是用P0口哈!那开漏输出又有什么不足的呢?1.输出电流低,因为上拉电阻一般取的比较大(为了减少静态功耗),所以驱动力不足,而推挽输出用的是场效应管,当然驱动能力强了.2. 带来上升沿的延时,因为上升沿是通过外接上拉无源电阻对负载充电的,当电阻选择小时延时就小、但功耗大,反之延时大功耗小。

推挽输出的优点:1.驱动能力强,因为用的是场效应管,当然驱动能力强了.2.真正的双向口推挽输出的缺点:1.不能把两个都是推挽输出的CMOS门级相连,这样当一高一低时很容易因功耗过大烧管子,推挽输出一般用于驱动.关于双向口与准双向口!什么是准双向口?首先我们要明白什么是双向口?双向口是指输入输出口具有三态,即输出高,输出低,和输入高阻态例如PO口作为地址/数据复用口时就是完全意义上的双向口,它的上下两个场效应管交替工作,当上面的场效应管工作时,输出1,当下面的场效应管工作时,输出0,当两个都不工作时,为高阻输入态.此时实际上就和推挽输出没有两样。

推挽输出与开漏输出(自己整理,网上最全讲解)

鉴于网友们对于开漏输出和推挽输出都不是很明白,我把网上所有关于开漏和推挽的讲解都做了整合,虽然不是原创,但也希望大家都可以从中获益!!推挽输出与开漏输出的区别单片机学习之推挽输出与漏极开路输出方式push- pull输出就是一般所说的推挽输出,在cmos电路里面应该较cmos输出更合适,因为在cmos里面的push-pull输出能力不可能做得双极那么大。

输出能力看ic内部输出极n管p管的面积。

和开漏输出相比,push-pull的高低电平由ic的电源低定,不能简单的做逻辑操作等。

push-pull是现在cmos电路里面用得最多的输出级设计方式。

一.什么是oc、od集电极开路门(集电极开路oc 或源极开路od)open-drain是漏极开路输出的意思,相当于集电极开路(open-collector)输出,即ttl中的集电极开路(oc)输出。

一般用于线或、线与,也有的用于电流驱动。

open-drain是对mos管而言,open-collector是对双极型管而言,在用法上没啥区别。

开漏形式的电路有以下几个特点:1.利用外部电路的驱动能力,减少ic内部的驱动。

或驱动比芯片电源电压高的负载.2. 可以将多个开漏输出的pin,连接到一条线上。

通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。

这也是i2c,smbus等总线判断总线占用状态的原理。

如果作为图腾输出必须接上拉电阻。

接容性负载时,下降延是芯片内的晶体管,是有源驱动,速度较快;上升延是无源的外接电阻,速度慢。

如果要求速度高电阻选择要小,功耗会大。

所以负载电阻的选择要兼顾功耗和速度。

3.可以利用改变上拉电源的电压,改变传输电平。

例如加上上拉电阻就可以提供ttl/cmos电平输出等。

4.开漏pin不连接外部的上拉电阻,则只能输出低电平。

一般来说,开漏是用来连接不同电平的器件,匹配电平用的。

5.正常的cmos输出级是上、下两个管子,把上面的管子去掉就是open-drain了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

推挽输出、开漏输出、上拉输入区分与总结
发布时间:2012-08-0910:50:42来源:EDA中国
推挽输出,开漏输出,上拉输入,区分
以及上拉输入、下拉输入、浮空输入、模拟输入的区别
最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN模拟输入
(2)GPIO_Mode_IN_FLOATING浮空输入
(3)GPIO_Mode_IPD下拉输入
(4)GPIO_Mode_IPU上拉输入
(5)GPIO_Mode_Out_OD开漏输出
(6)GPIO_Mode_Out_PP推挽输出
(7)GPIO_Mode_AF_OD复用开漏输出
(8)GPIO_Mode_AF_PP复用推挽输出
对于刚入门的新手,我想这几个概念是必须得搞清楚的,平时接触的最多的也就是推挽输出、开漏输出、上拉输入这三种,但一直未曾对这些做过归纳。

因此,在这里做一个总结:
推挽输出:可以输出高,低电平,连接数字器件;推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。

高低电平由IC的电源低定。

推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。

输出既可以向负载灌电流,也可以从负载抽取电流。

推拉式输出级既提高电路的负载能力,又提高开关速度。

详细理解:
如图所示,推挽放大器的输出级有两个“臂”(两组放大元件),一个“臂”的电流增加时,另一个“臂”的电流则减小,二者的状态轮流转换。

对负载而言,好像是一个“臂”在推,一个“臂”在拉,共同完成电流输出任务。

当输出高电平时,也就是下级负载门输入高电平时,输出端的电流将是下级门从本级电源经VT3拉出。

这样一来,输出高低电平时,VT3一路和VT5一路将交替工作,从而减低了功耗,提高了每个管的承受能力。

又由于不论走哪一路,管子导通电阻都很小,使RC常数很小,转变速度很快。

因此,推拉式输出级既提高电路的负载能力,又提高开关速度。

开漏输出:输出端相当于三极管的集电极.要得到高电平状态需要上拉电阻才行.适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
开漏形式的电路有以下几个特点:
1.利用外部电路的驱动能力,减少IC内部的驱动。

当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up,MOSFET到GND。

IC内部仅需很下的栅极驱动电流。

2.一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。

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

(上拉电阻的阻值决定了逻辑电平转换的沿的速度。

阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度。


3.OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。

因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。

所以如果对延时有要求,则建议用下降沿输出。

4.可以将多个开漏输出的Pin,连接到一条线上。

通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。

这也是I2C,SMBus等总线判断总线占用状态的原理。

补充:什么是“线与”?:
在一个结点(线)上,连接一个上拉电阻到电源VCC或VDD和n个NPN或NMOS 晶体管的集电极C或漏极D,这些晶体管的发射极E或源极S都接到地线上,只要有一个晶体管饱和,这个结点(线)就被拉到地线电平上.因为这些晶体管的基极注入电流(NPN)或栅极加上高电平(NMOS),晶体管就会饱和,所以这些基极或栅极对这个结点(线)的关系是或非NOR逻辑.如果这个结点后面加一个反相器,就是或OR逻辑.
其实可以简单的理解为:在所有引脚连在一起时,外接一上拉电阻,如果有一个引脚输出为逻辑0,相当于接地,与之并联的回路“相当于被一根导线短路”,所以外电路逻辑电平便为0,只有都为高电平时,与的结果才为逻辑1。

关于推挽输出和开漏输出,最后用一幅最简单的图形来概括:
该图中左边的便是推挽输出模式,其中比较器输出高电平时下面的PNP三极管截止,而上面NPN三极管导通,输出电平VS+;当比较器输出低电平时则恰恰相反,PNP三极管导通,输出和地相连,为低电平。

右边的则可以理解为开漏输出形式,需要接上拉。

浮空输入:对于浮空输入,一直没找到很权威的解释,只好从以下图中去理解了
由于浮空输入一般多用于外部按键输入,结合图上的输入部分电路,我理解为浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。

上拉输入/下拉输入/模拟输入:这几个概念很好理解,从字面便能轻易读懂。

复用开漏输出、复用推挽输出:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)
最后总结下使用情况:
在STM32中选用IO模式
(1)浮空输入_IN_FLOATING——浮空输入,可以做KEY识别,RX1
(2)带上拉输入_IPU——IO内部上拉电阻输入
(3)带下拉输入_IPD——IO内部下拉电阻输入
(4)模拟输入_AIN——应用ADC模拟输入,或者低功耗下省电
(5)开漏输出_OUT_OD——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。

当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。

可以读IO输入电平变化,
实现C51的IO双向功能
(6)推挽输出_OUT_PP——IO输出0-接GND,IO输出1-接VCC,读输入值是未知的
(7)复用功能的推挽输出_AF_PP——片内外设功能(I2C的SCL,SDA)
(8)复用功能的开漏输出_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)STM32设置实例:
(1)模拟I2C使用开漏输出_OUT_OD,接上拉电阻,能够正确输出0和1;读值时先GPIO_SetBits(GPIOB,GPIO_Pin_0);拉高,然后可以读IO的值;使用
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);
(2)如果是无上拉电阻,IO默认是高电平;需要读取IO的值,可以使用带上拉输入_IPU 和浮空输入_IN_FLOATING和开漏输出_OUT_OD;。

相关文档
最新文档