到底什么是弱上下拉和强上下拉?

简介: 到底什么是弱上下拉和强上下拉?

我们会经常听到弱上拉、弱下拉,还有与之相对应的强上拉、强下拉。强、弱到底是什么概念?阻值多大算是强和弱?

要搞清楚这个问题,首先要先理解一下上拉电阻、下拉电阻的概念。假设有下面这么一个电路,MCU需要检测开关的通断。

当开关闭合时,MCU IO检测到0,但是当时开关开启时,IO引脚处于floating状态,容易受干扰而处于未知状态。

这时可以在IO口上加一个电阻到Vdd,这样开关断开时就能保证电平是固定的高电平1,这个电阻就叫做上拉电阻


下拉电阻类似,它的作用是开关断开时,保证电平是固定的低电平0


那么这个阻值该用多大呢?

首先阻值不能太小,因为太小,开关闭合时会产生较大的电流,会引起一来功耗大,二来也不安全。试想一下电阻为0是什么后果。

另外阻值也不能太大,阻值太大,上拉/下拉的作用就变弱,越大越接近于开路,开关断开时IO就越接近于浮空状态,就越容易受干扰。试想一下阻值无穷大是什么效果。

所以这个电阻既不太大,也不太小,一般是几K到几十K大小,兼顾了功耗和上下拉作用。

这里就引入了强弱的概念,弱就是阻值大,强就是阻值小。


上拉

下拉

电阻大,电流小,上拉效果弱

电阻大,电流小,下拉效果弱

电阻小,电流大,上拉效果强

电阻小,电流大,下拉效果强

注意这只是个相对概念。

MCU一般内部也带上下拉电阻,可以配置是否开启,以STM32F103为例,从下图可以看出 内部有上下来on/off开关。

手册上写的是弱上拉/下拉,阻值大小典型值为40kΩ

补充说明,上面介绍的上下拉电阻是对MCU IO输入来说的,输出也可能会用到,比如对于开漏输出的IO,就必须加上上拉电阻,否则输出不了高电平。原因是开漏输出结构如下,漏极是开路的

它只有一个NMOS,当控制输出0时,NMOS导通,Output Pin输出0,但是当控制输出1时,NMOS截止,输出的是高阻态。要能输出1,必须外面接一个上拉电阻。

这种结构的好处可以用在电平不匹配的场合,可以灵活的输出1.8V/3.3V/5V等高电平,只要把Vdd接到不同的电压上即可。另外它还具有”线与”的特性,即多个开漏引脚连接在一起,只有当每个都输出1时它才能输出高电平,只要有一个输出0,所有的引脚电压都被拉低。常见的IIC总线就是用这种结构

这个上拉电阻的阻值选取也是有讲究的,也是既不能太小,也不能太大。因为太小的话,IO口上就会承受较大的输入电流,而IO的输入电流是有限制的。太大的话,会影响IIC的通信速度,因为总线上还有负载电容,电阻太大,电容充放电时间就会久,影响上升沿、下降沿时间。关于这个具体计算,可以参考TI的一篇文档:https://www.ti.com/lit/ml/slva689/slva689.pdf?ts=1679814584051

该文档详细描述了计算方法:


最后问大家一个问题,IIC总线为什么不用推挽输出呢?欢迎留言区评论。


相关文章
|
1天前
|
运维 测试技术 Serverless
上一任留下的 Eureka,我该如何提升她的性能和稳定性(含数据比对)?
上一任留下的 Eureka,我该如何提升她的性能和稳定性(含数据比对)?
94613 119
|
8月前
|
存储 算法 数据安全/隐私保护
流密码与线性反馈移位寄存器LFSR
本实验带您了解并实现线性反馈移位寄存器LFSR。
86 0
|
9月前
|
存储 算法 安全
终于有人用1.6W字把分布式算法的系统模型给彻底讲明白了!
系统模型-进程 在真实的分布式系统中,可能存在服务器(节点)、处理器、进程、线程等并发执行的实体。 在分布式算法中,这些实体都被抽象为进程。 注意,这里的进程与操作系统中的进程不完全是一个概念,后者侧重于描述一组资源的集合,例如文件句柄、地址空间、数据、代码等,还可以有多个线程,而前者是一个有状态的自动机。
789 3
|
10月前
|
存储 分布式计算 算法
技术详解 TPRE:分布式门限代理重加密
技术详解 TPRE:分布式门限代理重加密
1262 0
|
Cloud Native 架构师 持续交付
常见分支模式优劣对比|学习笔记
快速学习常见分支模式优劣对比
142 0
常见分支模式优劣对比|学习笔记
|
10月前
|
存储 缓存 NoSQL
内容型产品架构:推模型还是拉模型?
内容型产品架构:推模型还是拉模型?
92 0
|
12月前
|
存储 分布式计算 安全
「分布式架构」最终一致性:暗示的切换队列
「分布式架构」最终一致性:暗示的切换队列
|
SQL JSON 分布式计算
数据一致性比对(番外)
我写过很多如何去对数、如何批量对数的技术文档,最近项目遇到这个问题,我才发现在官方博客上还没有发布过这个课题的文章。这就像灯下黑,太长用到的知识点,反而没有意识到其重要性。
28274 0
|
消息中间件 缓存 数据库
4 张图,9 个维度告诉你怎么做能确保 RocketMQ 不丢失消息
4 张图,9 个维度告诉你怎么做能确保 RocketMQ 不丢失消息
383 0
4 张图,9 个维度告诉你怎么做能确保 RocketMQ 不丢失消息
|
Cloud Native 架构师 Devops
常见分支模式优劣对比 | 学习笔记
快速学习常见分支模式优劣对比
176 0
常见分支模式优劣对比 | 学习笔记