GPIO推挽輸出和開漏輸出詳解_第1頁
GPIO推挽輸出和開漏輸出詳解_第2頁
GPIO推挽輸出和開漏輸出詳解_第3頁
GPIO推挽輸出和開漏輸出詳解_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、open-drain 與 push-pull 】GPIO管腳的時候,常會見到兩種模式:開漏( open-drain ,漏極開路)和推挽(push-pull )GPIO的功能,簡單說就是可以根據(jù)自己的需要去配置為輸入或輸岀。但是在配置對此兩種模式,有何區(qū)別和聯(lián)系,下面整理了一些資料,來詳細(xì)解釋一下:圖表 1 Push-Pull 對比 Open-DrainPush-Pull推挽輸出Open-Drain開漏輸出輸岀的器件是指輸岀腳內(nèi)部集成有一對互補的原 MOSFET,當(dāng)Q1導(dǎo)通、Q2截止時輸出高電理 平;而當(dāng)Q1截止導(dǎo)通、Q2導(dǎo)通時輸岀低電平某 老 外 的 更 加 透 徹 的 解 釋Open-dra

2、in 輸出,則是比 push-pull 少了個 top transistor ,只有那個 bottom transistor 。(就像 push-pull 中的那樣)當(dāng) bottom transistor 關(guān)閉,則輸出為高 電平。此處沒法輸岀高電平,想要輸岀高電平,必須外部再接一個上拉電阻(pull-up resistor )。Open-drain只能夠漏電流(sink current ),如果想要集電流(source current ),則需要加一個上拉電阻。開漏電路就是指以 MOSFET的漏極為輸出的電路。指內(nèi)部輸出和地之間有個N溝道的MOSFET (Q1 ),這些器件可以用于電平轉(zhuǎn)換的應(yīng)

3、用。輸出電壓由Vcc'決定。Vcc'可以大于輸入高電平電壓 VCC (up translate )也可以低于輸入高電平電 壓 VCC ( down translate )。Push-pull輸出,實際上內(nèi)部是用了兩個晶體管(transistor ),此處分別稱為 top transistor 和 bottom transistor。通過開關(guān)對應(yīng)的晶體管,輸出對應(yīng)的電平。top transistor打開(bottom transistor關(guān)閉),輸出為高電平;bottom transistor打開(toptransistor 關(guān)閉),輸出低電平。Push-pull 即能夠漏電流(

4、sink current ),又可以集電 流(source current )。其也許有,也許沒有 另夕卜一個狀態(tài):高阻抗( high impedance ) 狀態(tài)。除非Push-pull需要支持額外的高阻抗 狀態(tài),否則不需要額外的上拉電阻。常見的GPIO的模式可以配置為具體實現(xiàn)上,常為通過配置對應(yīng)的寄存器的某些位來配置為drain或是push-pull 。當(dāng)我們通過CPU去設(shè)置那些GPIO的配置寄存器的某位(bit )的時候,其 GPIO硬件IC內(nèi)部的實現(xiàn)是,會 去打開或關(guān)閉對應(yīng)的top transistor。相應(yīng)地,如果設(shè)置為了open-d 模式的話,是需要上拉電阻才能實現(xiàn),也能夠輸出高電

5、平的。因此,如果硬件內(nèi)部(internal )本身包含了對應(yīng)的上拉電阻的話,此時會去關(guān)閉或打開對應(yīng)的上拉電阻。如果GPIO硬件IC內(nèi)部沒有對應(yīng)的上拉電阻的話,那么你的硬件電路中,必須自己提供對應(yīng)的外部(external )的上拉電阻。而 push-pull輸出的優(yōu)勢是速度快,因為線路(line )是以兩種方式驅(qū)動的。而帶了上拉電阻的線路,即使以最快的速度去提升電壓,最快也要一個常量的RXC的時間。其中 R是電阻,C是寄生電容(parasitic capacitance ),包括了 pin腳的電容和板子的電容。但是, push-pull相對的缺 點是往往需要消耗更多的電流,即功耗相對大。而ope

6、n-drain所消耗的電流相對較小,由電阻 R所限制,而R不能太小,因為當(dāng)輸出為低電平的時候,需要sink更低的transistor,這意味著更高的功耗。(此段原文:because the lower transistor has tosink that current when the output is low; that means higher power consumption.)而 open-drain的好處之一是,允許你cshort (?)多個open-drain的電路,公用一個上拉電阻,此種做法稱為wired-OR 連接,此時可以通過拉低任何一個10的pin腳使得輸岀為低電平。

7、為了輸岀高電平,則所有的都輸岀高電平。此種邏輯,就是“線與”的功能,可以不需要額外的門(gate )電路來實現(xiàn)此部分邏輯。原理圖2 push-pull圖表 3 open-drain圖m 二理原C1<reset£6圖表4 open-drain “線與”功能R pgll-ypIEzLaxieih-tESqis ' Q "林I1;Looic 'O'2FIN JI111! IC3丁1IC2 J_Hjrj.de(1)對于各種電壓節(jié)點間的電平轉(zhuǎn)換非常有用,可以用于各種電壓節(jié)點的Up-translate和 down translate 轉(zhuǎn)換優(yōu)占八、(1)可以

8、吸電流,也可以貫電流;(2)和開(2 )可以將多個開漏輸岀的 Pin腳,連接到一條線上,形成與邏輯”關(guān)系,即線與'漏輸出相比,push pull的高低電平由IC的 功能,任意一個變低后,開漏線上的邏輯就為0 了。這也是I2C,SMBus等總線判電源低定,不能簡單的做邏輯操作等。斷總線占用狀態(tài)的原理。(3)利用夕卜部電路的驅(qū)動能力,減少IC內(nèi)部的驅(qū)動。當(dāng)IC內(nèi)部MOSFET導(dǎo)通時,驅(qū)動電流是從外部的VCC流經(jīng)R pull-up ,MOSFET到GND o IC內(nèi)部僅需很下的柵極驅(qū)動電流。(4)可以利用改變上拉電源的電壓,改變傳輸電平: 圖表5 open-drain輸出電平的原理IC的邏輯

9、電平由電源 Vcc1決定,而輸出高電平則由VCC2決定。這樣我們就可以用低電平邏輯控制輸岀高電平邏輯了。開漏Pin不連接外部的上拉電阻,則只能輸出低電平。當(dāng)輸出電平為低時,N溝道缺一條總線上只能有一個push-pull輸出的器點件;三極管是導(dǎo)通的,這樣在 Vcc'和GND之間有一個持續(xù)的電流流過上拉電阻R和三極管Q1。這會影響整個系統(tǒng)的功耗。采用較大值的上拉電阻可以減小電流。但是, 但是大的阻值會使輸出信號的上升時間變慢。即上拉電阻R pull-up的阻值 決定了邏輯電平轉(zhuǎn)換的沿的速度。阻值越大,速度越低功耗越小。反之亦然。在CMOS電路里面應(yīng)該叫CMOS輸出更合適,因為在 CMOS里面的push - pull輸出能 特力不可能做得雙極那么大。輸出能力看IC內(nèi)部點八、輸出極N管P管的面積。push - pull是現(xiàn)在CMOS電路里面用得最多的輸出級設(shè)計方式。【 open-drain 和 push-pull 的總結(jié)】對于GPIO的模式的設(shè)置,在不考慮是否需要額外的上拉電阻的情況下,是設(shè)置為open-drain還是push-pull,說到底,還是個權(quán)衡的問題:如果你想

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論