前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >硬件-上下拉电阻和GPIO方面介绍

硬件-上下拉电阻和GPIO方面介绍

作者头像
Abalone
发布2022-09-08 12:06:17
1.9K0
发布2022-09-08 12:06:17
举报
文章被收录于专栏:影像技术栈影像技术栈

上拉电阻定义

  电源到元件间的叫上拉电阻,作用是平时使该脚为高电平地到元件间的叫下拉电阻,作用是平时使该脚为低电平;

  上拉是对器件注入电流,下拉是输出电流;弱强只是上拉电阻的阻值不同,没有什么严格区分;对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。

上拉电阻作用

提高电压准位:a.当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V), 这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。b.OC门电路必须加上拉电阻,以提高输出的搞电平值。

加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。

N/A pin防静电、防干扰:在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗, 提供泄荷通路。同时管脚悬空就比较容易接受外界的电磁干扰。

电阻匹配,抑制反射波干扰:长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。

预设空间状态/缺省电位:在一些 CMOS 输入端接上或下拉电阻是为了预设缺省电位. 当你不用这些引脚的时候, 这些输入端下拉接 0 或上拉接 1。在I2C总线等总线上,空闲时的状态是由上下拉电阻获得;

提高芯片输入信号的噪声容限:输入端如果是高阻状态,或者高阻抗输入端处于悬空状态,此时需要加上拉或下拉,以免收到随机电平而影响电路工作。同样如果输出 端处于被动状态,需要加上拉或下拉,如输出端仅仅是一个三极管的集电极。从而提高芯片输入信号的噪声容限增强抗干扰能力。

拉电阻阻值的选择原则

从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。 从确保足够的驱动电流考虑应当足够小;电阻小,电流大。 对于高速电路,过大的上拉电阻可能边沿变平缓。

上下拉电阻与GPIO

  gpio type 中断,如果是高电平触发,我觉得要使用下拉电阻,将电平钳制在低电平。 如果是低电平触发,我觉得要使用上拉电阻,将电平钳制在高电平;

  上拉电阻(或者下拉电阻)不能太大,也不能太小,应该被设计成一个适当的值,让电路可以正常的工作。上拉(或者下拉)可能是chip内,也可能是chip外的;

  如果gpio中断内部使用了下拉电阻,如果外部在使用下拉电阻,会使pin脚的输入电阻变低,有可能高电平信号拉不起来。

GPIO方面知识

GPIO常常可以设置为输出和输入;在配置GPIO管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull);

这里先熟悉下什么是mos管:MOS管,即绝缘性场效应管。MOS英文全称为Metal-Oxide-Semiconductor即金属-氧化物-半导体,常用做开关元件;G:gate 栅极,S:source 源极;D:drain 漏极;

工作原理:NMOS的特性,Vgs(栅极电压)大于一定的值就会导通,适合用于源极接地时的情况(低端驱动),只要栅极电压达到一定电压(如4V或10V, 其他电压,看手册)就可以了。

P1
P1

PMOS的特性,Vgs(栅极电压)小于一定的值就会导通,适合用于源极接VCC时的情况(高端驱动)。但是,虽然PMOS可以很方便地用作高端驱动,但由于导通电阻大,价格贵,替换种类少等原因,在高端驱动中,通常还是使用NMOS。

P2
P2

Push-Pull推挽输出

输出的器件是指输出脚内部集成有一对互补的MOSFET,当Q1导通、Q2截止时输出高电平;而当Q1截止导通、Q2导通时输出低电平。Push-Pull输出,实际上内部是用了两个晶体管(transistor),此处分别称为Top-Transistor和Bottom-Transistor。通过开关对应的晶体管,输出对应的电平。Top-Transistor打开(Bottom-Transistor关闭),输出为高电平;Bottom-Transistor打开(Top-Transistor关闭),输出低电平。除非Push-pull需要支持额外的高阻抗状态,否则不需要额外的上拉电阻。

P3
P3

特点:

Push-pull即能够漏电流(sink current),又可以集电流(source current);

push-pull的高低电平由IC的电源决定,不能简单的做逻辑操作;

Open-Drain开漏输出

开漏电路就是指以MOSFET的漏极为输出的电路。指内部输出和地之间有个N沟道的MOSFET(Q1),这些器件可以用于电平转换的应用。输出电压由Vcc决定。Vcc可以大于输入高电平电压VCC1(call UP-Translate)也可以低于输入高电平电压VCC(call Down-Translate);

P4
P4

特点:

Open-drain只能够漏电流(sink current),如果想要集电流(source current),则需要加一个上拉电阻。

可以将多个开漏输出的Pin脚,连接到一条线上,形成“与逻辑”关系,即“线与”功能,任意一个变低后,开漏线上的逻辑就为0了。这也是I2C,SMBus等总线判断总线占用状态的原理;

P5
P5

利用 外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很小的栅极驱动电流。

可以利用改变上拉电源的电压,改变传输电平,如图, IC的逻辑电平由电源Vcc1决定,而输出高电平则由Vcc2决定。这样我们就可以用低电平逻辑控制输出高电平逻辑了;

标准的开漏脚一般只有输出的能力。添加其它的判断电路,才能具备双向输入、输出的能力。

缺点:开漏Pin不连接外部的上拉电阻,则只能输出低电平;

总结

常见的GPIO的模式可以配置为open-drain或push-pull,具体实现上,常为通过配置对应的寄存器的某些位来配置为open-drain或是push-pull。当我们通过CPU去设置那些GPIO的配置寄存器的某位的时候,其GPIO硬件IC内部的实现是,会去打开或关闭对应的top transistor。相应地,如果设置为了Open-D模式的话,是需要上拉电阻才能实现,也能够输出高电平的。因此,如果硬件内部(internal)本身包含了对应的上拉电阻的话,此时会去关闭或打开对应的上拉电阻。如果GPIO硬件IC内部没有对应的上拉电阻的话,那么你的硬件电路中,必须自己提供对应的外部(external)的上拉电阻。而push-pull输出的优势是速度快,因为线路是以两种方式驱动的。而带了上拉电阻的线路,即使以最快的速度去提升电压,最快也要一个常量的R×C的时间。其中R是电阻,C是寄生电容(parasitic capacitance),包括了pin脚的电容和板子的电容。但是,push-pull相对的缺点是往往需要消耗更多的电流,即功耗相对大。而open-drain所消耗的电流相对较小,由电阻R所限制,而R不能太小,因为当输出为低电平的时候,需要sink更低的transistor,这意味着更高的功耗。而open-drain的好处之一是,允许你short多个open-drain的电路,共用一个上拉电阻,此种做法称为wired-OR连接,此时可以通过拉低任何一个IO的pin脚使得输出为低电平。为了输出高电平,则所有的都输出高电平。此种逻辑,就是“线与”的功能,可以不需要额外的门电路来实现此部分逻辑。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 上拉电阻定义
  • 上拉电阻作用
  • 拉电阻阻值的选择原则
  • 上下拉电阻与GPIO
  • GPIO方面知识
    • Push-Pull推挽输出
      • Open-Drain开漏输出
        • 总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档