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

记得诚 2020-07-20

不管是单片机的IO,还是一般的上拉下拉电路,都会有灌电流和拉电流的身影。

了解可以帮助我们更好地理解和设计电路。

灌电流 ,英文sink current,指被动输入电流,是从输出口流入电流,下图,当PTB0输出低的时候,LED亮,电流的方向就是从VCC流进PTB0管脚。

拉电流,英文sourcing current,指主动输出电流,是从输出口输出电流,下图,当PTB1输出高的时候,LED亮,电流的方向就是从PTB1流进地。

大致画出PTB0的内部结构, 当INPUT输出高电平时,LED亮。

当三极管在饱和状态时,三极管集电极和发射极之间近似为一个开关,PTB0上的电压为:U=5*R2/(R1+R2)

从上述公式可以看出,R1越小时,灌电流越大,PTB0电压越大。灌电流越大时,三极管的饱和压降越大,PTB0的低电平就越大。逻辑门的低电平有一个Uilmax,当高于这个值的时候,就无法识别为逻辑0,所以灌电流是有一个上限的。

如下,简易画出PTB1的内部结构,当VF2输出高电平时,LED亮。

当三极管在饱和状态时,三极管集电极和发射极之间近似为一个开关,PTB1上的电压为:U2=5*R4/(R3+R4)

从上述公式可以看出,R3越小时,拉电流越大,PTB1电压越大。拉电流越大时,输出端的高电平就越低。逻辑门的高电平有一个Uihmin,当低于这个值的时候,就无法识别为1,所以拉电流也是有一个上限的。

如下是一个实际问题,波形是单总线的复位应答信号
可看出,在主机发送复位信号拉低总线,然后释放,再由上拉电阻上拉至高电平,然后从机拉低总线应答,发现从机的低电平比较高,电压并没有拉低到0V。
这个原因就是上面说到的, 灌电流过大,明这个上拉选得比较小 ,如果这个从机的低电平再高一些,可能就无法被主机识别,导致通信失败。
今天的内容到这里就结束了,希望对你有帮助,我们下一期见。

—— The End ——
记得诚 一位硬件工程师的原创分享,涵盖电路设计、PCB设计、电子元器件、电子电路和硬件科普等内容,涉及无线通信、嵌入式、物联网、GNSS定位和车载等领域。
评论
热门推荐
相关推荐
X
广告
我要评论
0
1
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦