開漏輸出和推挽輸出
概述
在STM32或者GD32中,普通的輸出GPIO輸出方式主要是開漏輸出和推挽輸出,下面我們開始講解這2種模式的區(qū)別。需要樣片的可以加群申請:615061293。 下圖是GPIO內(nèi)部的結構示意圖。?

?

?在上圖中,P-MOS帶了一個?,說明是低電平導通。?

上圖是GPIO的示意圖,有輸入和輸出,如果簡化為輸出,則如下所示。?

模擬文件下載
https://download.csdn.net/download/qq_24312945/85250172
推挽輸出
推挽輸出的內(nèi)部電路大概是下圖這個樣子,由一個P-MOS和一個N-MOS組合而成,同一時間只有一個管子能夠進行導通。?

?當輸出高電平時候,P-MOS導通,N-MOS截至,此時電源電流入R5。?

?當輸出低電平時候,N-MOS導通,P-MOS截至,此時電流流入R5的為0。?

線與
推挽輸出高電平與電源電壓基本上沒有壓差 高低電平的驅(qū)動能力較強,推挽輸出的電流都能達到幾十mA。 但是無法進行線與操作,做進行線與操作,那么電源和地就會短路,因為mos管電阻很小。 看下圖可以得知,電流通過Q3的P-MOS流到Q2的N-MOS,最終回到地。?

開漏輸出
開漏輸出又叫漏極開漏輸出簡化后可以看作如下的示意圖。

?若還是使用上面推挽的電路圖,當N-MOS為低電平時候,那么他的輸出就是一個高阻態(tài)。 可以看到,R5沒有電流通過,電壓也是接近于0,所以GPIO無法對外輸出高電平。?

?此時需要增加一個上拉,這樣的話上拉的電流就會流出去。 所以在開漏輸出情況下,需要增加一個上拉才能進行輸出高電平。?

?對于輸出低電平,他和推挽輸出差不多,電流通過N-MOS流到地中。?

?上圖是沒有增加上拉,但是開漏輸出模式都需要增加,增加上拉之后如下圖所示。 電流通過N-MOS流回地中。?

輸出電壓
由于推挽輸出在輸出的時候是通過單片機內(nèi)部的電壓,所以他的電壓是不能改變的。 但是開漏輸出是通過外部上拉的電壓,所以可以改變開漏輸出模式下的電壓大小。 下圖是當上拉為5V時候,也是可以驅(qū)動出去的,這個上拉電壓最大值需要看單片機的耐壓。?

最后
以上的代碼會在Q群里分享。QQ群:615061293。 或者關注微信公眾號『記帖』,持續(xù)更新文章和學習資料,可加作者的微信交流學習!?
