您的位置:首頁 > 電路圖 > 正文

一文帶你了解灌電流和拉電流的區(qū)別

時間:2024-08-21 15:08:05 瀏覽:64

不管是單片機(jī)的IO口,還是一般的上拉下拉電路,都會有灌電流和拉電流的身影。

了解電流和拉電流的區(qū)別可以幫助我們更好地理解和設(shè)計電路。

灌電流,英文sink current,指被動輸入電流,是從輸出口流入電流,下圖,當(dāng)PTB0輸出低的時候,LED亮,電流的方向就是從VCC流進(jìn)PTB0管腳。

拉電流,英文sourcing current,指主動輸出電流,是從輸出口輸出電流,下圖,當(dāng)PTB1輸出高的時候,LED亮,電流的方向就是從PTB1流進(jìn)地。

1.png

大致畫出PTB0的內(nèi)部結(jié)構(gòu), 當(dāng)INPUT輸出高電平時,LED亮。

當(dāng)三極管在飽和狀態(tài)時,三極管集電極和發(fā)射極之間近似為一個開關(guān),PTB0上的電壓為:U=5*R2/(R1+R2)

2.png

從上述公式可以看出,R1越小時,灌電流越大,PTB0電壓越大。灌電流越大時,三極管的飽和壓降越大,PTB0的低電平就越大。邏輯門的低電平有一個Uilmax,當(dāng)高于這個值的時候,就無法識別為邏輯0,所以灌電流是有一個上限的。

如下,簡易畫出PTB1的內(nèi)部結(jié)構(gòu),當(dāng)VF2輸出高電平時,LED亮。

當(dāng)三極管在飽和狀態(tài)時,三極管集電極和發(fā)射極之間近似為一個開關(guān),PTB1上的電壓為:U2=5*R4/(R3+R4)

3.png

從上述公式可以看出,R3越小時,拉電流越大,PTB1電壓越大。拉電流越大時,輸出端的高電平就越低。邏輯門的高電平有一個Uihmin,當(dāng)?shù)陀谶@個值的時候,就無法識別為1,所以拉電流也是有一個上限的。

如下是一個實際問題,波形是單總線的復(fù)位應(yīng)答信號??煽闯觯谥鳈C(jī)發(fā)送復(fù)位信號拉低總線,然后釋放,再由上拉電阻上拉至高電平,然后從機(jī)拉低總線應(yīng)答,發(fā)現(xiàn)從機(jī)的低電平比較高,電壓并沒有拉低到0V。這個原因就是上面說到的,灌電流過大,說明這個上拉選得比較小,如果這個從機(jī)的低電平再高一些,可能就無法被主機(jī)識別,導(dǎo)致通信失敗。

4.png

文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。轉(zhuǎn)載自作者-記得誠。