上下拉电阻(4)详细解读
由上表可知,STM32 的 IO 引脚的驱动能力为 25mA,负号“‐”表示电流的方向,灌与拉的
5
All rights reserved, NO Spreading without Authorization
10
All rights reserved, NO Spreading without Authorization
Author: Jackie Long
此时,无论两个芯片的引脚输出什么状态,都不会引起数据冲突,配合各自芯片内部的 数据识别电路及仲裁系统,双方都可以主动给另一方发送信息,也就是说,任何一方都可以 将信号线拉高或拉低,而不会影响起数据冲突。 我们所熟悉的 51 单片机 P0 口也是 OD 结构,如下图所示(来自 ATMEL 单片机 AT89C51 数据手册) : 更多精彩文章可关注《电子制作站》微信号 dzzzzcn
8
All rights reserved, NO Spreading without Authorization
Author: Jackie Long
很多芯片或模块向外反馈系统状态的信号引脚也是这种结构, 这样用户就可以根据电路 系统实际需要将电平上拉到对应的电源电压 VCC,就可以省略电平转换了,如下图所示(来 自东芝步进电机控制芯片 TB6560 数据手册) :
对于上拉电阻 R1 而言, 控制信号每次拉低 L 都会产生 VCC/R1 的电流消耗 (没有上拉电 阻则电流为 0) , 相应的, 对于下拉电阻 R2 而言, 控制信号每次拉高 H 也会产生 VCC/R2R 电 流消耗(本文假设高电平即为 VCC) 。 强拉与弱拉之间没有严格说多少欧姆是强弱的分界,一般我们使用的拉电阻都是弱拉, 这样我们仍然可以使用外部控制信号将已经上/下拉的信号线根据需要进行电平的更改。 强拉电阻的极端就是零欧姆电阻,亦即将信号线直接与电源或地相连接,比如,对于 EEPROM 存储芯片 24C02 应用电路,如下图所示:
7
All rights reserved, NO Spreading without Authorization
Author: Jackie Long
大多数比较器芯片的输出都是 OD/OC 输出结构,如下图所示(来自 TI 比较器 LM393 数 据手册) :
Author: Jackie Long
上下拉电阻详解(4)
上拉(Pull Up )或下拉(Pull Down)电阻(两者统称为“拉电阻” )最基本的作用是: 将状态不确定的信号线通过一个电阻将其箝位至高电平(上拉)或低电平(下拉) ,无论它 的具体用法如何, 这个基本的作用都是相同的, 只是在不同应用场合中会对电阻的阻值要求 有所不同,从而也引出了诸多新的概念,本节我们就来小谈一下这些内容。 如果拉电阻用于输入信号引脚, 通常的作用是将信号线强制箝位至某个电平, 以防止信 号线因悬空而出现不确定的状态,继而导致系统出现不期望的状态,如下图所示:
Author: Jackie Long
当推挽输出结构的控制信号为低电平“L”时,Q1 截止 Q2 导通,电流 I1 由电源 VCC 经 负载 RL 与三极管 Q2 流向公共地,我们称此电流为灌电流(Sink Current) ,也就是外部电流 灌入芯片内部,如下图所示:
相应的,当推挽输出结构的控制信号为高电平“H”时,Q1 导通 Q2 截止,电流 I1 由电 源 VCC 经三极管 Q1 与负载 RL 流向公共地,我们称此电流为拉电流(Source Current) ,也就 是芯片内部可以向外提供的电流(所以称之为“源电源” ) ,从另一个角度讲,也就是外电路 可以从芯片中拉走多少电流,如下图所示:
2
All rights reserved, NO Spreading without Authorization
Author: Jackie Long
其中,E0,E1,E2(地址配置位)在应用中通常都是直接强上拉到电源 VCC,或强下拉到 GND,因为存储芯片的地址在系统运行过程中是不会再发生变化的,同样,芯片的写控制引 脚 WC(Write Control)也被强下拉到 GND。 拉电阻作为输出(或输入输出)时牵涉到的知识点会更多一些,但本质的功能也是将电 平箝位,最常见的输出上拉电阻出现在开集(Open Collector,OC)或开漏(Open Drain,OD) 结构的引脚。 我们有很多芯片的输出引脚是推挽输出结构(Output Push‐Pull) ,如下图所示(还有一 种反相输出的结构,本质也是一样的) :
I2C(Inter Integrated Circuit,内部集成电路)总线也是典型的 OD 输出结构的应用,如下 图所示:
9
All rights reserved, NO Spreading without Authorization
Author: Jackie Long
其中,SCL 与 SDA 都是 OD 输出结构输出,这样的好处是可以作为双向数据总线(也称 “线或 Wire‐OR”功能) 。 如果芯片引脚使用之前描述的推挽结构, 则两个或多个芯片的引脚连接时将如下图所示:
假设如上图所示芯片的输出分别为 0 与 1,则两者直接相互连接后,会有非常大的电流 自电源 VCC 经 Q1 与 Q4 到公共地,虽然大多数情况下不至于烧芯片,但也会引起很大的功 率消耗,同时也会导致数据冲突(芯片 1 总会试图将数据线拉高,而芯片 2 则会试图将数据 线拉低,我们称之为数据冲突或总线冲突,表示双方都在抢占总线) 如果使用 OC/OD 输出结构,则相应的电路如下图所示:
推挽输出结构引脚的特点是:无论引脚输出高电平“H”还是低电平“L” ,都有比较强 的驱动能力(输入或输出电流能力) !
3
All rights reserved, NO Spreading without Authorization
1
All rights reserved, NO Spreading without Authorization
Author: Jackie Long
根据拉电阻的阻值大小,我们还可以分为强拉或弱拉(weak pull‐up/down) ,芯片内部 集成的拉电阻通常都是弱拉(电阻比较大) ,拉电阻越小则表示电平能力越强(强拉) ,可以 抵抗外部噪声的能力也越强 (也就是说, 不期望出现的干扰噪声如果要更改强拉的信号电平, 则需要的能量也必须相应加强) ,但是拉电阻越小则相应的功耗也越大,因为正常信号要改 变信号线的状态也需要更多的能量,在能量消耗这一方面,拉电阻是绝不会有所偏颇的,如 下图所示:
ห้องสมุดไป่ตู้
但是当控制驱动信号为低电平“L”时,三极管 Q1 截止,如果没有外部上拉电阻的话, 该引脚相当于悬空(高阻态) ,无法输出高电平,也就是说,OC/OD 结构输出的引脚没有拉 电流(向外部电路提供电流)能力。因此,我们通常都会将 OC/OD 引脚通过外接电阻上拉 到电源电压 VCC,这样引脚输出高电平时的拉电流就直接由电源 VCC 提供,如下图所示:
4
All rights reserved, NO Spreading without Authorization
Author: Jackie Long
灌电流能力与拉电流能力也称为芯片引脚的驱动能力。 对于任何给定的芯片, 引脚的驱 动能力都是有限的,如下图所示为 STM32 单片机的 IO 引脚电流驱动能力(来自 ST 数据手 册) :
6
All rights reserved, NO Spreading without Authorization
Author: Jackie Long
当三极管 Q1 的驱动控制信号为高电平“H”时,Q1 饱和导通,将对应输出引脚拉为低 电平“L” ,如下图所示:
在实际应用中,10K 欧姆的电阻是使用数量最多的拉电阻。需要使用上拉电阻还是下拉 电阻,主要取决于电路系统本身的需要,比如,对于高有效的使能控制信号(EN) , 我们 希望电路系统在上电后应处于无效状态,则会使用下拉电阻。 假设这个使能信号是用来控制电机的,如果悬空的话,此信号线可能在上电后(或在运 行中)受到其它噪声干扰而误触发为高电平,从而导致电机出现不期望的转动,这肯定不是 我们想要的,此时可以增加一个下拉电阻。 而相应的,对于低有效的复位控制信号(RST#) ,我们希望上电复位后处于无效状态, 则应使用上拉电阻。 大多数具备逻辑控制功能的芯片(如单片机、FPGA 等)都会集成上拉或下拉电阻,用 户可根据需要选择是否打开,STM32 单片机 GPIO 模式即包含上拉或下拉,如下图所示(来 自 ST 数据手册) :
12
Author: Jackie Long
电流方向是相反的(表中 SUNK 为 SINK 的过去分词) 由于芯片引脚的驱动能力都是有限的, 如果引脚驱动的负载比较重, 将可能导致输出电 平不正确(无法输出预定的电平) ,如下图所示:
假定芯片的供电电压为 3.3V(忽略晶体管饱和压降) ,则输出最大电流 25mA 时,负载 RL 的值约为 132 欧姆(3.3V/25mA) ,如果负载值小于 132 欧姆,则相应输出电流会更大(超 过 25mA) ,但是芯片引脚只能提供最大 25mA 的电流,因此,输出电平将会下降(老板你只 给我 2500 月薪,我就只能干 2500 的活,你要我干更多的活得开更多的工资,一个道理) 一般情况下,这种驱动重负载(小电阻)的电路连接是不会烧毁内部晶体管的,因为内 部也是有限流电阻的,换句话讲,就算输出引脚对地短路,输出电流也不会超过最大的驱动 能力(除非是不正规的芯片) ,当然,在实际应用过程中尽量不要超出引脚的驱动能力。 而 OC(OD)的引脚输出结构有所不同(OC 结构存在于三极管,而 OD 结构存在于场效 管,下面以 OC 输出结构为例,OD 输出结构的原理是一致的) ,如下图所示: