0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

拉起您的引脚:如何确定上拉电阻的大小

成尔秩 来源:wanyou2345 作者:wanyou2345 2023-01-04 11:17 次阅读

许多人在开始学习实用的动手电子产品时学到的第一课就是需要上拉电阻。是防止微控制器上的浮动 I/O 引脚还是通过漏极开路设计连接两个电路;上拉电阻器是一个经常需要但很少被重视的组件。那么为什么我们要使用上拉电阻,我们不能只将一根电线连接到我们设备的 V cc电源吗?您应该使用多大尺寸的电阻器?

那么,为什么我们一开始还需要麻烦上拉电阻呢?假设我们有一个瞬时常开按钮,我们不希望 I/O 引脚悬空。为什么不直接将电线连接到I/O 引脚和按钮引线之间的 V cc ?这将有助于防止微控制器的 I/O 引脚在未按下按钮时浮动——它需要一个 V cc或一个稳定的高电平。然而,一旦按下按钮,V cc和地之间就会发生短路(图 1). 这会产生大量热量,如果设备是电池供电的,它会很快耗尽电池电量。除了阻碍与浮动微控制器 I/O 引脚相关的问题外,在使用漏极开路拓扑时,上拉电阻器也是必不可少的。我们在此Bench Talk 帖子中详细讨论了开放式排水管。

poYBAGOzf82AERuYAAEFdnoEGYM465.jpg

图 1:仅连接一根电线会导致短路(左)。上拉电阻器可防止浮动输入,同时防止不必要的短路(右)。(来源:作者)

那么我们如何选择合适尺寸的电阻器呢?与大多数好的工程问题一样,答案取决于您的应用。让我们从考虑极端选项 0Ω 开始,比如说 1mΩ。我们已经讨论过 0Ω 选项(小值电阻器被称为强上拉,因为它们允许大量电流流动)。电阻值太小,我们会得到太多的电流,这可能不安全,或者至少是能源效率低下。如果我们使用一个巨大的 1mΩ 电阻器会怎样?那不安全吗?大电阻值被称为弱上拉,因为它们可以防止过多的电流流动。答案是肯定的,但这是有代价的。在这种情况下,这是速度和功率之间的权衡。

将微控制器的 I/O 引脚想象成一个电容器。回想一下,电容器两端的电压不能瞬间改变。相反,它根据所谓的时间常数 (T) 充电,数学上表示为 T=RC,其中 R 是电阻器的值,​​C 是电容器的值。当我们添加一个非常大的电阻器时,我们会通过限制电流来增加电容器充电所需的时间。实际上,这意味着微控制器不会立即检测到按下的按钮,因为微控制器需要一些时间才能看到电压从它认为的 LOW/OFF 状态变为 HIGH/ON 状态。从用户的角度来看,这可能会导致不可接受的电路性能。该系统似乎没有及时响应。2 C 串行通信协议,大的定时常数会对 I 2 C 总线在其串行数据线 (SDA) 和串行时钟线 (SCL) 线上实现所需的波特率产生负面影响。

从数学上讲,这就是计算电阻值的方式:

R p(min)是可接受的最小电阻值,由下式给出:

R p(min) = (V cc - V OL(max) ) / I OL 由此:

V cc是电源电压。

V OL(max)是被微控制器的 I 2 C 引脚记录为低电平的最大电压。

I OL是 V OL的电流消耗

R p(max)是可接受的最大电阻值,由下式给出:

R p(max) = t r / (0.8473 x C b ) 其中:

t r 是 SDA 和 SCL 线路对于所需波特率可接受的上升时间。检查设计中使用的设备的数据表。

C b 是将被驱动的预期容性负载。附带说明一下,可以共享 I 2 C 总线的设备数量受印刷电路板 (PCB) 和设备输入电容之和的限制。根据标准和快速工作模式的 I 2 C 规范,此限制为 400pF。之后需要一个I 2 C缓冲芯片。这通常发生在 7 位可寻址 I 2 C 实现的 112 个设备的理论寻址限制之前。

现在根据实际经验,以下是您应该考虑在电路中测试的电阻值,以查看是否获得所需的性能:

一般用途为 1kΩ 至 10kΩ。

10kΩ 至 100kΩ,如果您有低功耗用例,例如电池供电的设备。

最后要考虑的是,许多微控制器都有可以通过代码打开的内部上拉电阻。请务必查看数据表,了解内部电阻值的大小是否适合您的应用。如果没有,您将不得不使用外部上拉电阻。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6809

    浏览量

    147636
  • 上拉电阻
    +关注

    关注

    5

    文章

    345

    浏览量

    30258
  • 引脚
    +关注

    关注

    16

    文章

    1044

    浏览量

    48958
收藏 人收藏

    评论

    相关推荐

    STM32cubemx在开漏和推挽输出模式下电阻和下拉电阻有什么作用和区别?

    只配置过输入的时候和下拉电阻。不知道在开漏和推挽输出模式下电阻和下拉
    发表于 03-27 07:20

    IO内置电阻的阻值是多少?所有IO都有内置电阻么,阻值是否一样?

    IO内置电阻的阻值是多少?所有IO都有内置电阻么,阻值是否一样?
    发表于 02-21 06:17

    ADXL313加速度传感器用I²C通信协议与外部连接时,电阻的阻值如何确定呢?

    ADXL313加速度传感器用I²C通信协议与外部连接时,电阻的阻值如何确定呢?看数据手册里要参考《UM10204 I²C总线规范和用户手册》,修订版2007年6月03-19日。但是
    发表于 12-27 08:16

    电阻到底是咋完成的啊?

    电阻到底是咋完成的啊
    发表于 10-31 06:52

    电阻主要与什么有关?是否高波特率必须强

    一般IIC和SPI接口建议加上电阻 但有时(比如SPI)不,或使用内部也能正常运行。
    发表于 10-28 06:23

    请问矩阵按键的电阻可以省略吗?

    矩阵按键的电阻可以省略吗? 我单片机有内部的,这个可以省略掉吗?主要是板子空间正好放不下了。
    发表于 09-27 07:03

    单片机上电阻的作用是什么

    的电流大小,从而达到限制电流流动的目的。 提供电压:电阻能够为电路提供
    发表于 09-05 16:45

    用STM32的都有内部,用新唐的没发现有内部电阻可配置?

    用STM32的都有内部,用新唐的没发现有内部电阻可配置。
    发表于 06-26 07:08

    如何使用带继电器和NodeMCU的下拉电阻

    。我想避免它,在设备启动时我希望中继是休息的。 我想我需要使用下拉电阻来避免启动时引脚处于低电平状态。我不明白在哪里插入抗蚀剂。 你能告诉我这个方案吗? 现有的引脚上有一个
    发表于 06-02 06:22

    在NodeMCU的D0引脚连接了一个10k的电阻,删除后就停止工作了的原因?

    我在 NodeMCU 的 D0 引脚连接了一个 10k 的电阻。 然后我删除了它。 但从那以后它就停止工作了,只有 LED 亮起并保持点亮。 是不是直接在D0接个
    发表于 05-30 06:42

    如何停用RX引脚上的电阻

    你好。我想将一个 ESP32 的 TX 引脚连接到三个 ESP8266 的 RX 引脚。它适用于两个 rx 引脚,但不适用于三个,因为并联 rx 引脚的内部
    发表于 05-25 07:56

    GPIO上有电阻吗?

    GPIO上有电阻吗? 如果不是,那么当释放按钮时,GPIO 基本只是浮动的,可以是任何值。 要么从 GPIO
    发表于 05-22 06:54

    今日说“法”:、下拉电阻那点事

    在电路设计中,相信大家总见到上电阻和下拉电阻这两个名字,但是不知道各位对他们有没有详细的了解,咱们今天就来聊聊上、下拉电阻那点事。首
    发表于 05-18 17:30

    电路是怎么的?它是怎样将不确定的信号箝位在高电平的?

    的作用是将不确定的信号通过一个电阻嵌位在高电平!虽然在电路设计里经常用,但原理上我还有点不明白,假设图1,输出端OUT输出一个2V的电平,假设这个信号在高低电平之间是个不
    发表于 05-15 10:59

    ESP-M2的10k EN引脚问题如何解决?

    。当我用 0ohm 电阻替换它时,它可以工作。 我的印象是 10k 对于 EN 引脚来说已经足够了,数据表也只是提到将其拉高。例如,NodeMCU 在原理图中使用 12k
    发表于 05-15 08:28