不管是單片機的IO口,還是一般的上拉下拉電路,都會有灌電流和拉電流的身影。
了解可以幫助我們更好地理解和設計電路。
拉電流,英文sourcing current,指主動輸出電流,是從輸出口輸出電流,下圖,當PTB1輸出高的時候,LED亮,電流的方向就是從PTB1流進地。
大致畫出PTB0的內部結構, 當INPUT輸出高電平時,LED亮。
當三極體在飽和狀態時,三極體集電極和發射極之間近似為一個開關,PTB0上的電壓為:U=5*R2/(R1+R2)
如下,簡易畫出PTB1的內部結構,當VF2輸出高電平時,LED亮。
當三極體在飽和狀態時,三極體集電極和發射極之間近似為一個開關,PTB1上的電壓為:U2=5*R4/(R3+R4)
從上述公式可以看出,R3越小時,拉電流越大,PTB1電壓越大。拉電流越大時,輸出端的高電平就越低。邏輯門的高電平有一個Uihmin,當低於這個值的時候,就無法識別為1,所以拉電流也是有一個上限的。
可看出,在主機發送復位信號拉低總線,然後釋放,再由上拉電阻上拉至高電平,然後從機拉低總線應答,發現從機的低電平比較高,電壓並沒有拉低到0V。 這個原因就是上面說到的, 灌電流過大,說明這個上拉選得比較小 ,如果這個從機的低電平再高一些,可能就無法被主機識別,導致通信失敗。 今天的內容到這裡就結束了,希望對你有幫助,我們下一期見。