爲什麼必須要在OC門輸出的IO口上加上拉電阻?

爲什麼必須要在OC門輸出的IO口上加上拉電阻?    
A:我們先來說說集電極開路輸出的結構。集電極開路輸出的結構如圖1所示,右邊的那個三極管集電極什麼都不接,所以叫做集電極開路(左邊的三極管爲反相之用,使輸入爲“0”時,輸出也爲“0”)。對於圖1,當左端的輸入爲“0”時,前面的三極管截止(即集電極C跟發射極E之間相當於斷開),所以5V電源通過1K電阻加到右邊的三極管上,右邊的三極管導通(即相當於一個開關閉合);當左端的輸入爲“1”時,前面的三極管導通,而後面的三極管截止(相當於開關斷開)。
 
 
我們將圖1簡化成圖2的樣子。圖2中的開關受軟件控制,“1”時斷開,“0”時閉合。很明顯可以看出,當開關閉合時,輸出直接接地,所以輸出電平爲0。而當開關斷開時,則輸出端懸空了,即高阻態。這時電平狀態未知,如果後面一個電阻負載(即使很輕的負載)到地,那麼輸出端的電平就被這個負載拉到低電平了,所以這個電路是不能輸出高電平的。

再看圖三。圖三中那個1K的電阻即是上拉電阻。如果開關閉合,則有電流從1K電阻及開關上流過,但由於開關閉和時電阻爲0(方便我們的討論,實際情況中開關電阻不爲0,另外對於三極管還存在飽和壓降),所以在開關上的電壓爲0,即輸出電平爲0。如果開關斷開,則由於開關電阻爲無窮大(同上,不考慮實際中的漏電流),所以流過的電流爲0,因此在1K電阻上的壓降也爲0,所以輸出端的電壓就是5V了,這樣就能輸出高電平了。但是這個輸出的內阻是比較大的(即1KΩ),如果接一個電阻爲R的負載,通過分壓計算,就可以算得最後的輸出電壓爲5*R/(R+1000)伏,即5/(1+1000/R)伏。所以,如果要達到一定的電壓的話,R就不能太小。如果R真的太小,而導致輸出電壓不夠的話,那我們只有通過減小那個1K的上拉電阻來增加驅動能力。但是,上拉電阻又不能取得太小,因爲當開關閉合時,將產生電流,由於開關能流過的電流是有限的,因此限制了上拉電阻的取值,另外還需要考慮到,當輸出低電平時,負載可能還會給提供一部分電流從開關流過,因此要綜合這些電流考慮來選擇合適的上拉電阻。

如果我們將一個讀數據用的輸入端接在輸出端,這樣就是一個IO口了(51的IO口就是這樣的結構,其中P0口內部不帶上拉,而其它三個口帶內部上拉),當我們要使用輸入功能時,只要將輸出口設置爲1即可,這樣就相當於那個開關斷開,而對於P0口來說,就是高阻態了。

對於漏極開路(OD)輸出,跟集電極開路輸出是十分類似的。將上面的三極管換成場效應管即可。這樣集電極就變成了漏極,OC就變成了OD,原理分析是一樣的。

另一種輸出結構是推輓輸出。推輓輸出的結構就是把上面的上拉電阻也換成一個開關,當要輸出高電平時,上面的開關通,下面的開關斷;而要輸出低電平時,則剛好相反。比起OC或者OD來說,這樣的推輓結構高、低電平驅動能力都很強。如果兩個輸出不同電平的輸出口接在一起的話,就會產生很大的電流,有可能將輸出口燒壞。而上面說的OC或OD輸出則不會有這樣的情況,因爲上拉電阻提供的電流比較小。如果是推輓輸出的要設置爲高阻態時,則兩個開關必須同時斷開(或者在輸出口上使用一個傳輸門),這樣可作爲輸入狀態,AVR單片機的一些IO口就是這種結構。
 
 
集電極開路輸出大概有以下幾個好處:

1.可以實現線與功能,即兩個或多個輸出端可並聯在一起,然後接一上拉電阻至高電平。這樣,只要有一個輸出是低,
那麼結果就是低,即實現了與的功能。

2.跟上面的有點類似,那就是多個門輸出端接在一起時,不會導致損壞。

3.可以用來控制較高的電平。典型應用可以看看ULN2003。

4.跟3類似,當輸出斷開時,爲高阻態,這樣就可以做輸入口使用了。典型應用請看8951單片機的IO口結構,
置1時即爲輸入口。


對於集電極開路(OC)或者漏極開路(OD)輸出的,如果要輸出高電平,必須接上拉電阻,因爲OC或OD門,
置1時輸出相當於懸空。

寫得不錯。不過,這句話要修訂一下:

**

對於集電極(OC)或者漏極開路(OD)輸出的,如果要輸出高電平,必須接上拉電阻,因爲OC或OD門, 置1時輸出相當於懸空。

**

在要輸出低電平時,也要上拉電阻。因爲OC或OD原本都是沒有電平的,必須“人爲”地給它們加一個高電平作爲初始電平。
 

 
[閱讀全文 | 回覆 | 引用通告]

·關於oc門     -|edwards 發表於 2006-10-20 21:06:00

OC門,又稱集電極開路(漏極開路)與非門門電路,Open Collector(Open Drain)。

爲什麼引入OC門?

實際使用中,有時需要兩個或兩個以上與非門的輸出端連接在同一條導線上,將這些與非門上的數據(狀態電平)用同一條導線輸送出去。因此,需要一種新的與非門電路--OC門來實現“線與邏輯”。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章