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

合集下载

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了。

最全的STM32八种IO口模式讲解

最全的STM32八种IO口模式讲解

最全的STM32八种IO口模式讲解STM32是一种基于ARM Cortex-M处理器的微控制器系列,具有强大的性能和广泛的应用领域。

而IO口是STM32微控制器中常见的功能之一,它允许我们与外部设备进行通信和数据交换。

在STM32中,IO口有八种不同的模式,本文将逐一进行讲解。

1. 输入浮空模式(Floating Input)输入浮空模式是IO口的默认模式。

在这种模式下,IO口既不输出也不输入电平信号,它的电平状态由外部电路决定。

这种模式非常适用于连接外部传感器或其他输入设备。

2. 模拟输入模式(Analog Input)模拟输入模式是用于连接模拟传感器的模式。

在这种模式下,IO口被配置为模拟输入引脚,可以读取来自传感器的模拟电压值。

3. 输出推挽模式(Push-pull Output)输出推挽模式是最常用的IO口模式之一、在这种模式下,IO口既能输出高电平,也能输出低电平。

它能够驱动较大负载,并且在输出状态下具有较低的电平谐波失真。

推挽输出模式常用于控制LED灯、继电器和其他外部设备。

4. 输出开漏模式(Open-drain Output)输出开漏模式也被称为开漏输出模式。

在这种模式下,IO口只能输出低电平,而不能输出高电平。

当IO口输出低电平时,它会与外部上拉电阻连接,使得整个电路可以实现低电平输出。

开漏输出模式常用于I2C总线和其他需要共享信号线的应用。

5. 复用推挽模式(Push-pull Alternate Function)复用推挽模式是IO口的特殊模式之一、在这种模式下,IO口既可以用于通用IO功能,也可以用作一些外设的引脚。

复用推挽模式常用于USART、SPI和I2C等串行通信接口。

6. 复用开漏模式(Open-drain Alternate Function)复用开漏模式也是IO口的特殊模式之一、在这种模式下,IO口可以用作一些外设的引脚,并且只能输出低电平。

复用开漏模式常用于I2C总线和其他需要共享信号线的应用。

有关推挽输出、开漏输出、复用开漏输出、复用推

有关推挽输出、开漏输出、复用开漏输出、复用推

有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入的区别最近在看数据手册的时候,发现在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常数很小,转变速度很快。

GPIO输入输出各种模式(推挽、开漏、准双向端口)详解

GPIO输入输出各种模式(推挽、开漏、准双向端口)详解

GPIO输入输出各种模式(推挽、开漏、准双向端口)详解概述能将处理器的GPIO(General Purpose Input and Output)内部结构和各种模式彻底弄清楚的人并不多,最近在百度上搜索了大量关于这部分的资料,对于其中很多问题的说法并不统一。

本文尽可能的将IO涉及到的所有问题罗列出来,对于有明确答案的问题解释清楚,对于还存在疑问的地方也将问题提出,供大家讨论。

概括地说,IO的功能模式大致可以分为输入、输出以及输入输出双向三大类。

其中作为基本输入IO,相对比较简单,主要涉及的知识点就是高阻态;作为输出IO,相比于输入复杂一些,工作模式主要有开漏(Open Drain)模式和推挽(Push-Pull)模式,这一部分涉及的知识点比较多;对于输入输出IO,容易产生疑惑的地方是准双向和双向端口的区别。

下面就按照这样的顺序依次介绍各个模式的详细情况。

输入IO这里所说的输入IO,指的是只作为输入,不具有输出功能。

此时对于input引脚的要求就是高阻(高阻与三态是同一个概念)。

基本输入电路的类型大致可以分为3类:基本输入IO电路、施密特触发输入电路以及弱上拉输入电路。

先从最基本的基本输入IO电路说起,其电路如图1所示。

图1其中的缓冲器U1是具有控制输入端,且具有高阻抗特性的三态缓冲器。

通俗地说就是这个缓冲器对外来说是高阻的,相当于在控制输入端不使能的情况下,物理引脚与内部总线之间是完全隔离的,完全不会影响内部电路。

而控制输入端的作用就是可以发出读Pin状态的操作指令。

其过程如图2所示。

图 2这种基本电路的一个缺点是在读取外部信号的跳变沿时会出现抖动,如下图所示。

图 3于是施密特触发输入电路就是解决了上述这种抖动的问题,其经过施密特触发器后的信号如图4所示。

图 4对于输入电路还存在另外一个问题,就是当输入引脚悬空的时候,输入端检测到的电平是高还是低?当输入信号没有被驱动,即悬空(Floating)时,输入引脚上任何的噪声都会改变输入端检测到的电平,如图5所示。

推挽、开漏、强上拉、弱上拉、强下拉、弱下拉输出

推挽、开漏、强上拉、弱上拉、强下拉、弱下拉输出

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

2、OC(集电极开路)门电路必须加上拉电阻,才能使用。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.高低电平的设定。

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

上拉输入、下了输入、推挽输出、开漏输出、复用开漏输出、复用推挽输出以及、浮空输入、模拟输入区别

上拉输入、下了输入、推挽输出、开漏输出、复用开漏输出、复用推挽输出以及、浮空输入、模拟输入区别

上拉输入、下了输入、推挽输出、开漏输出、复用开漏输出、复用推挽输出以及、浮空输入、模拟输入区别有关上拉输入、下了输入、推挽输出、开漏输出、复用开漏输出、复用推挽输出以及、浮空输入、模拟输入区别最近在网上看见一些人对STM32的八种方式的解释,说了一大堆,最后看完了也不知道讲了什么,为了方便大家一目了然,本人总结如下,希望对大家有帮助。

1、上拉输入:上拉就是把电位拉高,比如拉到Vcc。

上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!弱强只是上拉电阻的阻值不同,没有什么严格区分。

2、下拉输入:就是把电压拉低,拉到GND。

与上拉原理相似。

3、浮空输入:浮空(floating)就是逻辑器件的输入引脚即不接高电平,也不接低电平。

由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平。

一般实际运用时,引脚不建议悬空,易受干扰。

通俗讲就是让管脚什么都不接,浮空着。

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

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

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

6、开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).7、复用开漏输出、复用推挽输出:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)。

在STM32中选用IO模式,下面是参考网上的总结一下。

(1)浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX(2)带上拉输入_IPU——IO内部上拉电阻输入(3)带下拉输入_IPD——IO内部下拉电阻输入(4)模拟输入_AIN ——应用ADC模拟输入,或者低功耗下省电(5)开漏输出_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。

推挽输出与开漏输出结构和原理详解

推挽输出与开漏输出结构和原理详解

推挽输出与开漏输出结构和原理详解推挽输出和开漏输出是指在数字电路中用于驱动外部负载的两种常用结构。

它们在控制信号的输出方式、应用领域和工作原理等方面有所不同。

下面将对推挽输出和开漏输出进行详解。

1.推挽输出结构及原理推挽输出结构是一种常用的数字电路输出结构,它由一个NPN型晶体管和一个PNP型晶体管组成,用于驱动负载。

推挽输出在广泛的应用领域中,如信号灯控制、音频放大器、电机驱动等。

推挽输出的结构示意图如下:```VccR1Input signal/,\NPN PNP Load_______```推挽输出的工作原理如下:(1) 当输入信号为低电平(0V)时,NPN晶体管截止,PNP晶体管饱和,输出接近Vcc电压,负载得到驱动。

(2) 当输入信号为高电平(Vcc)时,NPN晶体管饱和,PNP晶体管截止,输出接近0V,负载失去驱动。

推挽输出的特点:-输出电流能够提供相对较高的电流驱动能力;- 输出电压可以与Vcc相同,也可以与地(GND)相同;-推挽输出的集电极电阻很小,因此可以提供较低的输出电压误差;-适用于推挽驱动、电机驱动、音频放大器等需要提供大电流的应用场景。

2.开漏输出结构及原理开漏输出结构也是一种常用的数字电路输出结构,它通过NPN晶体管或MOSFET管驱动负载。

开漏输出结构广泛应用于数字IC、微控制器、I2C总线等。

开漏输出的结构示意图如下:```VccR1Input signal_____,______ LoadNPNN-MOS```开漏输出的工作原理如下:(1)当输入信号为低电平(0V)时,NPN晶体管截止或MOSFET导通,输出接近0V,负载得到驱动。

(2) 当输入信号为高电平(Vcc)时,NPN晶体管饱和或MOSFET截止,输出为高阻态(Open),负载失去驱动。

开漏输出的特点:-输出电流能够提供相对较高的电流驱动能力;-输出电压只能接近地(GND);-输出电压的高、低电平通过外部上拉电阻(R1)进行限制;-适用于非对称驱动、开关电源控制等需要较高的输出电流和开路状态的应用场景。

推挽、开漏、强上拉、弱上拉、强下拉、弱下

推挽、开漏、强上拉、弱上拉、强下拉、弱下

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

2、OC(集电极开路‎)门电路必须‎加上拉电阻‎,才能使用。

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

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

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

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

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

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

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

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

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

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

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

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

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

开漏输出与推挽输出

开漏输出与推挽输出

开漏输出和推挽输出推挽输出:可以输出高,低电平,连接数字器件。

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

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

开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).输出0 时,N-MOS 导通,P-MOS 不被激活,输出0。

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

推挽输出电路如下:上面的三极管是N型三极管,下面的三极管是P型三极管,请留意控制端、输入端和输出端。

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

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

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

经过下面的P型三极管提供电流给负载(Rload),这就叫「挽」。

以上,这就是推挽(push-pull)电路。

那么什么是开漏呢?要理解开漏,可以先理解开集。

如图,开集的意思,就是集电极C一端什么都不接,直接作为输出端口。

如果要用这种电路带一个负载,比如一个LED,必须接一个上拉电阻,就像这样。

当Vin没有电流,Q5断开时,LED亮。

当Vin流入电流,Q5导通时,LED灭。

开漏电路,就是把上图中的三极管换成场效应管(MOSFET)。

N型场效应管各个端口的名称:场效应管是电压控制型元器件,只要对栅极施加电压,DS就会导通。

结型场效应管有一个特性就是它的输入阻抗非常大,这意味着:没有电流从控制电路流出,也没有电流进入控制电路。

没有电流流入或流出,就不会烧坏控制电路。

而双极型晶体管不同,是电流控制性元器件,如果使用开集电路,可能会烧坏控制电路。

悬浮与上拉,开漏与推挽电路分析

悬浮与上拉,开漏与推挽电路分析

1.1.1悬浮输入与上拉输入悬浮输入与上拉输入是两种输入方式,不同之处在于上拉输入时,引脚内部有个上拉电阻。

当引脚悬空时,上拉输入的引脚电平是确定的,即高电平;而悬浮输入则不同,它的电平是不确定的,即使外部的一个很小的信号都会使其发生改变。

上拉输入最典型的应用就是外部按键,当按键未按下时,我们要保证它是高电平,当按键按下时才被拉低;而悬浮输入的典型应用就是模数转换,外部的任何一个小信号都要经过A/D采样转换为数字信号。

1.1.2开漏输出与推挽输出1.开漏输出说开漏输出之前,我们先来看看什么是集电极开路输出。

图错误!文档中没有指定样式的文字。

-1 集电极开路集电极开路输出的结构图如图错误!文档中没有指定样式的文字。

-1所示,三极管Q1的集电极就是单片机的I/O口,什么都不接,所以叫做集电极开路。

当控制端输入为“0”时,三极管Q2截止,及集电极与发射机之间断开,所以5V电压通过R1接到Q1的基级,Q1导通,即相当于管脚直接接地;当控制端输入“1”时,三极管Q2导通,Q1截止,输出引脚与地之间断开。

我们将图错误!文档中没有指定样式的文字。

-1简化为图错误!文档中没有指定样式的文字。

-2所示。

图错误!文档中没有指定样式的文字。

-2 集电极开路简化图图错误!文档中没有指定样式的文字。

-2中的开关受软件控制,“1”时断开,“0”时闭合。

很明显可以看出,当开关闭合时,输出直接接地,所以输出低电平。

而当开关断开时,则输出端悬空,即引脚为高阻态。

这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。

图错误!文档中没有指定样式的文字。

-3 带上拉电阻的开漏输出图错误!文档中没有指定样式的文字。

-3中的10K电阻即是上拉电阻。

当开关闭合,输出管脚直接接地,输出为低电平,当开关断开,电流经过10K电阻流入负载,相当于管脚输出高电平。

明白了集电极开路,那么开漏输出就简单了,只要把三极管换成场效应管即可,这样,集电极就变成了漏极,而原理分析是一样的。

  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;。

相关文档
最新文档