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

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

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

要搞清楚这个问题,首先要先理解一下上拉电阻、下拉电阻的概念。假设有下面这么一个电路,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总线为什么不用推挽输出呢?欢迎留言区评论。


相关文章
|
6月前
|
运维 测试技术 Serverless
上一任留下的 Eureka,我该如何提升她的性能和稳定性(含数据比对)?
上一任留下的 Eureka,我该如何提升她的性能和稳定性(含数据比对)?
94748 125
|
2月前
|
人工智能 安全 测试技术
当奖励成为漏洞:从对齐本质出发自动越狱大语言模型
【9月更文挑战第26天】在人工智能领域,大型语言模型(LLMs)的广泛应用引发了对其安全性和可靠性的担忧,特别是在面对对抗攻击时的脆弱性。论文《Jailbreaking as a Reward Misspecification Problem》提出将这种脆弱性归因于对齐过程中的奖励误设,并引入ReGap指标来量化这一问题。基于此,研究人员开发了ReMiss系统,用于自动对抗各种目标对齐的LLMs,并在AdvBench基准测试中取得了领先成果。尽管方法存在局限性,但该论文为提升LLMs安全性提供了新方向。[论文链接:https://arxiv.org/pdf/2406.14393]
38 4
|
3月前
|
消息中间件 Java Kafka
Kafka不重复消费的终极秘籍!解锁幂等性、偏移量、去重神器,让你的数据流稳如老狗,告别数据混乱时代!
【8月更文挑战第24天】Apache Kafka作为一款领先的分布式流处理平台,凭借其卓越的高吞吐量与低延迟特性,在大数据处理领域中占据重要地位。然而,在利用Kafka进行数据处理时,如何有效避免重复消费成为众多开发者关注的焦点。本文深入探讨了Kafka中可能出现重复消费的原因,并提出了四种实用的解决方案:利用消息偏移量手动控制消费进度;启用幂等性生产者确保消息不被重复发送;在消费者端实施去重机制;以及借助Kafka的事务支持实现精确的一次性处理。通过这些方法,开发者可根据不同的应用场景灵活选择最适合的策略,从而保障数据处理的准确性和一致性。
257 9
|
3月前
|
消息中间件 存储 Kafka
【Kafka大揭秘】掌握这些秘籍,让你的消息状态跟踪稳如老狗,再也不怕数据丢失的尴尬时刻!
【8月更文挑战第24天】Kafka作为一个领先的分布式流数据平台,凭借其出色的性能和扩展性广受青睐。为了保障消息的可靠传输与处理,Kafka提供了一系列核心机制:生产者确认确保消息成功到达;消费者位移管理支持消息追踪与恢复;事务性消息保证数据一致性;Kafka Streams的状态存储则适用于复杂的流处理任务。本文将详细解析这些机制并附带示例代码,帮助开发者构建高效稳定的消息处理系统。
42 5
|
3月前
|
Kubernetes 网络协议 druid
一文详解长连接黑洞重现和分析
本文先通过重现在不同业务线反复出现的问题,详细描述了从业务、数据库、OS等不同的角度来分析如何解决它。
|
3月前
预训练模型STAR问题之缓解灾难性遗忘的问题如何解决
预训练模型STAR问题之缓解灾难性遗忘的问题如何解决
|
3月前
|
自然语言处理
预训练模型STAR问题之生成重放灾难性遗忘的问题如何解决
预训练模型STAR问题之生成重放灾难性遗忘的问题如何解决
|
6月前
|
消息中间件 Kafka 数据处理
了解Kafka位移自动提交的秘密:避免常见陷阱的方法
了解Kafka位移自动提交的秘密:避免常见陷阱的方法
340 1
|
机器学习/深度学习 传感器 安全
【主从博弈】基于主从博弈的主动配电网阻塞管理 论文复现
【主从博弈】基于主从博弈的主动配电网阻塞管理 论文复现
|
存储 Web App开发 缓存
一个简单的弱网差点搞死了组内前端
最近上线了一个 React Native 外访项目,用户为公司外访员,外访员根据公司业务去实地考察,收集记录一些资料,考察记录资料的过程全部用公司配的专用手机,里面安装了当前外访项目APP。目前项目试运行阶段,还没有正式交付。APP项目上线后,在用户真实使用中遇到一些各种各样的问题,有些问题处理时也比较棘手(如弱网情况),这次主要复盘APP在实际场景中的弱网(或网络不稳定)相关的问题。
902 0
一个简单的弱网差点搞死了组内前端