與推挽輸出相對的是開漏輸出,而開漏輸出分為OC、OD兩種,下文分別詳細介紹。
推挽輸出
推挽輸出(Push-Pull Output)是由兩個MOS或者三極管受到互補控制信號的控制,兩個管子始終處在一個導通另一個截止的狀態(tài),如圖1所示:
圖1 推挽輸出結(jié)構(gòu)
推挽輸出的最大特點是可以真正的輸出高電平和低電平,而且在兩種電平下都具有驅(qū)動能力。
補充說明:
所謂的驅(qū)動能力,就是指輸出電流的能力。對于驅(qū)動大負載(即負載內(nèi)阻越小,負載越大)時,例如IO輸出為5V,驅(qū)動的負載內(nèi)阻為10ohm,于是根據(jù)歐姆定律可以正常情況下負載上的電流為0.5A(推算出功率為2.5W)。顯然一般的IO不可能有這么大的驅(qū)動能力,也就是沒有辦法輸出這么大的電流。于是造成的結(jié)果就是輸出電壓會被拉下來,達不到標稱的5V。當然如果只是數(shù)字信號的傳遞,下一級的輸入阻抗理論上最好是高阻,也就是只需要傳電壓,基本沒有電流,也就沒有功率,于是就不需要很大的驅(qū)動能力。
對于推挽輸出,輸出高、低電平時電流的流向如圖2所示。所以相比于后面介紹的開漏輸出,輸出高電平時的驅(qū)動能力強很多。
圖2 灌電流與拉電流
缺點
但推挽輸出的一個缺點是,如果當兩個推挽輸出結(jié)構(gòu)相連在一起,一個輸出高電平,即上面的MOS導通,下面的MOS閉合時;同時另一個輸出低電平,即上面的MOS閉合,下面的MOS導通時。電流會從第一個引腳的VCC通過上端MOS再經(jīng)過第二個引腳的下端MOS直接流向GND。整個通路上電阻很小,會發(fā)生短路,進而可能造成端口的損害。這也是為什么推挽輸出不能實現(xiàn)" 線與"的原因。
開漏輸出
常說的與推挽輸出相對的就是開漏輸出(Open Drain Output),對于開漏輸出和推挽輸出的區(qū)別最普遍的說法就是開漏輸出無法真正輸出高電平,即高電平時沒有驅(qū)動能力,需要借助外部上拉電阻完成對外驅(qū)動。關(guān)于上下拉電阻可以參考此文:通俗理解STM32中的上/下拉電阻。
下面就從內(nèi)部結(jié)構(gòu)和原理上說明為什么開漏輸出輸出高電平時沒有驅(qū)動能力,以及進一步比較與推挽輸出的區(qū)別。
首先需要介紹一些開漏輸出(OD)和開集輸出(OC)。這兩種輸出的原理和特性基本是類似的,區(qū)別如下:
開漏使用MOS管,其中的"漏"指的就是MOS管的漏極
開集使用三極管,其中的"集"指的就是三極管的集電極
這兩者其實都是和推挽輸出相對應(yīng)的輸出模式,由于使用MOS管的情況較多,很多時候就用"開漏輸出"這個詞代替了開漏輸出和開集輸出。
OC
介紹就先從開集輸出開始,其原理電路結(jié)構(gòu)如圖3所示。
圖3 OC
圖3左邊電路是開集(OC)輸出最基本的電路,當輸入為高電平時,NPN三極管導通,Output被拉到GND,輸出為低電平;當輸入為低電平時,NPN三極管閉合,Output相當于開路(輸出高阻)。高電平時輸出高阻(高阻、三態(tài)以及floating說的都是一個意思),此時對外沒有任何的驅(qū)動能力。這就是開漏和開集輸出最大的特點,如何利用該特點完成各種功能稍后介紹。這個電路雖然完成了開集輸出的功能,但是會出現(xiàn)input為高,輸出為低;input為低,輸出為高的情況。
圖3右邊的電路中多使用了一個三極管完成了"反相"。當輸入為高電平時,第一個三極管導通,此時第二個三極管的輸入端會被拉到GND,于是第二個三極管閉合,輸出高阻;當輸入為低電平時,第一個三極管閉合,此時第二個三極管的輸入端會被上拉電阻拉到高電平,于是第二個三極管導通,輸出被拉到GND。這樣,這個電路的輸入與輸出是同相的了。
OD
接下來介紹開漏輸出的電路,如圖4所示。原理與開集輸出基本相同,只是將三極管換成了MOS而已。
圖4 OD
特點及應(yīng)用
接著說說開漏、開集輸出的特點以及應(yīng)用,由于兩者相似,后文中若無特殊說明,則用開漏表示開漏和開集兩種輸出電路。
開漏輸出最主要的特性就是高電平?jīng)]有驅(qū)動能力,需要借助外部上拉電阻才能真正輸出高電平,其電路如圖5所示。
圖5 OD門上拉
當MOS管閉合時,開漏輸出電路輸出高電平,且連接著負載時,電流流向是從外部電源,流經(jīng)上拉電阻RPU,流進負載,最后進入GND。
開漏輸出的這一特性一個明顯的優(yōu)勢就是可以很方便的調(diào)節(jié)輸出的電平,因為輸出電平完全由上拉電阻連接的電源電平?jīng)Q定。所以在需要進行電平轉(zhuǎn)換的地方,非常適合使用開漏輸出。
開漏輸出的這一特性另一個好處在于可以實現(xiàn)"線與"功能,所謂的"線與"指的是多個信號線直接連接在一起,只有當所有信號全部為高電平時,合在一起的總線為高電平;只要有任意一個或者多個信號為低電平,則總線為低電平。而推挽輸出就不行,如果高電平和低電平連在一起,會出現(xiàn)電流倒灌,損壞器件。
推挽、開漏對比
關(guān)于推挽輸出、開漏輸出在STM32中的應(yīng)用,請移步此文:STM32中GPIO工作原理詳解。在理清楚了推挽、開漏之后,可以更好的理解GPIO工作原理。
-
三極管
+關(guān)注
關(guān)注
142文章
3591瀏覽量
121510 -
MOS管
+關(guān)注
關(guān)注
108文章
2377瀏覽量
66402 -
推挽
+關(guān)注
關(guān)注
1文章
62瀏覽量
33587
原文標題:理清推挽、開漏、OC、OD的特點與應(yīng)用
文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論