GPIO的推挽输出和开漏输出以及其优缺点分析
单片机IO口推挽输出与开漏输出的区别(转)
c
单片机I/O口推挽输出与开漏输出的区别(转)
推挽输出:可以输出高,低电平,连接数字器件;
开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.
我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极C跟发射极E 之间相当于断开),所以5V电源通过1K电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。
我们将图1简化成图2的样子。图2中的开关受软件控制,“1”时断开,“0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。
再看图三。图三中那个1K的电阻即是上拉电阻。如果开关闭合,则有电流从1K电阻及开关上流过,但由于开关闭其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于P0口来说,就是高阻态了。
推挽输出与开漏输出的区别
推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极. 要得
到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma 以内).
推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另
一个截止.
要实现线与需要用OC(open collector)门电路.是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。输出既可以向负载灌电流,也可以从负载抽取电流。
/////////////////////////////////////////////////////////////////////
开漏电路特点及应用
在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。本人虽然在念书时就知道其基本的用法,而且在设计中并未遇的过问题。但是前两天有位同事向我问起了这个概念。我忽然觉得自己对其概念了解的并不系统。近日,忙里偷闲对其进行了下总结。
所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。如图1所示:
组成开漏形式的电路有以下几个特点:
1. 利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很下的栅极驱动电流。如图1。
推挽输出与开漏输出的区别
推挽输出与开漏输出的区别
推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极. 要得到高电平
状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.
要实现线与需要用OC(open collector)门电路.是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。输出既可以向负载灌电流,也可以从负载抽取电流。
/////////////////////////////////////////////////////////////////////
三极管的开漏输出有什么特性,和推挽是不是一回事,
问题:
很多芯片的供电电压不一样,有3.3v和5.0v,需要把几种IC的不同口连接在一起,是不是直接连接就可以了?实际上系统是应用在I2C上面。
简答:
1、部分3.3V器件有5V兼容性,可以利用这种容性直接连接
2、应用电压转换器件,如TPS76733就是5V输入,转换成3.3V、1A输出。
/////////////////////////////////////////////////////////////////////
开漏电路特点及应用
在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。本人虽然在念书时就知道其基本的用法,而且在设计中并未遇的过问题。但是前两天有位同事向我问起了这个概念。我忽然觉得自己对其概念了解的并不系统。近日,忙里偷闲对其进行了下总结。
开漏(Open-Drain)和推挽(Push-Pull)输出
开漏(Open-Drain)和推挽(Push-Pull)输出
推荐到论坛| 收藏
漏级开路即高阻状态,适用于输入/输出,其可独立输入/输出低电平和高阻状态,若需要产生高电平,则需使用外部上拉电阻或使用如LCX245等电平转换芯片。有些朋友,尤其是未学过此方面知识的朋友,在实际工作中将I/O 口设置为漏开,并想输出高电平,但向口线上写1后对方并未认出高电平,但用万用表测量引脚确有电压,这种认为是不对的,对于高阻状态来说,测量电压是无意义的,正确的方法应是外加上拉电阻,上拉电阻的阻值=上拉电压/芯片引脚最大灌(拉)电流。
推挽方式可完全独立产生高低电平,推挽方式为低阻,这样,才能保证口线上不分走电压或分走极小的电压(可忽略),保证输出与电源相同的高电平,推挽适用于输出而不适用于输入,因为若对推挽(低阻)加高电平后,I=U/R,I会很大,将造成口的烧毁。
对与C8051F的很多型号片子,将I/O口设置为推挽方式的做法为:PnMDOUT=0xff,Pn=0x00,这样设置I/O口为推挽,并输出低电平(可降低功耗)将I/O口设置为漏开方式的做法为:PnMDOUT=0x00,Pn=0x11,这样设置I/O口为漏开。
如果学过三极管放大电路一定知道,前置单管放大器和功放末级放大电路的区别。单片机内部的逻辑经过内部的逻辑运算后需要输出到外面,外面的器件可能需要较大的电流才能推动,因此在单片机的输出端口必须有一个驱动电路。
这种驱动电路有两种形式:
其中的一种是采用一只N型三极管(npn或n沟道),以npn三极管为例,就是e接地,b接内部的逻辑运算,c 引出,b受内部驱动可以控制三极管是否导通但如果三极管的c极一直悬空,尽管b极上发生高低变化,c极上也不会有高低变化,因此在这种条件下必须在外部提供一个电阻,电阻的一端接c(引出脚)另一端接电源,这样当三极管的b有高电压是三极管导通,c电压为低,当b为低电压时三极管不通,c极在电阻的拉动下为高电压,这种驱动电路有个特点:低电压是三极管驱动的,高电压是电阻驱动的(上下不对称),三极管导通时的ec内阻很小,因此可以提供很大的电流,可以直接驱动led甚至继电器,但电阻的驱动是有限的,最大高电平输出电流
开漏输出与推挽输出的比较
开漏输出与推挽输出的比较
开漏输出:OC门的输出就是开漏输出;OD门的输出也是开漏输出。TTL电路有集电极
开路OC门,MOS管也有和集电极对应的漏极开路的OD门,它的输出就叫做开漏输出。它可以吸收很大的电流,但是不能向外输出电流。所以,为了能输入和输出电流,它使用的时候要跟电源和上拉电阻一齐用。
OC门开漏输出和OD门开漏输出都是为了同一个目的,都是为了实现逻辑器件的线与逻辑,当然选用不同的外接电阻也可以实现外围驱动能力的增加。当你应用此电路的时候,要注意应用时要加上拉电阻接电源,这样才能保证逻辑的正确,在电阻上要根据逻辑器件的扇入扇出系数来确定,但一般mos电路带载同样的mos电路能力比较强,所以电阻通常可以选择2.2k,4.9k这样一些常用的。
推挽输出与开漏输出的区别
推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.
要实现 线与 需要用OC(open collector)门电路.是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。输出既可以向负载灌电流,也可以从负载抽取电流。
所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。如图1所示:
单片机IO口推挽输出与开漏输出的区别(转)
c
单片机I/O 口推挽输出与开漏输出的区别(转)推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极.要得到高电平状态需要上拉电阻才行.适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.
我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“ 0时,输出也为“ 0”。对于图1,当左端的输入为“0时,前面的三极管截止(即集电极C跟发射极E
之间相当于断开),所以5V电源通过1K电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“ 1时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。
我们将图1简化成图2的样子。图2中的开关受软件 控
制,“ 1时断开,“ 0”闭合。很明显可以看出,当开关 闭合时,输出直接接地,所以输出电平为0。而当开关断 开时,则输出端悬空了,即高阻态。这时电平状态未知, 如果后面一个电阻负载(即使很轻的负载)到地,那么 输出端的电平就被这个负载拉到低电平了,所以这个电 路是不能输出高电平的。
再看图三。图三中那个 1K 的电阻即是上拉电阻。女口 果开关闭合,则有电流从1K 电阻及开关上流过,但由于 开关闭其它三个口带内部上拉),当我们要使用输入功 能时,只要将输出口设置为 1即可,这样就相当于那个 开关断开,而对于 P0 口来说,就是高阻态了。
开漏和推挽到底啥区别?
开漏和推挽到底啥区别?
开漏和推挽到底有什么区别?
开漏和推挽区别在于:
开漏:输出端相当于三极体的集电极,要得到高电平状态需要上拉电阻才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。
推挽输出:可以输出高,低电平,连线数字器件。
开漏电路就是指以MOS FET的漏极为输出的电路。一般的用法是会在漏极外部的电路新增上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。
推挽结构一般是指两个三极体分别受两互补讯号的控制,总是在一个三极体导通的时候另一个截止。
微控制器IO口开漏和推挽的区别
微控制器IO埠开漏就是只有一个对地的mos管没有上拉电阻,漏极开路就是什么都不接,推挽输出就是对地对电源各有一个mos管,高电平时对电源的mos管导通对地mos管截止,低电平对地的mos 管导通对电源mos管截止,希望你能理解
微控制器io口设定推挽和开漏的区别
设定推挽模式,只能是输出模式,而输出高低电平的驱动电流都很大。
而开漏模式,即可作为输出,也可作为输入。
作输出时,要输出高电平,需要外加上拉电阻。
作输入时,要求处理高电平状态,才能读外部引脚。
推挽和半桥区别
大概说说;
1)推挽电路管子大都工作线上性区,半桥电路的管子则工作在开关状态;
2)推挽电路管子大都采用NPN、PNP / N沟道、P沟道的配对形式,或是等效形式,如达林顿结构;
半桥电路的管子因为都工作在开关状态,不必采用极性配对的管子;
推挽半桥区别
反激最简单,一个变压器,一个开关管,一个输出二极体
正激在上面的基础上,多一个储能电感,次级多一个续流二极体
推挽输出与开漏输出的区别
推挽输出与开漏输出的区别推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.要实现 线与 需要用OC(open collector)门电路.是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。输出既可以向负载灌电流,也可以从负载抽取电流。 /////////////////////////////////////////////////////////////////////三极管的开漏输出有什么特性,和推挽是不是一回事,问题:很多芯片的供电电压不一样,有3.3v和5.0v,需要把几种IC的不同口连接在一起,是不是直接连接就可以了?实际上系统是应用在I2C上面。简答: 1、部分3.3V器件有5V兼容性,可以利用这种容性直接连接2、应用电压转换器件,如TPS76733就是5V输入,转换成3.3V、1A输出。/////////////////////////////////////////////////////////////////////开漏电路特点及应用 在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。本人虽然在念书时就知道其基本的用法,而且在设计中并未遇的过问题。但是前两天有位同事向我问起了这个概念。我忽然觉得自己对其概念了解的并不系统。近日,忙里偷闲对其进行了下总结。 所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。如图1所示: 组成开漏形式的电路有以下几个特点:1. 利用 外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很下的栅极驱动电流。如图1。2. 可以将多个开漏输出的Pin,连接到一条线上。形成 “与逻辑” 关系。如图1,当PIN_A、PIN_B、PIN_C任意一个变低后,开漏线上的逻辑就为0了。这也是I2C,SMBus等总线判断总线占用状态的原理。3. 可以利用改变上拉电源的电压,改变传输电平。如图2, IC的逻辑电平由电源Vcc1决定,而输出高电平则由Vcc2决定。这样我们就可以用低电平逻辑控制输出高电平逻辑了。4. 开漏Pin不连接外部的上拉电阻,则只能输出低电平
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输入输出的特殊
STM32GPIO输入输出模式的理解
STM32GPIO输⼊输出模式的理解
四种输出模式:
1、推挽输出
所谓推挽输出模式是根据两个MOS管的⼯作⽅式命名的。
功能:推挽输出可输出⾼电平,可输出低电平。
应⽤:⼀般应⽤在输出电平为VSS和VDD,⽽且需要⾼速切换开关状态的场合。在STM32的应⽤中,除必须使⽤开漏模式的场合,我们都使⽤推挽输出模式。
2、推挽复⽤模式
应⽤于内容来⾃STM32⽚上外设。即GPIO被⽤作复⽤功能时使⽤。
3、开漏输出
功能:只能输出低电平,如需输出⾼⾼电平,需外接电路(单⽚机输出3.3V时,外接电路为3,3V时,输出3.3V.外接5V时,可输出5V)。应⽤:⼀般应⽤在输出电平在IIC、SMBUS通信等需要"线与"功能的总线中。除此之外,还⽤在电平不匹配的场合,如需输出5伏的⾼电平,就可以外部接⼀上拉电阻,上拉电源为5伏。并且把GPIO设置为开漏模式,当输出⾼阻态时,由上拉电阻和电源向外输出5伏的电平。
4、开漏复⽤
四种输⼊模式:
1、上拉输⼊
在没有输⼊信号的时候,输⼊端默认输⼊⾼电平(由上拉决定)。
2、下拉输⼊
如上拉输⼊
3、浮空输⼊
浮空输⼊的电平是不确定的,完全由外部的输⼊决定。
应⽤:⼀般⽤于接按键。
4、模拟输⼊
⽤于ADC采集。
请简述gpio端口中推挽输出模式的基本原理(一)
请简述gpio端口中推挽输出模式的基本原理
(一)
GPIO端口中推挽输出模式基本原理
什么是GPIO端口
GPIO(General Purpose Input/Output)通用输入输出端口,是现代
微控制器中一个常见的功能模块。它可以是输入端口,如读取按键输
入状态;也可以是输出端口,如控制LED灯状态等操作。
推挽输出模式是什么
在GPIO的输出端口中,有不同的工作模式。其中,推挽输出模式(Push-Pull)是最常见的一种。推挽输出可以将输出信号的电平快速
地变化,比如在LED灯的开关控制中,推挽输出的变化速度较快,它
通过输出电平的高低来控制外部电路的开关。
推挽输出模式的基本原理
推挽输出模式的基本原理是使用微控制器的引脚将输出的高电平或低
电平传递到外部电路中。推挽输出能够提供相对稳定的输出电压,因
此被广泛使用在各种应用场景中。
推挽输出模式是由微控制器的引脚驱动的。当输出引脚处于高电平时,传递到外部电路中的电压将保持稳定的高电平。在低电平时,传递到
外部电路中的电压将保持稳定的低电平。因此,推挽输出可以在不同
状态(高电平,低电平)下连接到外部电路中。
推挽输出模式可将输出电压快速变化,因此在控制LED灯或其他设备
的开关状态时,是一个非常实用的工作模式。当需要快速切换开关状
态时,推挽模式可以通过改变GPIO输出引脚电压,实现快速反转输出
信号的状态。
总结
推挽输出模式是GPIO端口中一种应用广泛的工作模式。通过使用微控制器的引脚,可以在外部电路中提供稳定的输出电压。推挽输出模式的快速反转输出信号的状态,特别适用于LED灯的开关控制等操作。
推挽输出与开漏输出的区别
推挽输出:可以输出高,低电平,连接数字器件;
开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.
要实现线与需要用OC(open collector)门电路.是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。输出既可以向负载灌电流,也可以从负载抽取电流。
/////////////////////////////////////////////////////////////////////
开漏电路特点及应用
在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。本人虽然在念书时就知道其基本的用法,而且在设计中并未遇的过问题。但是前两天有位同事向我问起了这个概念。我忽然觉得自己对其概念了解的并不系统。近日,忙里偷闲对其进行了下总结。
所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。如图1所示:
组成开漏形式的电路有以下几个特点:
1. 利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很下的栅极驱动电流。如图1。
推挽模式与开漏模式的个人见解
首先看以下STM32的GPIO的原理图如下:
当端口配置为输出时:
开漏模式:输出0时,N-MOS导通,P-MOS不被激活,输出0。
输出1时,N-MOS高阻,P-MOS不被激活,输出1(需要外部上拉);
此模式可以把端口作为双向IO使用。
个人解释:开漏模式的意思是上图的“输出控制”并不控制标注为“1”的线,让P-MOS不被激活(相当于没有这个器件),只有N-MOS。此时,我们反推的话:
当输出即“3”线为0时,说明N-MOS导通了,也就是当某一条件下“输出控制”
控制2线,让N-MOS导通,结果就可以得到“3”出输出为0。当输出“3”为1
时,说明N-MOS在“输出控制”的控制下没有工作,呈高阻态,那么“3”线则
是N-MOS的漏脚悬空,若想输出1,必须要外部上拉。与51单片机的P0口类似,使用0的时候没问题,使用1的话需要外部加上拉。
推挽模式:输出0时,N-MOS导通,P-MOS高阻,输出0。
输出1时,N-MOS高阻,P-MOS导通,输出1(不需要外部上拉)。
个人解释:此种模式即在“输出控制”的条件下,N-MOS和P-MOS都是存在的,但是同时只有一个工作,具体可以百度。当输出即“3”线为0的时,反推,
说明P-MOS是没有工作的(高阻),可以把此时的P-MOS当做一个大电阻,并且
上拉了,所以这里对比开漏模式的话不需要外部上拉。N-MOS是导通的。当输出
即“3”线为1时,反推,此时P-MOS是没有导通的,而N-MOS是没有工作的(高
阻)。
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所示。
推挽输出与开漏输出的区别
推挽输出与开漏输出的区别
推挽输出与开漏输出的区别
推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对
强(一般20ma以内).
推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的
时候另一个截止.
要实现‘线与’需要用OC(open collector)门电路.是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。输出既可以向负载灌电流,也可以从负载抽取电流。
/////////////////////////////////////////////////////////////////////
开漏电路特点及应用
在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。
组成开漏形式的电路有以下几个特点:
1. 利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很下的栅极驱动电流。
开漏输出与推挽输出
开漏输出和推挽输出
推挽输出:可以输出高,低电平,连接数字器件。
输出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)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GPIO的推挽输出和开漏输出以及其优缺点分析
GPIO的功能,简单说就是可以根据自己的需要去配置为输入或输出。但是在配置GPIO管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull)。Push-Pull推挽输出
输出的器件是指输出脚内部集成有一对互补的MOSFET,当Q1导通、Q2截止时输出高电平;而当Q1截止导通、Q2导通时输出低电平。
Push-pull输出,实际上内部是用了两个晶体管(transistor),此处分别称为top transistor 和bottom transistor。通过开关对应的晶体管,输出对应的电平。top transistor打开(bottom transistor关闭),输出为高电平;bottom transistor打开(top transistor关闭),输出低电平。Push-pull即能够漏电流(sink current),又可以集电流(source current)。其也许有,也许没有另外一个状态:高阻抗(high impedance)状态。除非Push-pull需要支持额外的高阻抗状态,否则不需要额外的上拉电阻。
Open-Drain开漏输出
开漏电路就是指以MOSFET的漏极为输出的电路。指内部输出和地之间有个N沟道的MOSFET(Q1),这些器件可以用于电平转换的应用。输出电压由Vcc决定。Vcc可以大于输入高电平电压VCC(up-translate)也可以低于输入高电平电压VCC(down-translate)。
Open-drain输出,则是比push-pull少了个top transistor,只有那个bottom transistor。(就像push-pull中的那样)当bottom transistor关闭,则输出为高电平。此处没法输出高电平,想要输出高电平,必须外部再接一个上拉电阻(pull-up resistor)。Open-drain只能够漏电流(sink current),如果想要集电流(source current),则需要加一个上拉电阻。
老外的理解
常见的GPIO的模式可以配置为open-drain或push-pull,具体实现上,常为通过配置对应的寄存器的某些位来配置为open-drain或是push-pull。当我们通过CPU去设置那些GPIO 的配置寄存器的某位(bit)的时候,其GPIO硬件IC内部的实现是,会去打开或关闭对