打印
[资料分享]

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

[复制链接]
434|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2020-12-3 11:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1. 如何理解
  • 灌电流(sink current) 被动输入电流,是从输出口流入电流,下图,当PTB0输出低的时候,LED亮,电流的方向就是从VCC流进PTB0管脚。
  • 拉电流(sourcing current) 主动输出电流,是从输出口输出电流,下图,当PTB1输出高的时候,LED亮,电流的方向就是从PTB1流进地。

灌电流和拉电流

2. 灌电流

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

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

  • R1越小,灌电流越大,PTB0电压越大;
  • 当灌电流越大时,三极管的饱和压降越大,PTB0的低电平就越大。逻辑门的低电平有一个U I L m a x U_{ILmax}UILmax​,当高于这个值的时候,就无法识别为逻辑0,所以灌电流是有一个上限的。

灌电流举例电路

3. 拉电流

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

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

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

  • 当拉电流越大时,输出端的高电平就越低。逻辑门的高电平有一个U I H m i n U_{IHmin}UIHmin​,当低于这个值的时候,就无法识别为1,所以拉电流也是有一个上限的。


拉电流举例电路

4. 实际问题

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

实测单总线复位/应答



使用特权

评论回复

相关帖子

沙发
xyz549040622| | 2020-12-21 22:21 | 只看该作者
支持下谢谢分享!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1536

主题

14520

帖子

9

粉丝