即,电路中加上拉电阻或下拉电阻的目的是确定某个状态电路中的高电平或低电平。
1、上、下拉电阻的作用
简单来说,电源到器件引脚上的电阻叫上拉电阻,作用是平时使用该引脚为高电平;地到器件引脚的电阻叫下拉电阻,作用是平时使该引脚为低电平。
对于非集电极(或漏极)开路输出型电路(如普通门电路,其提升电流和电压的能力是有限的,上拉和下拉电阻主要功能是为集电极开路输出型电路提供输出电流通道。上拉是对器件注入电流,下拉是输出电流;强弱只是上拉或下拉电阻的阻值不同)。此外,作用还有:
图1 按键检测的简单电路图
2、基本原理
如果拉电阻用于输入信号引脚,通常的作用是将信号线强制箝位至某个电平,以防止信号线因悬空而出现不确定的状态,继而导致系统出现不期望的状态,如图2所示:
图2 上拉、下拉电阻构造
在实际应用中, ![[公式]](assets/28cc8219bbc6069fa865acd3098ca4ef.svg) 的电阻是使用数量最多的拉电阻。需要使用上拉电阻还是下拉电阻,主要取决于电路系统本身的需要,比如,对于高有效的使能控制信号(EN),如果希望电路系统在上电后应处于无效状态,则会使用下拉电阻;假设这个使能信号是用来控制电机的,如果悬空的话,此信号线可能在上电后(或者运行中)受到其他噪声干扰而误触发为高电平,从而导致电机出现不期望的转动,这肯定是所不希望的,此时可以增加一个下拉电阻。相应地,对于低有效的复位控制信号(RST#),希望上点后复位后处于无效状态,则应使用上拉电阻。
根据拉电阻的阻值大小,可分为强拉或弱拉(weak pull-up/down),芯片内部集成的拉电阻通常都是弱拉(电阻比较大),拉电阻越小则表示电平能力越强(强拉),可以抵抗外部噪声的能力也越强(也就是说,不期望出现的干扰噪声如果要更改强拉的信号电平,则需要的能量也必须相应加强),但是拉电阻越小则相应的功耗也越大,因为正常信号要改变信号线的状态也需要更多的能量,在能量消耗这一方面,拉电阻是绝不会有所偏颇的,如图3所示:
图3 上/下拉电阻
对于上拉电阻R1而言,控制信号每次拉低L都会产生VCC/R1的电流消耗(没有上拉电阻则电流为0),相应的,对于下拉电阻R2而言,控制信号每次拉高H也会产生VCC/R2R 电流消耗(本文假设高电平即为VCC)。
强拉与弱拉之间没有严格说多少欧姆是强弱的分界,一般我们使用的拉电阻都是弱拉,这样我们仍然可以使用外部控制信号将已经上/下拉的信号线根据需要进行电平的更改。
强拉电阻的极端就是零欧姆电阻,亦即将信号线直接与电源或地相连接。
拉电阻作为输出(或输入输出)时牵涉到的知识点会更多一些,但本质的功能也是将电平箝位,最常见的输出上拉电阻出现在开集(Open Collector,OC)或开漏(Open Drain,OD)结构的引脚。
我们有很多芯片的输出引脚是推挽输出结构(Output Push-Pull),如下图所示(还有一种反相输出的结构,本质也是一样的):
图4 两种TTL结构
注:推挽输出结构引脚的特点是:无论引脚输出高电平“H”还是低电平“L”,都有比较强的驱动能力(输入或输出电流能力)!
当推挽输出结构的控制信号为低电平“L”时,Q1截止Q2导通,电流I1由电源VCC经负载RL与三极管Q2流向公共地,我们称此电流为灌电流(Sink Current),也就是外部电流灌入芯片内部,如图5所示:
图5 灌电流
相应的,当推挽输出结构的控制信号为高电平“H”时,Q1导通Q2截止,电流I1由电源VCC经三极管Q1与负载RL流向公共地,我们称此电流为拉电流(Source Current),也就是芯片内部可以向外提供的电流(所以称之为“源电源”),从另一个角度讲,也就是外电路可以从芯片中拉走多少电流,如图6所示:
图6 拉电流
灌电流能力与拉电流能力也称为芯片引脚的驱动能力。
假定芯片的供电电压为3.3V(忽略晶体管饱和压降),则输出最大电流25mA时,负载RL的值约为132欧姆(3.3V/25mA),如果负载值小于132欧姆,则相应输出电流会更大(超过25mA),但是芯片引脚只能提供最大25mA的电流,因此,输出电平将会下降(老板你只给我2500月薪,我就只能干2500的活,你要我干更多的活得开更多的工资,一个道理)
一般情况下,这种驱动重负载(小电阻)的电路连接是不会烧毁内部晶体管的,因为内部也是有限流电阻的,换句话讲,就算输出引脚对地短路,输出电流也不会超过最大的驱动能力(除非是不正规的芯片),当然,在实际应用过程中尽量不要超出引脚的驱动能力。
而OC(OD)的引脚输出结构有所不同(OC结构存在于三极管,而OD结构存在于场效管,下面以OC输出结构为例,OD输出结构的原理是一致的)。
原网址: 访问
创建于: 2020-10-19 14:22:07
目录: default
标签: 无
未标明原创文章均为采集,版权归作者所有,转载无需和我联系,请注明原出处,南摩阿彌陀佛,知识,不只知道,要得到
java windows火焰图_mob64ca12ec8020的技术博客_51CTO博客 - 在windows下不可行,不知道作者是怎样搞的 监听SpringBoot 服务启动成功事件并打印信息_监听springboot启动完毕-CSDN博客 SpringBoot中就绪探针和存活探针_management.endpoint.health.probes.enabled-CSDN博客 u2u转换板 - 嘉立创EDA开源硬件平台 Spring Boot 项目的轻量级 HTTP 客户端 retrofit 框架,快来试试它!_Java精选-CSDN博客 手把手教你打造一套最牛的知识笔记管理系统! - 知乎 - 想法有重合-理论可参考 安宇雨 闲鱼 机械键盘 客制化 开贴记录 文本 linux 使用find命令查找包含某字符串的文件_beijihukk的博客-CSDN博客_find 查找字符串 ---- mac 也适用 安宇雨 打字音 记录集合 B站 bilibili 自行搭建 开坑 真正的客制化 安宇雨 黑苹果开坑 查找工具包maven pom 引用地 工具网站 Dantelis 介绍的玩轴入坑攻略 --- 关于轴的一些说法 --- 非官方 ---- 心得而已 --- 长期开坑更新 [本人问题][新开坑位]关于自动化测试的工具与平台应用 机械键盘 开团 网站记录 -- 能做一个收集的程序就好了 不过现在没时间 -- 信息大多是在群里发的 - 你要让垃圾佬 都去一个地方看难度也是很大的 精神支柱 [超级前台]sprinbboot maven superdesk-app 记录 [信息有用] [环境准备] [基本完成] [sebp/elk] 给已创建的Docker容器增加新的端口映射 - qq_30599553的博客 - CSDN博客 [正在研究] Elasticsearch, Logstash, Kibana (ELK) Docker image documentation elasticsearch centos 安装记录 及 启动手记 正式服务器 39 elasticsearch 问题合集 不断更新 6.1.1 | 6.5.1 两个版本 博客程序 - 测试 - bug记录 等等问题 laravel的启动过程解析 - lpfuture - 博客园 OAuth2 Server PHP 用 Laravel 搭建带 OAuth2 验证的 RESTful 服务 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法 - 煮茶的博客 - SegmentFault 思否 使用 OAuth2-Server-php 搭建 OAuth2 Server - 午时的海 - 博客园 基于PHP构建OAuth 2.0 服务端 认证平台 - Endv - 博客园 Laravel 的 Artisan 命令行工具 Laravel 的文件系统和云存储功能集成 浅谈Chromium中的设计模式--终--Observer模式 浅谈Chromium中的设计模式--二--pre/post和Delegate模式 浅谈Chromium中的设计模式--一--Chromium中模块分层和进程模型 DeepMind 4 Hacking Yourself README.md update 20211011
Laravel China 简书 知乎 博客园 CSDN博客 开源中国 Go Further Ryan是菜鸟 | LNMP技术栈笔记 云栖社区-阿里云 Netflix技术博客 Techie Delight Linkedin技术博客 Dropbox技术博客 Facebook技术博客 淘宝中间件团队 美团技术博客 360技术博客 古巷博客 - 一个专注于分享的不正常博客 软件测试知识传播 - 测试窝 有赞技术团队 阮一峰 语雀 静觅丨崔庆才的个人博客 软件测试从业者综合能力提升 - isTester IBM Java 开发 使用开放 Java 生态系统开发现代应用程序 pengdai 一个强大的博主 HTML5资源教程 | 分享HTML5开发资源和开发教程 蘑菇博客 - 专注于技术分享的博客平台 个人博客-leapMie 流星007 CSDN博客 - 舍其小伙伴 稀土掘金 Go 技术论坛 | Golang / Go 语言中国知识社区
最新评论