推輓輸出與開漏輸出的區別

轉自  http://blog.chinaunix.net/uid-23223060-id-2415299.html

下面介紹一下開漏輸出與推輓輸出的結構原理:

推輓輸出:可以輸出高,低電平,連接數字器件;

開漏輸出:輸出端相當於三極管的集電極. 要得到高電平狀態需要上拉電阻才行. 適合於做電流型的驅動,其吸收電流的能力相對強(一般20ma以內).
推輓結構一般是指兩個三極管分別受兩互補信號的控制,總是在一個三極管導通的時候另一個截止.
要實現“線與”需要用OC(open collector)門電路.是兩個參數相同的三極管或MOSFET,以推輓方式存在於電路中,各負責正負半周的波形放大任務。電路工作時,兩隻對稱的功率開關管每次只有一個導通,所以導通損耗小,效率高。輸出既可以向負載灌電流,也可以從負載抽取電流。

/////////////////////////////////////////////////////////////////////


開漏電路特點及應用 


在電路設計時我們常常遇到開漏(open drain)和開集(open collector)的概念。
  所謂開漏電路概念中提到的“漏”就是指MOSFET的漏極。同理,開集電路中的“集”就是指三極管的集電極。開漏電路就是指以MOSFET的漏極爲輸出的電路。一般的用法是會在漏極外部的電路添加上拉電阻。完整的開漏電路應該由開漏器件和開漏上拉電阻組成。如圖1所示: 



組成開漏形式的電路有以下幾個特點:
1. 利用外部電路的驅動能力,減少IC內部的驅動(或驅動比芯片電源電壓高的負載)。當IC內部MOSFET導通時,驅動電流是從外部的VCC流經R pull-up ,MOSFET到GND。IC內部僅需很下的柵極驅動電流。如圖1。

2. 可以將多個開漏輸出的Pin,連接到一條線上。形成 “與邏輯” 關係。如圖1,當PIN_A、PIN_B、PIN_C任意一個變低後,開漏線上的邏輯就爲0了。這也是I2C,SMBus等總線判斷總線佔用狀態的原理。如果作爲輸出必須接上拉電阻。接容性負載時,下降延是芯片內的晶體管,是有源驅動,速度較快;上升延是無源的外接電阻,速度慢。如果要求速度高電阻選擇要小,功耗會大。所以負載電阻的選擇要兼顧功耗和速度。
3. 可以利用改變上拉電源的電壓,改變傳輸電平。如圖2, IC的邏輯電平由電源Vcc1決定,而輸出高電平則由Vcc2(上拉電阻的電源電壓)決定。這樣我們就可以用低電平邏輯控制輸出高電平邏輯了(這樣你就可以進行任意電平的轉換)。(例如加上上拉電阻就可以提供TTL/CMOS電平輸出等。)




4. 開漏Pin不連接外部的上拉電阻,則只能輸出低電平(因此對於經典的51單片機的P0口而言,要想做輸入輸出功能必須加外部上拉電阻,否則無法輸出高電平邏輯)。一般來說,開漏是用來連接不同電平的器件,匹配電平用的。
5. 標準的開漏腳一般只有輸出的能力。添加其它的判斷電路,才能具備雙向輸入、輸出的能力。

6.正常的CMOS輸出級是上、下兩個管子,把上面的管子去掉就是OPEN-DRAIN了。這種輸出的主要目的有兩個:電平轉換、線與。

7.線與功能主要用於有多個電路對同一信號進行拉低操作的場合,如果本電路不想拉低,就輸出高電平,因爲OPEN-DRAIN上面的管子被拿掉,高電平是靠外接的上拉電阻實現的。(而正常的CMOS輸出級,如果出現一個輸出爲高另外一個爲低時,等於電源短路。)

8.OPEN-DRAIN提供了靈活的輸出方式,但是也有其弱點,就是帶來上升沿的延時。因爲上升沿是通過外接上拉無源電阻對負載充電,所以當電阻選擇小時延時就小,但功耗大;反之延時大功耗小。所以如果對延時有要求,則建議用下降沿輸出。

應用中需注意:
1. 開漏和開集的原理類似,在許多應用中我們利用開集電路代替開漏電路。例如,某輸入Pin要求由開漏電路驅動。則我們常見的驅動方式是利用一個三極管組成開集電路來驅動它,即方便又節省成本。如圖3。


2. 上拉電阻R pull-up的阻值決定了邏輯電平轉換的沿的速度。阻值越大,速度越低功耗越小。反之亦然。




Push-Pull輸出就是一般所說的推輓輸出,在CMOS電路里面應該較CMOS輸出更合適,因爲在CMOS裏面的push-pull輸出能力不可能做得雙極那麼大。輸出能力看IC內部輸出極N管P管的面積。和開漏輸出相比,push-pull的高低電平由IC的電源低定,不能簡單的做邏輯操作等。push-pull是現在CMOS電路里面用得最多的輸出級設計方式。 



當然open drain也不是沒有代價,這就是輸出的驅動能力很差。輸出的驅動能力很差的說法不準確,驅動能力取決於IC中的末級晶體管功率。OD只是帶來上升沿的延時,因爲上升沿是通過外接上拉無源電阻對負載充電的,當電阻選擇小時延時就小、但功耗大,反之延時大功耗小。OPEN DRAIN提供了靈活的輸出方式,但也是有代價的,如果對延時有要求,建議用下降沿輸出。



電阻小延時小的前提條件是電阻選擇的原則應在末級晶體管功耗允許範圍內,有經驗的設計者在使用邏輯芯片時,不會選擇1歐姆的電阻作爲上拉電阻。在脈衝的上升沿電源通過上拉無源電阻對負載充電,顯然電阻越小上升時間越短,在脈衝的下降沿,除了負載通過有源晶體管放電外,電源也通過上拉電阻和導通的晶體管對地 形成通路,帶來的問題是芯片的功耗和耗電問題。電阻影響上升沿,不影響下降沿。如果使用中不關心上升沿,上拉電阻就可選擇儘可能的大點,以減少對地通路的 電流。如果對上升沿時間要求較高,電阻大小的選擇應以芯片功耗爲參考。



一.什麼是OC、OD

集電極開路門(集電極開路 OC 或源極開路OD)
open-drain是漏極開路輸出的意思,相當於集電極開路(open-collector)輸出,即ttl中的集電極開路(oc)輸出。一般用於線或、線與,也有的用於電流驅動。
open-drain是對mos管而言,open-collector是對雙極型管而言,在用法上沒啥區別。



二.什麼是線或邏輯與線與邏輯?

線與邏輯,即兩個輸出端(包括兩個以上)直接互連就可以實現“AND”的邏輯功能。在總線傳輸等實際應用中需要多個門的輸出端並聯連接使用,而一般TTL門輸出端並不能直接並接使用,否則這些門的輸出管之間由於低阻抗形成很大的短路電流(灌電流),而燒壞器件。在硬件上,可用OC門或三態門(ST門)來實現。用OC門實現線與,應同時在輸出端口應加一個上拉電阻。
三態門(ST門)主要用在應用於多個門輸出共享數據總線,爲避免多個門輸出同時佔用數據總線,這些門的使能信號(EN)中只允許有一個爲有效電平(如高電平),由於三態門的輸出是推拉式的低阻輸出,且不需接上拉(負載)電阻,所以開關速度比 OC門快,常用三態門作爲輸出緩衝器。




在一個結點(線)上, 連接一個上拉電阻到電源 VCC 或 VDD 和 n 個 NPN 或 NMOS 晶體管的集電極 C 或漏極 D, 這些晶體管的發射極 E 或源極 S 都接到地線上, 只要有一個晶體管飽和, 這個結點(線)就被拉到地線電平上. 
因爲這些晶體管的基極注入電流(NPN)或柵極加上高電平(NMOS), 晶體管就會飽和, 所以這些基極或柵極對這個結點(線)的關係是或非 NOR 邏輯. 如果這個結點後面加一個反相器, 就是或 OR 邏輯.

注:個人理解:線與,接上拉電阻至電源。(~A)&(~B)=~(A+B),由公式較容易理解線與此概念的由來 ;

如果用下拉電阻和 PNP 或 PMOS 管就可以構成與非 NAND 邏輯, 或用負邏輯關係轉換與/或邏輯.

注:線或,接下拉電阻至地。(~A)+(~B)=~(AB);
這些晶體管常常是一些邏輯電路的集電極開路 OC 或源極開路 OD 輸出端. 這種邏輯通常稱爲線與/線或邏輯, 當你看到一些芯片的 OC 或 OD 輸出端連在一起, 而有一個上拉電阻時, 這就是線或/線與了, 但有時上拉電阻做在芯片的輸入端內. 順便提示如果不是 OC 或 OD 芯片的輸出端是不可以連在一起的, 總線 BUS 上的雙向輸出端連在一起是有管理的, 同時只能有一個作輸出, 而其他是高阻態只能輸入.




三.什麼是推輓結構
一般是指兩個三極管分別受兩互補信號的控制,總是在一個三極管導通的時候另一個截止.要實現線與需要用OC(open collector)門電路 .如果輸出級的有兩個三極管,始終處於一個導通、一個截止的狀態,也就是兩個三級管推輓相連,這樣的電路結構稱爲推拉式電路或圖騰柱(Totem-pole)輸出電路。



當輸出低電平時,也就是下級負載門輸入低電平時,輸出端的電流將是下級門灌入T4;當輸出高電平時,也就是下級負載門輸入高電平時,輸出端的電流將是下級門從本級電源經 T3、D1 拉出。這樣一來,輸出高低電平時,T3 一路和 T4 一路將交替工作,從而減低了功耗,提高了每個管的承受能力。又由於不論走哪一路,管子導通電阻都很小,使RC常數很小,轉變速度很快。因此,推拉式輸出級既提高電路的負載能力,又提高開關速度。供你參考。
推輓電路是兩個參數相同的三極管或MOSFET,以推輓方式存在於電路中,各負責正負半周的波形放大任務,電路工作時,兩隻對稱的功率開關管每次只有一個導通,所以導通損耗小效率高。輸出既可以向負載灌電流,也可以從負載抽取電流



推輓電路適用於低電壓大電流的場合,廣泛應用於功放電路和開關電源中。
它的優點是:結構簡單,開關變壓器磁芯利用率高,推輓電路工作時,兩隻對稱的功率開關管每次只有一個導通,所以導通損耗小。
缺點是:變壓器帶有中心抽頭,而且開關管的承受電壓較高;由於變壓器原邊漏感的存在,功率開關管關斷的瞬間,漏源極會產生較大的電壓尖峯,另外輸入電流的紋波較大,因而輸入濾波器的體積較大。



----------------------------------------------------------------

一些基本概念

鎖存器:輸出端的狀態不會隨輸入端的狀態變化而變化,只有在有鎖存信號時輸入的狀態被保存到輸出,直到下一個鎖存信號。通常只有0和1兩個值。典型的邏輯電路是D觸發器。


緩衝器:多用在總線上,提高驅動能力、隔離前後級,緩衝器多半有三態輸出功能。三態緩衝器就是典型的線與邏輯器件,可允許多個器件掛在一條總線上,當然OC輸出也可用在線與邏輯應用上。

建立時間和保持時間


 

圖1

建立時間(setup time)是指在觸發器的時鐘信號上升沿到來以前,數據穩定不變的時間,如果建立時間不夠,數據將不能在這個時鐘上升沿被打入觸發器;保持時間(hold time)是指在觸發器的時鐘信號上升沿到來以後,數據穩定不變的時間,如果保持時間不夠,數據同樣不能被打入觸發器。如圖1。

數據穩定傳輸必須滿足建立和保持時間的要求,當然在一些情況下,建立時間和保持時間的值可以爲零。 PLD/FPGA開發軟件可以自動計算兩個相關輸入的建立和保持時間(如圖2)


競爭、冒險、毛刺


競爭: 在組合邏輯電路中,某個輸入變量通過兩條或兩條以上的途徑傳到輸出端,由於每條途徑延遲時間不同,到達輸出門的時間就有先有後,這種現象稱爲競爭。把不會產生錯誤輸出的競爭的現象稱爲非臨界競爭。把產生暫時性的或永久性錯誤輸出的競爭現象稱爲臨界競爭。


冒險:是指數字電路中某個瞬間出現了非預期信號的現象。“1”冒險是由一個變量的原變量和反變量同時加到與門輸入端造成的。“0”冒險是由一個變量的原變量和反變量同時加到一個或門輸入端造成的。


判別方法:

1代數法:邏輯函數表達式中,若某個變量同時以原變量和反變量兩種形式出現,就具備了競爭條件。去掉其它變量,留下有競爭能力的變量,如果表達式爲:F=A+/A,就會產生“0”冒險;F=A*/A,就會產生“1”冒險。

2卡諾圖法: 只要在卡諾圖中存在兩個相切但不相交的圈(“0”冒險是1構成的圈,“1”冒險是0構成的圈),就會產生冒險。


消除方法:

1修改設計法: 1代數法,在產生冒險現象的邏輯表達式上,加上冗餘項或乘上冗餘因子;2卡諾圖法,將卡諾圖中相切的圈用一個多餘的圈連接起來。

2選通法: 在電路中加入選通信號,在輸出信號穩定後,選通允許輸出,從而產生正確輸出。

濾出法: 由於冒險脈衝是一個非常窄的脈衝,一二可以在輸出端接一個幾百微法的電容,,將其濾出掉。



組合邏輯電路的險象僅在信號狀態改變的時刻出現毛刺,這種冒險是過渡性的,它不會使穩態值偏離正常值,但在時序電路中,冒險是本質的,可導致電路的輸出值永遠偏離正常值或者發生振盪。
  組合邏輯電路的冒險是過渡性冒險,從冒險的波形上,可分爲靜態冒險和動態冒險。
  輸入信號變化前後,輸出的穩態值是一樣的,但在輸入信號變化時,輸出信號產生了毛刺,這種冒險是靜態冒險。若輸出的穩態值爲0,出現了正的尖脈衝毛刺,稱爲靜態0險象。若輸出穩態值爲1,出現了負的尖脈衝毛刺,則稱爲靜態1冒險。
  輸入信號變化前後,輸出的穩態值不同,並在邊沿處出現了毛刺,稱爲動態險象(冒險)。
  從引起冒險的具體原因上,冒險可以分爲函數冒險和邏輯冒險。函數冒險是邏輯函數本身固有的,當多個輸入變量發生變化時,常常會發生邏輯冒險。避免函數冒險的最簡單的方法是同一時刻只允許單個輸入變量發生變化,或者採用取樣的辦法。
  單個輸入變量改變時,不會發生函數冒險,但電路設計不合適時,仍會出現邏輯冒險。通過精心設計,修改電路的結構,可以消除邏輯冒險。



PLD內部毛刺產生的原因

我們在使用分立元件設計數字系統時,由於PCB走線時,存在分佈電感和電容,所以幾納秒的毛刺將被自然濾除,而在PLD內部決無分佈電感和電容,所以在PLD/FPGA設計中,競爭和冒險問題將變的較爲突出。

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