开漏(Open-Drain)和推挽(Push-Pull)输出
开漏输出,推挽输出
![开漏输出,推挽输出](https://img.taocdn.com/s3/m/d773a9d49fc3d5bbfd0a79563c1ec5da50e2d6d9.png)
开漏输出,推挽输出1,开漏输出(Open-Drain)⾸先讲⼀下集电极开路输出(Open-Collector),单⽚机I/O常⽤的输出⽅式的开漏输出(Open-Drain),漏极开路电路概念中提到的"漏"是指 MOSFET的漏极。
同理,集电极开路电路中的"集"就是指三极管的集电极。
在数字电路中,分别简称OD门和OC门。
典型的集电极开路电路如图所⽰。
电路中右侧的三极管集电极什么都不接,所以叫做集电极开路,左侧的三极管⽤于反相作⽤,即左侧输⼊"0"时左侧三极管截⽌,VCC通过电阻加到右侧三极管基极,右侧三极管导通,右侧输出端连接到地,输出"0"。
从图中电路可以看出集电极开路是⽆法输出⾼电平的,如果要想输出⾼电平可以在输出端加上上拉电阻。
因此集电极开路输出可以⽤做电平转换,通过上拉电阻上拉⾄不同的电压,来实现不同的电平转换。
⽤做驱动器,由于OC门电路的输出管的集电极悬空,使⽤时需外接⼀个上拉电阻Rp到电源VCC。
OC门使⽤上拉电阻以输出⾼电平,此外为了加⼤输出引脚的驱动能⼒,上拉电阻阻值的选择原则:从降低功耗及芯⽚的灌电流能⼒考虑应当⾜够⼤;从确保⾜够的驱动电流考虑应当⾜够⼩。
将OC门输出连在⼀起时,再通过⼀个电阻接外电源,可以实现"线与"逻辑关系。
只要电阻的阻值和外电源电压的数值选择得当,就能做到既保证输出的⾼、低电平符合要求,⽽且输出三极管的负载电流⼜不⾄于过⼤。
集电极开路输出除了可以实现多门的线与逻辑关系外,通过使⽤⼤功率的三极管还可⽤于直接驱动较⼤电流的负载,如继电器、脉冲变压器、指⽰灯等。
由于现在MOS管⽤普遍,⽽且性能要⽐晶体管要好,所以很多开漏输出电路,和后⾯要讲的推挽输出电路都⽤MOS管实现。
再来就是开漏输出电路,和集电极开路⼀样,顾名思义,开漏电路就是指从MOSFET的漏极输出的电路。
开漏(Open-Drain)和推挽(Push-Pull)输出
![开漏(Open-Drain)和推挽(Push-Pull)输出](https://img.taocdn.com/s3/m/39abbe639b6648d7c1c74686.png)
开漏(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甚至继电器,但电阻的驱动是有限的,最大高电平输出电流=(vcc-Vh)/r;另一种是互补推挽输出,采用2只晶体管,一只在上一只在下,上面的一只是n型,下面为p型(以三极管为例),两只管子的连接为:npn(上)的c连vcc,pnp(下)的c接地,两只管子的ee,bb相连,其中ee作为输出(引出脚),bb接内部逻辑,这个电路通常用于功率放大点路的末级(音响),当bb接高电压时npn管导通输出高电压,由于三极管的ec电阻很小,因此输出的高电压有很强的驱动能力,当bb接低电压时npn截至,pnp导通,由于三极管的ec电阻很小因此输出的低电压有很强的驱动能力,简单的例子,9013导通时ec电阻不到10欧,以Vh=2.5v,vcc=5v计算,高电平输出电流最大=250MA,短路电流500ma,这个计算同时告诉我们采用推挽输出时一定要小心千万不要出现外部电路短路的可能,否则肯定烧毁芯片,特别是外部驱动三极管时别忘了在三极管的基极加限流电阻。
推挽、开漏、强上拉、弱上拉、强下拉、弱下拉输出之间的区别
![推挽、开漏、强上拉、弱上拉、强下拉、弱下拉输出之间的区别](https://img.taocdn.com/s3/m/2b3f88cfda38376baf1fae67.png)
推挽、开漏、强上拉、弱上拉、强下拉、弱下拉输出推挽输出:可以输出高,低电平,连接数字器件;推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).上拉电阻:1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于CO-MS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。
2、OC(集电极开路)门电路必须加上拉电阻,才能使用。
3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。
4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。
5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。
6、提高总线的抗电磁干扰能力。
管脚悬空就比较容易接受外界的电磁干扰。
7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。
上拉电阻阻值的选择原则包括:1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。
2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。
3、对于高速电路,过大的上拉电阻可能边沿变平缓。
综合考虑以上三点,通常在1k到10k之间选取。
对下拉电阻也有类似道理对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素:1. 驱动能力与功耗的平衡。
以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计时应注意两者之间的均衡。
2.下级电路的驱动需求。
同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。
3.高低电平的设定。
不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。
推挽式输出和漏极式输出
![推挽式输出和漏极式输出](https://img.taocdn.com/s3/m/2e9e9982bceb19e8b8f6ba48.png)
单片机学习之推挽输出与漏极开路输出方式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了。
这种输出的主要目的有两个:电平转换和线与。
6.由于漏级开路,所以后级电路必须接一上拉电阻,上拉电阻的电源电压就可以决定输出电平。
漏极开路输出和推挽输出
![漏极开路输出和推挽输出](https://img.taocdn.com/s3/m/0470a7b96bec0975f465e25b.png)
漏极开路输出和推挽输出一、漏极开路(OD)输出:漏极开路(OD)输出,跟集电极开路输出是十分类似的。
将上面的三极管换成场效应管即可。
这样集电极就变成了漏极,OC就变成了OD,原理分析是一样的。
对于漏极开路(OD)来说,输出端相当于三极管的集电极。
要得到高电平状态需要上拉电阻才行。
适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。
要实现线与需要用OC(open collector)门电路。
是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务。
电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。
输出既可以向负载灌电流,也可以从负载抽取电流。
在电路设计时我们常常遇到开漏(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等总线判断总线占用状态的原理。
如果作为输出必须接上拉电阻。
接容性负载时,下降延是芯片内的晶体管,是有源驱动,速度较快;上升延是无源的外接电阻,速度慢。
如果要求速度高电阻选择要小,功耗会大。
所以负载电阻的选择要兼顾功耗和速度。
STM32推挽输出、开漏输出、上拉输入详解
![STM32推挽输出、开漏输出、上拉输入详解](https://img.taocdn.com/s3/m/48e52136e518964bcf847c87.png)
可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。
高低电平由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提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。
因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。
开漏输出与推挽输出的比较
![开漏输出与推挽输出的比较](https://img.taocdn.com/s3/m/49f7e416866fb84ae45c8d86.png)
开漏输出与推挽输出的比较开漏输出:OC门的输出就是开漏输出;OD门的输出也是开漏输出。
TTL电路有集电极开路OC门,MOS管也有和集电极对应的漏极开路的OD门,它的输出就叫做开漏输出。
它可以吸收很大的电流,但是不能向外输出电流。
所以,为了能输入和输出电流,它使用的时候要跟电源和上拉电阻一齐用。
OC门开漏输出和OD门开漏输出都是为了同一个目的,都是为了实现逻辑器件的线与逻辑,当然选用不同的外接电阻也可以实现外围驱动能力的增加。
当你应用此电路的时候,要注意应用时要加上拉电阻接电源,这样才能保证逻辑的正确,在电阻上要根据逻辑器件的扇入扇出系数来确定,但一般mos电路带载同样的mos电路能力比较强,所以电阻通常可以选择2.2k,4.9k这样一些常用的。
推挽输出与开漏输出的区别推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.要实现 线与 需要用OC(open collector)门电路.是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。
输出既可以向负载灌电流,也可以从负载抽取电流。
所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。
同理,开集电路中的“集”就是指三极管的集电极。
开漏电路就是指以MOSFET的漏极为输出的电路。
一般的用法是会在漏极外部的电路添加上拉电阻。
完整的开漏电路应该由开漏器件和开漏上拉电阻组成。
如图1所示:组成开漏形式的电路有以下几个特点:1. 利用 外部电路的驱动能力,减少IC内部的驱动。
当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。
开漏 推挽电路
![开漏 推挽电路](https://img.taocdn.com/s3/m/4eac5be80975f46527d3e13b.png)
Open drain & push pull,IO口驱动,集电极开路Open drain & push pull最近在写GPIO的driver, 在配置GPIO管脚时,看见了感觉熟悉的两个名词:Open Drain and Push Pull。
可是一时对它们的原理及区别有感觉很模糊,故上网收集了一些资料复习一下。
所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。
同理,开集电路中的“集”就是指三极管的集电极。
开漏电路就是指以MOSFET的漏极为输出的电路。
一般的用法是会在漏极外部的电路添加上拉电阻。
完整的开漏电路应该由开漏器件和开漏上拉电阻组成。
如图1所示:图 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不连接外部的上拉电阻,则只能输出低电平(因此对于经典的51单片机的P0口而言,要想做输入输出功能必须加外部上拉电阻,否则无法输出高电平逻辑)。
5. 标准的开漏脚一般只有输出的能力。
添加其它的判断电路,才能具备双向输入、输出的能力。
图 2应用中需注意:1. 开漏和开集的原理类似,在许多应用中我们利用开集电路代替开漏电路。
例如,某输入Pin要求由开漏电路驱动。
则我们常见的驱动方式是利用一个三极管组成开集电路来驱动它,即方便又节省成本。
推挽输出与开漏输出的区别
![推挽输出与开漏输出的区别](https://img.taocdn.com/s3/m/5974b9d7c1c708a1284a4416.png)
/////////////////////////////////////////////////////////////////////
开漏电路特点及应用
另一种是互补推挽输出,采用2只晶体管,一只在上一只在下,上面的一只是n型,下面为p型(以三极管为例),两只管子的连接为:npn(上)的c连vcc,pnp(下)的c接地,两只管子的ee,bb相连,其中ee作为输出(引出脚),bb接内部逻辑,这个电路通常用于功率放大点路的末级(音响),当bb接高电压时npn管导通输出高电压,由于三极管的ec电阻很小,因此输出的高电压有很强的驱动能力,当bb接低电压时npn截至,pnp导通,由于三极管的ec电阻很小因此输出的低电压有很强的驱动能力,简单的例子,9013导通时ec电阻不到10欧,以Vh=2.5v,vcc=5v计算,高电平输出电流最大=250MA,短路电流500ma,这个计算同时告诉我们采用推挽输出时一定要小心千万不要出现外部电路短路的可能,否则肯定烧毁芯片,特别是外部驱动三极管时别忘了在三极管的基极加限流电阻。推挽输出电路的形式很多,有些单片机上下都采用n型管,但内部逻辑提供互补输出,以上的说明仅仅为了说明推挽的原理,为了更深的理解可以参考功率放大电路。
5. 标准的开漏脚一般只有输出的能力。添加其它的判断电路,才能具备双向输入、输出的能力。
应用中需注意:
1. 开漏和开集的原理类似,在许多应用中我们利用开集电路代替开漏电路。例如,某输入Pin要求由开漏电路驱动。则我们常见的驱动方式是利用一个三极管组成开集电路来驱动它,即方便又节省成本。如图3。
如果学过三极管放大电路一定知道,前置单管放大器和功放末级放大电路的区别。单片机内部的逻辑经过内部的逻辑运算后需要输出到外面,外面的器件可能需要较大的电流才能推动,因此在单片机的输出端口必须有一个驱动电路。
GPIO输入输出各种模式详解
![GPIO输入输出各种模式详解](https://img.taocdn.com/s3/m/82f4ee5615791711cc7931b765ce050877327577.png)
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中。
推挽、开漏、强上拉、弱上拉、强下拉、弱下拉输出之间的区别
![推挽、开漏、强上拉、弱上拉、强下拉、弱下拉输出之间的区别](https://img.taocdn.com/s3/m/2b3f88cfda38376baf1fae67.png)
推挽、开漏、强上拉、弱上拉、强下拉、弱下拉输出推挽输出:可以输出高,低电平,连接数字器件;推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).上拉电阻:1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于CO-MS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。
2、OC(集电极开路)门电路必须加上拉电阻,才能使用。
3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。
4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。
5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。
6、提高总线的抗电磁干扰能力。
管脚悬空就比较容易接受外界的电磁干扰。
7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。
上拉电阻阻值的选择原则包括:1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。
2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。
3、对于高速电路,过大的上拉电阻可能边沿变平缓。
综合考虑以上三点,通常在1k到10k之间选取。
对下拉电阻也有类似道理对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素:1. 驱动能力与功耗的平衡。
以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计时应注意两者之间的均衡。
2.下级电路的驱动需求。
同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。
3.高低电平的设定。
不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。
单片机I-O口推挽输出与开漏输出的区别
![单片机I-O口推挽输出与开漏输出的区别](https://img.taocdn.com/s3/m/b17f8ed2e009581b6bd9eb74.png)
单片机I/O口推挽输出与开漏输出的区别
推挽输出:可以输出高,低电平,连接数字器件;
开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.
我们先来说说集电极开路输出的结构。
集电极开路输出的结构如图1所示,右边的那个三极管集电极什幺都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为0时,输出也为0)。
对于图1,当左端的输入为0时,前面的三极管截止(即集电极C跟发射极E之间相当于断开),所以5V
电源通过1K电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为1时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。
我们将图1简化成图2的样子。
图2中的开关受软件控制,1时断开,0时闭合。
很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。
而当开关断开时,则输出端悬空了,即高阻态。
这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那幺输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。
推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入..
![推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入..](https://img.taocdn.com/s3/m/3831a37049d7c1c708a1284ac850ad02de80073a.png)
推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别(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;。
最全的STM32八种IO口模式讲解
![最全的STM32八种IO口模式讲解](https://img.taocdn.com/s3/m/f29def650622192e453610661ed9ad51f01d549d.png)
最全的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总线和其他需要共享信号线的应用。
推挽输出与开漏输出的区别
![推挽输出与开漏输出的区别](https://img.taocdn.com/s3/m/c6a8603510661ed9ad51f38f.png)
推挽输出与开漏输出的区别推挽输出与开漏输出的区别推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.要实现‘线与’需要用OC(open collector)门电路.是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。
输出既可以向负载灌电流,也可以从负载抽取电流。
/////////////////////////////////////////////////////////////////////开漏电路特点及应用在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。
所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。
同理,开集电路中的“集”就是指三极管的集电极。
开漏电路就是指以MOSFET的漏极为输出的电路。
一般的用法是会在漏极外部的电路添加上拉电阻。
完整的开漏电路应该由开漏器件和开漏上拉电阻组成。
组成开漏形式的电路有以下几个特点:1. 利用外部电路的驱动能力,减少IC内部的驱动。
当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。
IC内部仅需很下的栅极驱动电流。
2. 可以将多个开漏输出的Pin,连接到一条线上。
形成“与逻辑” 关系。
当PIN_A、PIN_B、PIN_C任意一个变低后,开漏线上的逻辑就为0了。
这也是I2C,SMBus等总线判断总线占用状态的原理。
3. 可以利用改变上拉电源的电压,改变传输电平。
IC的逻辑电平由电源Vcc1决定,而输出高电平则由Vcc2决定。
GPIO输入输出各种模式(推挽、开漏、准双向端口)详解
![GPIO输入输出各种模式(推挽、开漏、准双向端口)详解](https://img.taocdn.com/s3/m/bc69ca2c551810a6f424862b.png)
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所示。
推挽输出与开漏输出结构和原理详解
![推挽输出与开漏输出结构和原理详解](https://img.taocdn.com/s3/m/e4a3a425f4335a8102d276a20029bd64783e629e.png)
推挽输出与开漏输出结构和原理详解推挽输出和开漏输出是指在数字电路中用于驱动外部负载的两种常用结构。
它们在控制信号的输出方式、应用领域和工作原理等方面有所不同。
下面将对推挽输出和开漏输出进行详解。
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)进行限制;-适用于非对称驱动、开关电源控制等需要较高的输出电流和开路状态的应用场景。
推挽输出和开漏输出详解
![推挽输出和开漏输出详解](https://img.taocdn.com/s3/m/34f45212c850ad02de8041a8.png)
open-drain与push-pull】GPIO的功能,简单说就是可以根据自己的需要去配置为输入或输出。
但是在配置GPIO管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull)。
对此两种模式,有何区别和联系,下面整理了一些资料,来详细解释一下:图表?1 Push-Pull对比Open-Drain常见的GPIO的模式可以配置为open-drain或push-pull,具体实现上,常为通过配置对应的寄存器的某些位来配置为open-drain 或是push-pull。
当我们通过CPU去设置那些GPIO的配置寄存器的某位(bit)的时候,其GPIO硬件IC内部的实现是,会去打开或关闭对应的top transistor。
相应地,如果设置为了open-d模式的话,是需要上拉电阻才能实现,也能够输出高电平的。
因此,如果硬件内部(internal)本身包含了对应的上拉电阻的话,此时会去关闭或打开对应的上拉电阻。
如果GPIO硬件IC内部没有对应的上拉电阻的话,那么你的硬件电路中,必须自己提供对应的外部(external)的上拉电阻。
而push-pull输出的优势是速度快,因为线路(line)是以两种方式驱动的。
而带了上拉电阻的线路,即使以最快的速度去提升电压,最快也要一个常量的R×C的时间。
其中R是电阻,C是寄生电容(parasitic capacitance),包括了pin脚的电容和板子的电容。
但是,push-pull相对的缺点是往往需要消耗更多的电流,即功耗相对大。
而open-drain所消耗的电流相对较小,由电阻R所限制,而R不能太小,因为当输出为低电平的时候,需要sink更低的transistor,这意味着更高的功耗。
(此段原文:because the lower transistor has to sink that current when the output is low; that means higher power consumption.)而open-drain的好处之一是,允许你cshort()多个open-drain的电路,公用一个上拉电阻,此种做法称为wired-OR连接,此时可以通过拉低任何一个IO的pin脚使得输出为低电平。
开漏输出与推挽输出
![开漏输出与推挽输出](https://img.taocdn.com/s3/m/6dc0e6113069a45177232f60ddccda38376be18b.png)
开漏输出和推挽输出推挽输出:可以输出高,低电平,连接数字器件。
输出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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开漏(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甚至继电器,但电阻的驱动是有限的,最大高电平输出电流
=(vcc-Vh)/r;
另一种是互补推挽输出,采用2只晶体管,一只在上一只在下,上面的一只是n型,下面为p型(以三极管为例),两只管子的连接为:npn(上)的c连vcc,pnp(下)的c接地,两只管子的ee,bb相连,其中ee作为输出(引出脚),bb接内部逻辑,这个电路通常用于功率放大点路的末级(音响),当bb接高电压时npn管导通输出高电压,由于三极管的ec电阻很小,因此输出的高电压有很强的驱动能力,当bb接低电压时npn截至,pnp导通,由于三极管的ec电阻很小因此输出的低电压有很强的驱动能力,简单的例子,9013导通时ec电阻不到10欧,以Vh=2.5v,vcc=5v计算,高电平输出电流最大=250MA,短路电流500ma,这个计算同时告诉我们采用推挽输出时一定要小心千万不要出现外部电路短路的可能,否则肯定烧毁芯片,特别是外部驱动三极管时别忘了在三极管的基极加限流电阻。
推挽输出电路的形式很多,有些单片机上下都采用n型管,但内部逻辑提供互补输出,以上的说明仅仅为了说明推挽的原理,为了更深的理解可以参考功率放大电路。
具有开漏(OD)输出的器件是指内部输出和地之间有个N沟道的MOSFET(Q1),这些器件可以用于电平转换的应用。
输出电压由Vcc'决定。
Vcc'可以大于输入高电平电压VCC(up-translate)也可以低于输入高电平电压VCC(down-translate)。
开漏器件对于各种电压节点间的电平转换非常有用。
但是,这种电平转换的方法存在一些缺点。
例如,当输出电平为低时,N沟道三极管是导通的,这样在Vcc'和GND之间有一个持续的电流流过上拉电阻R和三极管Q1。
这会影响整个系统的功耗。
采用较大值的上拉电阻可以减小电流。
但是,但是大的阻值会使输出信号的上升时间变慢。
开漏输出器件的优点如下:
● 可以用于各种电压节点的Up-translate和down-translate转换
● 可以将多个开漏输出的Pin脚,连接到一条线上,形成“与逻辑”关系,即“线与”功能,任意一个变低后,开漏线上的逻辑就为0了。
这也是I2C,SMBus等总线判断总线占用状态的原理。
● 开漏Pin不连接外部的上拉电阻,则只能输出低电平。
上图有问题,参考下图
具有推挽(push-pull)输出的器件是指输出脚内部集成有一对互补的MOSFET,当Q1导通、Q2截止时输出高电平;而当Q1截止导通、Q2导通时输出低电平;即可以吸电流,也可以贯电流;
但是缺点是,一条总线上只能有一个push-pull输出的器件;。