良许Linux教程网 干货合集 单片机 IO 结构示意图?

单片机 IO 结构示意图?

单片机 IO 口的三种状态,分别是开漏、推挽、高阻态,我们通过下图来分析下另外这三种状态。

image-20240312201703318
image-20240312201703318

在上方的示意图中,T1代表一个PNP三极管,T2代表一个NPN三极管。最左边展示的是一种称为准双向输出的IO口结构。与准双向输出不同的是,开漏输出去掉了内部的上拉电阻。当开漏输出需要输出高电平时,T2关闭,IO口的电平需要通过外部的上拉电阻来拉高成为高电平。如果没有外部上拉电阻,IO口的电平将处于不确定状态。标准的51单片机的P0口通常默认为开漏输出,如果需要使用,外部需要添加上拉电阻。而强推挽输出具有较强的驱动能力。如上图第三张小图所示,当内部输出高电平时,通过MOS管直接输出电流,没有电阻进行限流,因此具备较大的电流输出能力。当内部输出低电平时,反向电流也可以很大,强推挽输出的一个特点就是驱动能力强。

单片机的IO口还有一种状态称为高阻态。通常我们在将IO口用作输入引脚时,可以将其设置为高阻态。高阻态引脚本身如果不连接外部输入信号时,使用万用表进行测量时可能是高电平也可能是低电平,它的状态完全取决于外部输入信号的电平。高阻态引脚对地的等效电阻很大(理论上接近于无穷大,但实际总是有一个有限值),因此被称为高阻态。

组成开漏形式的电路有以下几个特点:

  • 利用 外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很小的栅极驱动电流;
  • 可以将多个开漏输出的Pin,连接到一条线上。形成 “与逻辑” 关系。当PIN_A、PIN_B、PIN_C任意一个变低后,开漏线上的逻辑就为0了。这也是I2C,SMBus等总线判断总线占用状态的原理;
  • 可以利用改变上拉电源的电压,改变传输电平。IC的逻辑电平由电源Vcc1决定,而输出高电平则由Vcc2决定。这样我们就可以用低电平逻辑控制输出高电平逻辑了;
  • 开漏Pin不连接外部的上拉电阻,则只能输出低电平(因此对于经典的51单片机的P0口而言,要想做输入输出功能必须加外部上拉电阻,否则无法输出高电平逻辑);
  • 标准的开漏脚一般只有输出的能力。添加其它的判断电路,才能具备双向输入、输出的能力。

应用中需注意:

  • 开漏和开集的原理类似,在许多应用中我们利用开集电路代替开漏电路。例如,某输入Pin要求由开漏电路驱动。则我们常见的驱动方式是利用一个三极管组成开集电路来驱动它,即方便又节省成本;

  • 上拉电阻R pull-up的 阻值 决定了 逻辑电平转换的沿的速度 。阻值越大,速度越低功耗越小。反之亦然。

    推挽输出视频讲解

    (常规电路,不需要翻译,应该也很好懂得吧,可自行网上查阅)

高阻态的实质:

电路分析时高阻态可做开路理解。你可以把它看作输出(输入)电阻非常大。他的极限可以认为悬空。也就是说理论上高阻态不是悬空,它是对地或对电源电阻极大的状态。而实际应用上与引脚的悬空几乎是一样的。

高阻态的意义:

当门电路的输出上拉管导通而下拉管截止时,输出为高电平;反之就是低电平;如上拉管和下拉管都截止时,输出端就相当于浮空(没有电流流动),其电平随外部电平高低而定,即该门电路放弃对输出端电路的控制 。

典型应用:

  • 在总线连接的结构上。总线上挂有多个设备,设备与总线以高阻的形式连接。这样在设备不占用总线时自动释放总线,以方便其他设备获得总线的使用权;

  • 大部分单片机I/O使用时都可以设置为高阻输入,如凌阳,AVR等等。高阻输入可以认为输入电阻是无穷大的,认为I/O对前级影响极小,而且不产生电流(不衰减),而且在一定程度上也增加了芯片的抗电压冲击能力。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部