IO口结构详解.doc
《IO口结构详解.doc》由会员分享,可在线阅读,更多相关《IO口结构详解.doc(10页珍藏版)》请在咨信网上搜索。
1、1. 什么是源型、漏型?什么是上拉电阻?下拉电阻?什么是线驱动输出、集电极开路输出、推挽式输出?我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极c跟发射极e之间相当于断开),所以5v电源通过1k电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。我们将图1简化成图2的样子。图2中的开关受软件控制,“1”时断开,“
2、0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。 再看图三。图三中那个1k的电阻即是上拉电阻。如果开关闭合,则有电流从1k电阻及开关上流过,但由于开关闭和时电阻为0(方便我们的讨论,实际情况中开关电阻不为0,另外对于三极管还存在饱和压降),所以在开关上的电压为0,即输出电平为0。如果开关断开,则由于开关电阻为无穷大(同上,不考虑实际中的漏电流),所以流过的电流为0,因此在1k电阻上的压降也为0
3、,所以输出端的电压就是5v了,这样就能输出高电平了。但是这个输出的内阻是比较大的(即1k),如果接一个电阻为r的负载,通过分压计算,就可以算得最后的输出电压为5*r/(r+1000)伏,即5/(1+1000/r)伏。所以,如果要达到一定的电压的话,r就不能太小。如果r真的太小,而导致输出电压不够的话,那我们只有通过减小那个1k的上拉电阻来增加驱动能力。但是,上拉电阻又不能取得太小,因为当开关闭合时,将产生电流,由于开关能流过的电流是有限的,因此限制了上拉电阻的取值,另外还需要考虑到,当输出低电平时,负载可能还会给提供一部分电流从开关流过,因此要综合这些电流考虑来选择合适的上拉电阻。如果我们将一
4、个读数据用的输入端接在输出端,这样就是一个io口了(51的io口就是这样的结构,其中p0口内部不带上拉,而其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于p0口来说,就是高阻态了。 对于漏极开路(od)输出,跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了漏极,oc就变成了od,原理分析是一样的。另一种输出结构是推挽输出。推挽输出的结构就是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;而要输出低电平时,则刚好相反。比起oc或者od来说,这样的推挽结构高、低电平驱动能力都很强
5、。如果两个输出不同电平的输出口接在一起的话,就会产生很大的电流,有可能将输出口烧坏。而上面说的oc或od输出则不会有这样的情况,因为上拉电阻提供的电流比较小。如果是推挽输出的要设置为高阻态时,则两个开关必须同时断开(或者在输出口上使用一个传输门),这样可作为输入状态,avr单片机的一些io口就是这种结构。2.AVR单片机IO口的结构分析AVR的IO是真正双向IO结构,由于大部分网友都是从标准51转过来的,受标准51的准双向IO和布尔操作概念影响,没能掌握AVR的IO操作,所以有必要撰文说明一下,其实采用真正双向IO结构的新型MCU很多,常用的有增强型51,PIC,AVR等。先简单的回顾一下标准
6、51的准双向IO结构这种准双向IO结构的特点是:1、输出结构类似OC门,输出低电平时,内部NMOS导通,驱动能力较强(800uA);输出高电平靠内部上拉电阻,驱动能力弱(60uA)。2、永远有内部电阻上拉(P0口除外),高电平输出电流能力很弱,所以即使IO口长时间短路到地也不会损坏IO口(同理,IO口低电平输出能力较强,作低电平输出时不能长时间短路到VCC)3、作输入时,因为OC门有线与特性,必须把IO口设为高电平(所以按键多为共地接法)4、作输出时,输出低电平可以推动LED(也是很弱的),输出高电平通常需要外接缓冲电路(所以LED多为共阳接法)5、软件模拟OC结构的总线反而比较方便-例如II
7、C总线*P0口比较特殊,做外部总线时,是推挽输出,做普通IO时没有内部上拉电阻,所以P0口做按键输入需要外接上拉电阻。*OC门:三极管的叫集电极开路,场效应管的叫漏极开路,简称开漏输出。具备线与能力,有0得0。*为什么设计成输出时高电平弱,低电平强-是考虑了当年流行的TTL器件输入特性相信我们大多数人都接触过51单片机,51单片机的I/O口是准双向I/O口。其实这种说法是不严谨的,我们知道,51单片机有4个I/O口,分别是P0、P1、P2、P3,这4个I/O口的结构并不完全一致,其中P0口是标准的双向I/O口,而P1、P2、P3则是准双向I/O口。关于准双向I/O口和双向I/O口的区别请看另一
8、篇文章“准双向I/O口和标准双向I/O口的区别”AVR单片机的I/O口是标准的双向I/O口,它的IO结构就就比51的I/O口复杂多了,单是控制端口的寄存器就有3个PORTx(数据寄存器)、DDRx(数据方向寄存器)、PINx(端口输入引脚);另外还有一个SFIOR(特殊功能I/O寄存器),这个寄存器中的PUD位控制全部I/O口的上拉电阻是允许还是被禁止。下图是AVR单片机通用I/O口结构示意图:从图中可以看出,每组I/O口配备三个8位寄存器,它们分别是数据方向寄存器DDRx,数据寄存器PORTx,和输入引脚寄存器PINx(x表示端口序号)。I/O口的工作方式和表现特征由这3个I/O口寄存器控制
9、。数据方向寄存器DDRx用于控制I/O口的输入输出方向,即控制I/O口的工作方式为输出方式还是输入方式。当DDRx=1时,I/O口处于输出工作方式。此时数据寄存器PORTx中的数据通过一个推挽电路输出到外部引脚,如下图。AVR的输出采用推挽电路提高了I/O口的输出能力,当PORTx=1时,I/O引脚呈现高电平,同时可提供输出20mA的电流;而当PORTx=0时,I/O引脚呈现低电平,同时可吸纳20mA电流。因此,AVR的I/O在输出方式下提供了比较大的驱动能力,可以直接驱动LED等小功率外围器件。当DDRx=0时,I/O处于输入工作方式。此时引脚寄存器PINx中的数据就是外部引脚的实际电平,通
10、过读I/O指令可将物理引脚的真实数据读入MCU。此外,当I/O口定义为输入时(DDRx=0),通过PORTx的控制,可使用或不使用内部的上拉电阻,如下图:AVR单片机通用I/O端口的主要特点为:双向可独立位控的I/O口ATmega16的PA、PB、PC、PD四个端口都是8位双向I/O口,每一位引脚都可以单独的进行定义,相互不受影响。如用户可以在定义PA口第0、2、3、4、5、6位用于输入的同时定义第1、7位用于输出,互不影响。Push-Pull大电流驱动(最大40mA)可控制的引脚内部上拉电阻每一位引脚内部都有独立的,可通过编程设置的,设定为上拉有效或无效的内部上拉电阻。当I/O口被用于输入状
11、态,且内部上拉电阻被激活(有效)时,如果外部引脚被拉低,则构成电流源输出电流(uA量级)。DDRx可控的方向寄存器。AVR的I/O端口结构同其它类型单片机的明显区别是,AVR采用3个寄存器来控制I/O端口。一般单片机的I/O仅有数据寄存器和控制寄存器,而AVR还多了一个方向控制器,用于控制I/O的输入输出方向。由于输入寄存器PINx实际不是一个寄存器,而是一个可选通的三态缓冲器,外部引脚通过该三态缓冲器与MCU的内部总线连接,因此,读PINx时是读取外部引脚上的真实和实际逻辑值,实现了外部信号的同步输入。这种结构的I/O端口,具备了真正的读-修改-写(Read-Modify-Write)特性。
12、AVR单片机通用I/O口设计注意事项:数据寄存器PORTx和数据方向寄存器DDRx为读/写寄存器,而端口输入引脚PINx为只读寄存器。 但是需要特别注意的是,对PINx寄存器某一位写入逻辑1“将造成数据寄存器相应位的数据发生0“与“1“的交替变化。当寄存器MCUCR的上拉电阻禁止位PUD置位时所有端口引脚的上拉电阻都被禁止。在高阻态和输出高电平两种状态之间进行切换时,上拉电阻使能或输出低电平这两种模式必然会有一个发生。编写程序时要注意两者的顺序。 通常,上拉电阻使能是完全可以接受的,因为高阻状态下强高电平输出还是上拉输出都是可以接受的。 如果使用情况不是这样,可以通过置位SFIOR寄存器的PU
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IO 结构 详解
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。