整理下之前的筆記:簡談推挽電路
要理解推挽輸出,首先要理解好三極管(晶體管)的原理。下面這種三極管有三個端口,分別是基極(Base)、集電極(Collector)和發射極(Emitter)。下圖是NPN型晶體管。
這種三極管是電流控制型元器件,注意關鍵詞電流控制。意思就是說,只要基極B有輸入(或輸出)電流就可以對這個晶體管進行控制了。
下面請允許我換一下概念,把基極B視為控制端,集電極C視為輸入端,發射極E視為輸出端。這里輸入輸出是指電流流動的方向。
當控制端有電流輸入的時候,就會有電流從輸入端進入並從輸出端流出。
而PNP管正好相反,當有電流從控制端流出時,就會有電流從輸入端流到輸出端。
那么推挽電路:
上面的三極管是N型三極管,下面的三極管是P型三極管,請留意控制端、輸入端和輸出端。
當Vin電壓為V+時,上面的N型三極管控制端有電流輸入,Q3導通,於是電流從上往下通過,提供電流給負載。
經過上面的N型三極管提供電流給負載(Rload),這就叫「推」。
當Vin電壓為V-時,下面的三極管有電流流出,Q4導通,有電流從上往下流過。
經過下面的P型三極管提供電流給負載(Rload),這就叫「挽」。
以上,這就是推挽(push-pull)電路。
那么什么是開漏呢?這個在我答案一開頭給出的「網上資料」里講得很詳細了,我這里也簡單寫一下。
要理解開漏,可以先理解開集。
如圖,開集的意思,就是集電極C一端什么都不接,直接作為輸出端口。
如果要用這種電路帶一個負載,比如一個LED,必須接一個上拉電阻,就像這樣。
當Vin沒有電流,Q5斷開時,LED亮。當Vin流入電流,Q5導通時,LED滅。
開漏電路,就是把上圖中的三極管換成場效應管(MOSFET)。
N型場效應管各個端口的名稱:
場效應管是電壓控制型元器件,只要對柵極施加電壓,DS就會導通。
結型場效應管有一個特性就是它的輸入阻抗非常大,這意味着:沒有電流從控制電路流出,也沒有電流進入控制電路。沒有電流流入或流出,就不會燒壞控制電路。而雙極型晶體管不同,是電流控制性元器件,如果使用開集電路,可能會燒壞控制電路。這大概就是我們總是聽到開漏電路而很少聽到開集電路的原因吧?因為開集電路被淘汰了。
組成開漏形式的電路有以下幾個特點:
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要求由開漏電路驅動。則我們常見的驅動方式是利用一個三極管組成開集電路來驅動它,即方便又節省成本。
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歐姆的電阻作為上拉電阻。在脈沖的上升沿電源通過上拉無源電阻對負載充電,顯然電阻越小上升時間越短,在脈沖的下降沿,除了負載通過有源晶體管放電外,電源也通過上拉電阻和導通的晶體管對地 形成通路,帶來的問題是芯片的功耗和耗電問題。電阻影響上升沿,不影響下降沿。如果使用中不關心上升沿,上拉電阻就可選擇盡可能的大點,以減少對地通路的 電流。如果對上升沿時間要求較高,電阻大小的選擇應以芯片功耗為參考。