文章目录

  • 一、相关概念介绍
    • IO引脚的三态输出之高阻态---将逻辑门与系统其他部分隔离,电平外部控制
    • IO引脚输出模型 推挽电路 与 开漏电路---单独开漏无高电平驱动能力
  • 二、上下拉电阻原理介绍
    • 什么是上下拉电阻?---把IO口用电阻拉到正压VCC(上拉) 或 接地GND(下拉)
    • 使用场景一:将不确定信号钳位高电平(上拉) 或 低电平(下拉)
    • 使用场景二:开漏输出加上拉电阻实现 线与逻辑,如I2C总线用法
    • 使用场景三:开漏输出加上拉电阻 提高电压准位
    • 使用场景四:加大引脚驱动能力,上拉加强拉电流能力,下拉加强吸电流能力
  • 三、GPIO典型框图分析
    • 1、I/O 端口作为输入---读取01状态、上下电阻拉可配
    • 2、I/O 端口作为输出---可选开漏/推挽、上下电阻拉可配、可读取输入
    • 3、I/O 端口作为复用功能---可配置输入输出、上下拉电阻可配、可读取输入
    • 4、I/O 端口作为模拟配置---输入输出不可配、上下拉不可配
  • 参考

在嵌入式领域 上下拉电阻应用非常广泛。近期项目有用到,这里总结一下相关使用。

一、相关概念介绍

IO引脚的三态输出之高阻态—将逻辑门与系统其他部分隔离,电平外部控制

三态门/三态输出电路 三种状态为:高电平,低电平,高阻态;
计算机中的记忆元件由触发器组成,而触发器只有01两个状态。如果要在一条信号线上连接多个触发器,而每个触发器可以根据需要与信号线连通或断开,当连通时可以传送0或1,断开时对信号线上的信息不产生影响,此状态为高阻态
高阻态从端口看进去,对GND或者VCC的电阻都很大,什么也不输出了,引脚上的电平可由其它电路来控制,外面任何弱驱动都能改变该点的电位。
使用场景举例:当一个总线上 一个主设备和一个从设备通信的时候,其他设备都处于高阻态,不影响正在通信设备。

三态原理举例:已下图三态输出缓冲器:IN为输入,OUT为输出,E是使能。当E=H,IN=H,下面Nmos关闭,上面Pmos导通,Out=H。当输入E=H,IN=L,下面Nmos打开,上面Pmos关闭,Out=L。当E=L,两个mos都关闭,输出为高阻Out=Z。

IO引脚输出模型 推挽电路 与 开漏电路—单独开漏无高电平驱动能力

首先讲IO输出的电流描述,输入端有电流流进称为吸电流(被动);输出端有电流流出称为拉电流(主动);输出端有电流流入称为灌电流(被动)。灌电流能力与拉电流能力也称为芯片引脚的驱动能力,对于任何给定的芯片,引脚的驱动能力都是有限的。下面介绍两种输出模型:
1)推挽输出(Push-Pull Output):由两个MOS或者三极管受到互补控制信号的控制,两个管子始终处在一个导通另一个截止的状态。推挽输出既可以输出低电平(只下方Mos导通),也可以输出高电平(只上方Mos导通)。推挽输出可以吸电流也可以灌电流,相对于开漏输出电平取决于IC电源是固定的,一条总线上输出期间只能有一个推挽。

2)开漏输出(open drain):开漏OD门是针对MOS管来说,针对三极管来说叫开集OC门。单独的开漏输出只能输出低电平(导通Mos),不导通时为高阻态。高电平需要上拉电阻才能输出,通过控制连接VCC大小设置电平,因此在需要进行指定高电平时适合使用开漏输出(推挽固定IC电源)。开漏还能实现”线与“逻辑(I2C等接口总线应用中),利用外电路提高驱动能力,利用上拉电阻提供高电平,没有上拉电阻只能输出低电平。

二、上下拉电阻原理介绍

什么是上下拉电阻?—把IO口用电阻拉到正压VCC(上拉) 或 接地GND(下拉)

上拉/下拉电阻设计时一般不能影响正常的信号电平,常见上拉/下拉电阻阻值是1k、4k7或10k。典型上拉电阻如10K左右,太大了抗干扰能力弱,太小了,会导致电流过大。

使用场景一:将不确定信号钳位高电平(上拉) 或 低电平(下拉)

单片机刚上电的时候电平是不定的,初始状态基本默认都为输入,切换到输出引脚有一个过程。输入端如果是高阻状态,或高阻抗输入端处于悬空状态,此时需要加上拉或下拉电阻,以免受到随机电平的影响(作为输入读取到的状态一直在变化)进而影响电路工作。同时悬空就比较容易接收外界的电磁干扰,为了防止静电造成损坏,不用的引脚不能悬空,一般接上拉电阻降低输入阻抗,提供泄荷通路。

使用场景二:开漏输出加上拉电阻实现 线与逻辑,如I2C总线用法

I2C总线协议在两条通信线上使用了上拉电阻。当设备处于非激活状态,它们“释放”掉通信线并使它们的输出端呈现高阻态,这样使它们的高低电平不影响其他电路。当总线上所有的设备都“释放”掉通信线时,对输出目标电路的唯一影响就是上拉电阻将输出端的电平拉高。当一个设备需要通信时,这个输出端脱离高阻态,并使得通信线的输出端电平降低。

使用场景三:开漏输出加上拉电阻 提高电压准位

当TTL电路驱动CMOS电路时,如果TTL电路输出的高电平低于CMOS电路的最低高电平,这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值;

使用场景四:加大引脚驱动能力,上拉加强拉电流能力,下拉加强吸电流能力

单片机输出高电平驱动力有限,由于后续电路的影响是达不到VCC,可通过上拉电阻可以提高拉电流驱动能力。下拉电阻情况类似,让单片机引脚输出低电平,结果由于后续电路影响输出的低电平达不到GND,所以接个下拉电阻。

三、GPIO典型框图分析

下面我们总结一下典型的芯片GPIO模型 及其各部分功能:

1、I/O 端口作为输入—读取01状态、上下电阻拉可配

输出缓冲器被关闭、施密特触发器输入被打开、根据xx寄存器中的值决定是否打开上拉和下拉电阻
输入数据寄存器每隔 1 个 AHB1 时钟周期对 I/O 引脚上的数据进行一次采样、对输入数据寄存器的读访问可获取 I/O 状态

2、I/O 端口作为输出—可选开漏/推挽、上下电阻拉可配、可读取输入

输出缓冲器被打开、对输出数据寄存器的读访问可获取最后的写入值:
— 开漏模式:输出寄存器中的“0”可激活 N-MOS,而输出寄存器中的“1”会使端口保持高组态 (Hi-Z)(P-MOS 始终不激活)。
— 推挽模式:输出寄存器中的“0”可激活 N-MOS,而输出寄存器中的“1”可激活P-MOS。
施密特触发器输入被打开、根据xx寄存器中的值决定是否打开弱上拉电阻和下拉电阻
输入数据寄存器每隔 1 个 AHB1 时钟周期对 I/O 引脚上的数据进行一次采样、对输入数据寄存器的读访问可获取 I/O 状态

3、I/O 端口作为复用功能—可配置输入输出、上下拉电阻可配、可读取输入

可将输出缓冲器配置为开漏或推挽、输出缓冲器由来自外设的信号驱动(发送器使能和数据)
施密特触发器输入被打开、根据xx寄存器中的值决定是否打开弱上拉电阻和下拉电阻
输入数据寄存器每隔 1 个 AHB1 时钟周期对 I/O 引脚上的数据进行一次采样、对输入数据寄存器的读访问可获取 I/O 状态

4、I/O 端口作为模拟配置—输入输出不可配、上下拉不可配

输出缓冲器被禁止、施密特触发器输入停用,I/O 引脚的每个模拟输入的功耗变为零。施密特触发器的输出被强制处理为恒定值 (0)。
弱上拉和下拉电阻被关闭、对输入数据寄存器的读访问值为“0”。

参考

什么是数字芯片的高阻态:https://www.bilibili.com/video/BV1UG41187YV/
上拉电阻的通俗解释,你真正知道吗?:https://www.bilibili.com/video/BV1W34y1579U/
下拉电阻的通俗解释,你真正知道吗?:https://www.bilibili.com/video/BV1ZU4y1Q7eo/

上拉电阻与下拉电阻总结 与 GPIO框图分析相关推荐

  1. 上拉电阻和下拉电阻_硬件基础:下拉电阻和上拉电阻如何工作

    上拉电阻和下拉电阻 by Taron Foxworth 通过塔伦·福克斯沃思(Taron Foxworth) 硬件基础:下拉电阻和上拉电阻如何工作 (Hardware fundamentals: ho ...

  2. 上拉电阻与下拉电阻的作用

    上拉电阻就是把不确定的信号通过一个电阻钳位在高电平,此电阻还起到限流的作用.同理,下拉电阻是把不确定的信号钳位在低电平.上拉电阻是指器件的输入电流,而下拉指的是输出电流. 那么在什么时候使用上.下拉电 ...

  3. “上拉电阻与下拉电阻”通俗解读

    原文链接:上拉电阻和下拉电阻的作用 下拉就是接地,上拉就相当于升压,提高驱动能力或者稳定性. 上拉电阻是用来解决总线驱动能力不足时提供电流的问题的.一般说法是上拉增大电流,下拉电阻是用来吸收电流(抵抗 ...

  4. 上拉电阻和下拉电阻的作用详解

    一.定义 1.上拉就是将不确定的信号通过一个电阻嵌位在高电平!"电阻同时起限流作用"!下拉同理! 2.上拉是对器件注入电流,下拉是输出电流 3.弱强只是上拉电阻的阻值不同,没有什么 ...

  5. 【电子电路】上拉电阻与下拉电阻有什么作用

    下拉就是接地,上拉就相当于升压,提高驱动能力或者稳定性. 上拉电阻是用来解决总线驱动能力不足时提供电流的问题的.一般说法是上拉增大电流,下拉电阻是用来吸收电流(抵抗干扰). 上拉是将电压拉高,下拉是将 ...

  6. 电路常识性概念(5)-上拉电阻、下拉电阻 / 拉电流、灌电流 / 扇出系数

    电路常识性概念(5)-上拉电阻.下拉电阻 / 拉电流.灌电流 / 扇出系数 (一)上拉电阻: 1.当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平 (一般为3.5 ...

  7. 吸电流、拉电流、灌电流、上拉电阻、下拉电阻、高阻态等基础知识普及

    吸电流.拉电流输出.灌电流输出 拉即泄,主动输出电流,从输出口输出电流: 灌即充,被动输入电流,从输出端口流入: 吸则是主动吸入电流,从输入端口流入. 吸电流和灌电流就是从芯片外电路通过引脚流入芯片内 ...

  8. 一文了解上拉电阻和下拉电阻(一)

    上拉(Pull Up )或下拉(Pull Down)电阻(两者统称为"拉电阻")最基本的作用是:将状态不确定的信号线通过一个电阻将其箝位至高电平(上拉)或低电平(下拉),无论它的具 ...

  9. 【剖析】上拉电阻和下拉电阻原理及其作用

    电阻在电路中起限制电流的作用.上拉电阻和下拉电阻是经常提到也是经常用到的电阻.在每个系统的设计中都用到了大量的上拉电阻和下拉电阻.在上拉电阻和下拉电阻的电路中,经常有的疑问是:上拉电阻为何能上拉?下拉 ...

  10. 硬件设计——上拉电阻与下拉电阻

    上拉电阻与下拉电阻 引言 何为上拉电阻与下拉电阻 上拉电阻 下拉电阻 引言 在电路设计中,我们经常会看到下面的一些电路图,那么在这些电路中,不接电阻与接入电阻,电路中又会发生哪些作用,电阻在其中又起了 ...

最新文章

  1. ME | 决定性过程促进了深层土壤微生物空间周转率的增加
  2. 不可错过!普渡大学最新《机器学习》课程
  3. CENTOS/RHEL 7 系统中设置SYSTEMD SERVICE的ULIMIT资源限制
  4. 对称加密——对入参进行DES加密处理
  5. 什么是反射,为什么有用?
  6. jquery event 封装的源源分析
  7. Mac系统安装Windows系统
  8. CCF201803-4 棋局评估(100分)【博弈+DFS】
  9. plc计算机辅助编程设计方法,国产plc怎么编程
  10. keil4.72 自带jlink驱动升级到V6.94b
  11. 我的第一个hbulider项目
  12. 女生更多!统计局:2019年高等教育在校生中女研究生占比过半
  13. day17.什么是堆栈
  14. 嵌入式工程师应该知道的C语言
  15. 虚拟机类加载机制(类加载过程)
  16. 从零开始学习大数据系列之Linux-02Vim与Shell script
  17. YYModel 简单解析
  18. 【0109】Linux系统监测工具sysstat介绍
  19. matlab m文件下载,M文件合集 matlab算法
  20. 《操作系统真象还原》第十章 ---- 线程打印尚未成功 仍需此章锁机制完善努力 在前往最终章的路上激流勇进

热门文章

  1. 一款可以颠覆做网站方式的软件
  2. html文标题党,教你成为微信公众号推文标题党
  3. 2020年团体程序设计天梯赛L1题目集(题目+代码)
  4. SpringBoot+阿里云短信服务实现发送短信验证码功能
  5. Android投屏到Windows电脑
  6. 谁引爆了手机里的电池?
  7. 图库highcharts联合jquery ajax 后端取数据前端图表渲染
  8. exchange服务器重装后,exchange未正常卸载后 重新安装操作方法.docx
  9. oracle视图能否编辑数据,oracle视图的几个重要内容
  10. jitpack.io 错误提示 handshake_failure 开发