当前位置: 首页 > news >正文

关于I/O上下拉电阻的应用总结

数字电路有三种状态:高电平、低电平和高阻状态。但有些场合却不希望出现高阻状态,通过上拉电阻或者下拉电阻就可以是电路处于稳定的状态,具体视设计要求而定。上下拉电阻的应用道理类似,下面就以上拉电阻为例说明:

    1.上拉电阻的作用
    ① 当前端逻辑输出驱动输出的高电平低于后级逻辑电路输入的最低高电平是,就需要在前级的输入端接上拉电阻,以提高输出高电平的值;同时提高芯片输入信号的噪声容限,以增强抗干扰能力。
    ②为加大高电平输出时引脚的驱动能力,有的单片机引脚上也常使用上拉电阻。
    ③OC门必须加上上拉电阻是引脚悬空有确定的状态,实现“线与”功能
    ④在CMOS芯片上,为了防止静电造成损坏,不用的引脚不能悬空,一般都要接上上拉电阻降低输入阻抗,提供泄荷通路。
    ⑤引脚悬空比较容易受到外界电磁干扰,加上拉电阻可以提高总线的抗电磁干扰能力。
    ⑥长线传输中电阻不匹配容易引起反射波阻抗,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。
    2.上拉电阻阻滞的选择原则
    上拉电阻阻值的选择原则包括:
    ①从节约功耗及芯片的灌电流能力考虑应该足够大。电阻越大,电流越小。
    ②从确保足够的驱动电流考虑应该足够小。电阻越小,电流越大。
    ③对于高速电路,过大的上拉电阻可能是边沿变平缓。
    综合考虑以上三点,通常在1~10kΩ之间选取。上拉电阻的组织大小主要是要顾及端口低电平吸入电流的能力。例如,在5V电压下,加1kΩ上拉电阻,将会给端口低电平状态增加5mA的吸入电流。在端口能承受的条件下,上拉电阻小一点为好。对下拉电阻也有类似的道理。
    同时对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要应考虑一下几个元素:
    ①驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但是功耗越大,设计时应注意两者之间的均衡。
    ②下级电路的驱动需求。同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。
    ③高低电平的设定。不同的电路对高低电平的门槛电压会有不同,电阻应适当设定以确保能输出正确的电平。以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在0电平门槛之下。
    ④频率特性。以上拉电阻为例,上拉电阻和开关管漏源级之间的电容和下级电路之间的输入电容会形成RC延迟,电阻越大,延迟越大。上拉电阻的设定应考虑电路在这方面的需求。
    3.OC门上拉电阻值得确定
    OC门输出高电平时是一个高阻态,其上拉电流由上拉电阻来提供。电阻应选用经过计算后与标准值最相近的一个。设输入的电流不大于100μA,设输出口的驱动电流约为500μA,标准工作电压5V。输入口的高低电平门限为0.8V(低于此值为低电平),高电平门限值为2V,计算方法如下:
    ①500μA×8.4kΩ=4.2V 即选大于8.4kΩ时输出端能下拉至0.8V以下,此为最小阻值,再小就拉不下来了。如果输出口驱动电流较大,则组织可见小,保证下拉时能低于0.8V即可。
    ②当输出高电平时,忽略管子的漏电流,两输入口需要200μA。200μA×15kΩ=3V即上拉电阻压降为3V,输出口可达到2V,次阻值为最大阻值,再大就拉不到2V了。选10kΩ即可。
    上述仅仅是原理,用一句话可概括为:输出高电平是要有足够的电流给后面的输入口,输出低电平要限制住吸入电流的大小
 <Linker : http://blog.csdn.net/plaris060504/archive/2008/10/03/3014036.aspx>

相关文章:

  • babylonjs
  • 列表的基本操作元组
  • Mysql GRANT 添加用户
  • RocksDB介绍
  • poj 2777 Count Color(线段树区间更新)
  • 基础正则表达式
  • binlog2sql 回滚误操作
  • Dynamic Properties in PHP and StdClass
  • NoSQL实现(1)——Redis
  • MySQL学习四部曲
  • vim常用命令总结 (转)【转】
  • 深入理解dp px density
  • java基础---一致性hash算法
  • JAVA NIO 选择器
  • Java 集合中常见 checkForComodification()方法的作用? modCount和expectedModCount作用?
  • 【Leetcode】101. 对称二叉树
  • 【翻译】babel对TC39装饰器草案的实现
  • AHK 中 = 和 == 等比较运算符的用法
  • echarts的各种常用效果展示
  • k8s如何管理Pod
  • Lsb图片隐写
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 计算机在识别图像时“看到”了什么?
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • elasticsearch-head插件安装
  • ​2020 年大前端技术趋势解读
  • # Maven错误Error executing Maven
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #FPGA(基础知识)
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (接口自动化)Python3操作MySQL数据库
  • (六)vue-router+UI组件库
  • (论文阅读40-45)图像描述1
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • ../depcomp: line 571: exec: g++: not found
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .net CHARTING图表控件下载地址
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .Net中wcf服务生成及调用
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @TableLogic注解说明,以及对增删改查的影响
  • [20161101]rman备份与数据文件变化7.txt
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [Android 13]Input系列--获取触摸窗口
  • [Android] 修改设备访问权限