欢迎来到天天文库
浏览记录
ID:28366475
大小:66.00 KB
页数:5页
时间:2018-12-09
《单片机io口理解.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、【转】单片机IO口设置推挽和开漏的区别(转自网易博客冷水泡茶的日志)2010-09-2813:43单片机IO口设置推挽和开漏的区别一般情况下我们在电路设计编程过程中设置单片机,大多是按照固有的模式去做的,做了几年这一行了,也没碰到过什么问题。昨天就遇到了这样一个问题,电路结构如图一,在这种情况下STC单片机与410单片机通讯是没问题的但是与PC就无法通讯了,STC收不到PC的命令,以前410的位置是用的STC的片子一直没问题,我想也许是驱动能力不够,在410TX端加了上拉,不过没起作用。用示波器监视串口得到面的波形这说明sp3232
2、下拉得不够,于是加了下拉,还是没起作用。又把410端口内部的上拉去掉,结果还是一样。最后请教老师,在410程序里将TX的工作方式由推挽式改为开漏式,一切ok~!从网上查了推挽和开漏的区别,放在这里免得以后再到处找了,给自己保存了我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极C跟发射极E之间相当于断开),所以5V电源通过1K电阻加到右边的三极管
3、上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。我们将图1简化成图2的样子。图2中的开关受软件控制,“1”时断开,“0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。再看图三。图三中那个1K的电阻即是上拉电阻。如果开关闭合,则有电流从1K电阻及开关上流过,但
4、由于开关闭其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于P0口来说,就是高阻态了。对于漏极开路(OD)输出,跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了漏极,OC就变成了OD,原理分析是一样的。另一种输出结构是推挽输出。推挽输出的结构就是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;而要输出低电平时,则刚好相反。比起OC或者OD来说,这样的推挽结构高、低电平驱动能力都很强。如果两个输出不同电平的输出口接在一
5、起的话,就会产生很大的电流,有可能将输出口烧坏。而上面说的OC或OD输出则不会有这样的情况,因为上拉电阻提供的电流比较小。如果是推挽输出的要设置为高阻态时,则两个开关必须同时断开(或者在输出口上使用一个传输门),这样可作为输入状态,AVR单片机的一些IO口就是这种结构。【转】单片机学习之推挽输出与漏极开路输出方式2011-10-077:00转载自哇乐乐哇最终编辑哇乐乐哇 push-pull输出就是一般所说的推挽输出,在cmos电路里面应该较cmos输出更合适,因为在cmos里面的push-pull输出能力不可能做得双极那么大。输出能
6、力看ic内部输出极n管p管的面积。和开漏输出相比,push-pull的高低电平由ic的电源低定,不能简单的做逻辑操作等。push-pull是现在cmos电路里面用得最多的输出级设计方式。 一.什么是oc、od集电极开路门(集电极开路oc或源极开路od)open-drain是漏极开路输出的意思,相当于集电极开路(open-collector)输出,即ttl中的集电极开路(oc)输出。一般用于线或、线与,也有的用于电流驱动。open-drain是对mos管而言,open-collector是对双极型管而言,在用法上没啥区别。开漏形式的
7、电路有以下几个特点:1.利用外部电路的驱动能力,减少ic内部的驱动。或驱动比芯片电源电压高的负载.2.可以将多个开漏输出的pin,连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。这也是i2c,smbus等总线判断总线占用状态的原理。如果作为图腾输出必须接上拉电阻。接容性负载时,下降延是芯片内的晶体管,是有源驱动,速度较快;上升延是无源的外接电阻,速度慢。如果要求速度高电阻选择要小,功耗会大。所以负载电阻的选择要兼顾功耗和速度。3.可以利用改变上拉电源的电压,改变传输电平。例如加上上拉电阻就可以提供tt
8、l/cmos电平输出等。4.开漏pin不连接外部的上拉电阻,则只能输出低电平。一般来说,开漏是用来连接不同电平的器件,匹配电平用的。5.正常的cmos输出级是上、下两个管子,把上面的管子去掉就是open-drain了。这种输出的主要目
此文档下载收益归作者所有