{嵌入式stm32}之關於GPIO的輸入輸出

來源:互聯網
上載者:User

開漏輸出就是不輸出電壓,低電平時接地,高電平時不接地。如果外接上拉電阻,則在輸出高電平時電壓會拉到上拉電阻的電源電壓。

這種方式適合在串連的外設電壓比單片機電壓低的時候。

開漏輸出:輸出端相當於三極體的集電極. 要得到高電平狀態需要上拉電阻才行. 適合於做電流型的驅動,其吸收電流的能力相對強(一般20ma以內).

       推挽輸出就是單片機引腳可以直接輸出高電平電壓。低電平時接地,高電平時輸出單片機電源電壓。這種方式可以不接上拉電阻。但如果輸出端可能會接地的話,這個時候輸出高電平可能引發單片機運行不穩定,甚至可能燒壞引腳。

>>推挽輸出:可以輸出高,低電平,串連數字器件

IO配置輸入的時候有你說的三種模式外還有類比輸入。
上拉輸入模式:區別在於沒有輸入訊號的時候預設輸入高電平(因為有弱上拉)。
下拉輸入模式:區別在於沒有輸入訊號的時候預設輸入低電平(因為有弱下拉)。
浮空輸入模式顧名思義也就是輸入什麼訊號才是什麼訊號,對於浮空輸入要保證有明確的輸入訊號。

以下是轉載。。。。。。。。http://bbs.ednchina.com/BLOG_ARTICLE_159008.HTM

推挽輸出與開漏輸出的區別:

>>推挽輸出:可以輸出高,低電平,串連數字器件

>>開漏輸出:輸出端相當於三極體的集電極. 要得到高電平狀態需要上拉電阻才行. 適合於做電流型的驅動,其吸收電流的能力相對強(一般20ma以內).

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////          三極體的開漏輸出有什麼特性,和推挽是不是一回事,

問題:

    很多晶片的供電電壓不一樣,有3.3v和5.0v,需要把幾種IC的不同口串連在一起,是不是直接連接就可以了?實際上系統是應用在I2C上面。

簡答: 

1、部分3.3V器件有5V相容性,可以利用這種容性直接連接

2、應用電壓轉換器件,如TPS76733就是5V輸入,轉換成3.3V、1A輸出。

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


開漏電路特點及應用


    在電路設計時我們常常遇到開漏(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決定。這樣我們就可以用低電平邏輯控制輸出高電平邏輯了。

4. 開漏Pin不串連外部的上拉電阻,則只能輸出低電平(因此對於經典的51單片機的P0口而言,要想做輸入輸出功能必須加外部上拉電阻,否則無法輸出高電平邏輯)。

5. 標準的開漏腳一般只有輸出的能力。添加其它的判斷電路,才能具備雙向輸入、輸出的能力。


應用中需注意:

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

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


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

at91rm9200 GPIO 類比I2C介面時注意!!


一.什麼是OC、OD


集電極開路門(集電極開路 OC 或源極開路OD)

open-drain是漏極開路輸出的意思,相當於集電極開路(open-collector)輸出,即ttl中的集電極開路(oc)輸出。一般用於線或、線與,也有的用於電流驅動。

open-drain是對mos管而言,open-collector是對雙極型管而言,在用法上沒啥區別。

開漏形式的電路有以下幾個特點:

1.利用外部電路的驅動能力,減少IC內部的驅動。 或驅動比晶片電源電壓高的負載.

2.可以將多個開漏輸出的Pin,串連到一條線上。通過一隻上拉電阻,在不增加任何器件的情況下,形成“與邏輯”關係。這也是I2C,SMBus等匯流排判斷匯流排佔用狀態的原理。如果作為圖騰輸出必須接上拉電阻。接容性負載時,下降延是晶片內的晶體管,是有源驅動,速度較快;上升延是無源的外接電阻,速度慢。如果要求速度高電阻選擇要小,功耗會大。所以負載電阻的選擇要兼顧功耗和速度。

3.可以利用改變上拉電源的電壓,改變傳輸電平。例如加上上拉電阻就可以提供TTL/CMOS電平輸出等。

4.開漏Pin不串連外部的上拉電阻,則只能輸出低電平。一般來說,開漏是用來串連不同電平的器件,匹配電平用的。

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


6.由於漏級開路,所以後級電路必須接一上拉電阻,上拉電阻的電源電壓就可以決定輸出電平。這樣你就可以進行任意電平的轉換了。

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


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


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


   在一個結點(線)上, 串連一個上拉電阻到電源 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,以推挽方式存在於電路中,各負責正負半周的波形放大任務,電路工作時,兩隻對稱的功率開關管每次只有一個導通,所以導通損耗小 效率高。


輸出既可以向負載灌電流,也可以從負載抽取電流


呵呵,就這麼多.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.