原创 为什么必须要在OC门输出的IO口上加上拉电阻?

2008-5-9 00:24 3818 7 8 分类: 模拟

        先来说说集电极开路输出的结构。集电极开路输出的结构如图所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极C跟发射极E之间相当于断开),所以5V电源通过1K电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。



        我们将图1简化成图2的样子。图2中的开关受软件控制,“1”时断开,“0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。


         再看图三。图三中那个1K的电阻即是上拉电阻。如果开关闭合,则有电流从1K电阻及开关上流过,但由于开关闭和时电阻为0(方便我们的讨论,实际情况中开关电阻不为0,另外对于三极管还存在饱和压降),所以在开关上的电压为0,即输出电平为0。如果开关断开,则由于开关电阻为无穷大(同上,不考虑实际中的漏电流),所以流过的电流为0,因此在1K电阻上的压降也为0,所以输出端的电压就是5V了,这样就能输出高电平了。但是这个输出的内阻是比较大的(即1KΩ),如果接一个电阻为R的负载,通过分压计算,就可以算得最后的输出电压为5*R/(R+1000)伏,即5/(1+1000/R)伏。所以,如果要达到一定的电压的话,R就不能太小。如果R真的太小,而导致输出电压不够的话,那我们只有通过减小那个1K的上拉电阻来增加驱动能力。但是,上拉电阻又不能取得太小,因为当开关闭合时,将产生电流,由于开关能流过的电流是有限的,因此限制了上拉电阻的取值,另外还需要考虑到,当输出低电平时,负载可能还会给提供一部分电流从开关流过,因此要综合这些电流考虑来选择合适的上拉电阻。 
如果我们将一个读数据用的输入端接在输出端,这样就是一个IO口了(51的IO口就是这样的结构,其中P0口内部不带上拉,而其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于P0口来说,就是高阻态了。 


        对于漏极开路(OD)输出,跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了漏极,OC就变成了OD,原理分析是一样的。


        另一种输出结构是推挽输出。推挽输出的结构就是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;而要输出低电平时,则刚好相反。比起OC或者OD来说,这样的推挽结构高、低电平驱动能力都很强。如果两个输出不同电平的输出口接在一起的话,就会产生很大的电流,有可能将输出口烧坏。而上面说的OC或OD输出则不会有这样的情况,因为上拉电阻提供的电流比较小。如果是推挽输出的要设置为高阻态时,则两个开关必须同时断开(或者在输出口上使用一个传输门),这样可作为输入状态,AVR单片机的一些IO口就是这种结构。


        集电极开路输出大概有以下几个好处:


        1.可以实现线与功能,即两个或多个输出端可并联在一起,然后接一上拉电阻至高电平。这样,只要有一个输出是低,
那么结果就是低,即实现了与的功能。


        2.跟上面的有点类似,那就是多个门输出端接在一起时,不会导致损坏。


        3.可以用来控制较高的电平。典型应用可以看看ULN2003。


        4.跟3类似,当输出断开时,为高阻态,这样就可以做输入口使用了。典型应用请看8951单片机的IO口结构,置1时即为输入口 。

文章评论1条评论)

登录后参与讨论

用户224408 2009-5-25 15:09

看不到图片。不过很有用。谢谢。学习了。
相关推荐阅读
用户152221 2008-06-14 13:10
三极管工作原理的超牛解析
对三极管放大作用的理解,切记一点:能量不会无缘无故的产生,所以,三极管一定不会产生能量。但三极管厉害的地方在于:它可以通过小电流控制大电流放大的原理就在于:通过小的交流输入,控制大的静态直流。假设三极...
用户152221 2008-06-14 12:56
自己给自己扫盲
好多次看到过OEM,一直不记得是什么意思,今天在百度上查了一下,就当给自己扫盲了,呵呵一、什么是OEMOEM(Original Equipment Manufacture)的基本含义是定牌生产合作,俗...
用户152221 2008-06-14 12:26
什么是CPCI
一、CPCI简介    Compact PCI(Compact Peripheral Component Interconnect)简称CPCI,中文又称紧凑型PCI,是国际工业计算机制造者联合会(P...
用户152221 2008-06-02 00:29
DSP Link口
近期要用FPGA模拟DSP Link口传输数据,不知道有没有以前做过这方面开发的朋友,看看你们有没有一些比较好的资料,谢谢...
用户152221 2008-05-25 22:29
前一阶段布线经验小结
1)  电源分割,主电源尽量分割成块状区域,且越大越好,因为由此可造成噪声越小;2)  在未布线的信号层也可以进行电源分割,但必须将该层设置为Split-Mixed层类型;3)  滤波电容不要靠得太近...
用户152221 2008-05-20 00:44
如何迅速成为高手——一位博导的超精辟总结
1、有强烈的兴趣和好奇心。这是成为高手的必要条件,喜欢新生事物,对问题喜欢刨根问底,以钻研为乐趣。那种得过且过,敷衍了事,仅仅把工作当作饭碗的人连熟手都成不了,更何况高手。有好奇心的人,可以为解决一个...
我要评论
1
7
关闭 站长推荐上一条 /2 下一条