用图示及公式讲清楚灌电流和拉电流的区别

Doria ·
更新时间:2024-09-21
· 611 次阅读

灌电流和拉电流的概念在电路中经常出现,不管是单片机的GPIO,还是一般的上下拉电路,了解后可以更好地理解和设计电路。

相关博客学习:

聊一聊上拉电阻、下拉电阻、使用场景及阻值选择

一文搞懂三极管开关电路,基极电阻如何选择?

文章目录1. 如何理解2. 灌电流3. 拉电流4. 实际问题 1. 如何理解 灌电流(sink current) 被动输入电流,是从输出口流入电流,下图,当PTB0输出低的时候,LED亮,电流的方向就是从VCC流进PTB0管脚。 拉电流(sourcing current) 主动输出电流,是从输出口输出电流,下图,当PTB1输出高的时候,LED亮,电流的方向就是从PTB1流进地。
在这里插入图片描述 灌电流和拉电流 2. 灌电流

如下,画出PTB0的内部结构, 当INPUT输出高电平时,LED亮。当三极管在饱和状态,CE之间近似一个开关,PTB0上电压就是U=5V∗R2R1+R2(1)U=\frac{5V*R2}{R1+R2} \quad\tag{1}U=R1+R25V∗R2​(1)

对于公式(1)可以得到如下两点:

R1越小,灌电流越大,PTB0电压越大; 当灌电流越大时,三极管的饱和压降越大,PTB0的低电平就越大。逻辑门的低电平有一个UILmaxU_{ILmax}UILmax​,当高于这个值的时候,就无法识别为逻辑0,所以灌电流是有一个上限的。
灌电流举例电路 3. 拉电流

如下,简易画出PTB1的内部结构,当VF2输出高电平时,LED亮。三极管在饱和状态,CE之间近似一个开关,PTB1的电压为:U2=5V∗R4R3+R4(2)U2=\frac{5V*R4}{R3+R4} \quad\tag{2}U2=R3+R45V∗R4​(2)

对于公式(2)可以得到如下两点:

R3越小,拉电流越大,PTB1电压越大;

当拉电流越大时,输出端的高电平就越低。逻辑门的高电平有一个UIHminU_{IHmin}UIHmin​,当低于这个值的时候,就无法识别为1,所以拉电流也是有一个上限的。
在这里插入图片描述

拉电流举例电路 4. 实际问题

如下是一个单总线的复位应答信号,可以看出,在主机发送复位信号拉低总线,然后释放,再由上拉电阻上拉至VDD高电平,然后从机拉低总线应答,发现从机的低电平比较高,电压并没有拉低到0V,这个原因就是上面说到的,灌电流过大,说明这个上拉选得比较小,如果这个从机的低电平再高一些,可能就无法被主机识别,导致通信失败。

在这里插入图片描述

实测单总线复位/应答

永远相信美好的事情即将发生!作者记得诚,写于安徽合肥,时间2020-03-24 PM14:59


作者:记得诚



电流

需要 登录 后方可回复, 如果你还没有账号请 注册新账号