轉載
3359 blog.csdn.net/hailin 0716/article/details/24333951
一、推挽輸出:
可以輸出高,低電平,連接數字設備; 推挽結構一般是指兩個(gè)晶體管分別由兩個(gè)互補的信號控制,總是一個(gè)晶體管導通時(shí)另一個(gè)截止。 高低等級由集成電路的電源決定。
推挽電路是兩個(gè)參數相同的晶體管或MOSFET,以推挽方式存在于電路中,分別負責正負半周的波形放大。 電路工作時(shí),對稱(chēng)的2根功率開(kāi)關(guān)管一次只導通1個(gè),因此導通損耗小,效率高。 輸出既可以使電流通過(guò)負載,也可以從負載中引出電流。 推挽型輸出級在提高電路負載能力的同時(shí),提高開(kāi)關(guān)速度。
一條三級管開(kāi)通時(shí),另一條斷路由b端確定,
這是對于ab,b的輸出為0的比較器。 對于ab,b輸出為1
b為1時(shí),上邊晶體管導通,下邊截止;
b為0時(shí),下面的晶體管導通,上面的晶體管截止。
這是推挽
二、開(kāi)漏輸出:
當b為1時(shí),該管道導通,OUT接地,輸出為0; b為0時(shí)管導通,OUT連接VCC輸出為1 .
漏極輸出: 一般只能輸出低電平,輸出端子相當于晶體管的集電極。 要得到高電平狀態(tài)需要上拉電阻。 適合電流型驅動(dòng),吸收電流的能力相對較強(通常20ma以?xún)?。
開(kāi)路泄漏形式的電路包括以下特點(diǎn)
利用外部電路的驅動(dòng)能力,減少I(mǎi)C (集成電路,也稱(chēng)為芯片)內部的驅動(dòng)。 IC內部的MOSFET導通時(shí),驅動(dòng)電流從外部的VCC流向R pull-up,從MOSFET流向GND。 IC內部只需要小的柵極驅動(dòng)電流。
一般來(lái)說(shuō),開(kāi)路漏極用于連接不同等級的器件并匹配等級。 開(kāi)路漏極引腳上不連接外部上拉電阻的話(huà),只能輸出低電平,所以需要同時(shí)具備輸出高電平的功能時(shí),需要連接上拉電阻。 具有通過(guò)改變上拉電源的電壓,可以改變傳輸電平的優(yōu)秀優(yōu)點(diǎn)。 例如,如果加上上拉電阻,就可以提供TTL/CMOS電平的輸出等。 (上拉電阻的電阻值決定了邏輯電平轉換的邊沿的速度。 電阻值越大,速度越低,消耗電力越小,因此選擇負載電阻時(shí)請兼顧消耗電力和速度。 )
OPEN-DRAIN提供了靈活的輸出方式,但也有弱點(diǎn)。 帶來(lái)啟動(dòng)的延遲。 由于上升沿通過(guò)外置牽引無(wú)源電阻對負載進(jìn)行充電,所以電阻選擇小時(shí)延遲小,但功耗大,相反延遲大時(shí)功耗小。 需要延遲時(shí),建議在下降沿輸出。
開(kāi)放輸出的多個(gè)Pin可以連接到一條線(xiàn)上。 通過(guò)一個(gè)上拉電阻,在不增加任何器件的情況下形成“邏輯和”的關(guān)系。 這也是I2C、SMBus等總線(xiàn)判斷總線(xiàn)占用狀態(tài)的原理。 補記:什么是“線(xiàn)和”?
在一個(gè)節點(diǎn)(線(xiàn))上,上拉電阻與電源VCC或VDD和n個(gè)NPN或NMOS晶體管集電極c或漏極d連接,這些晶體管的發(fā)射極e或源極s在一個(gè)晶體管飽和時(shí)由于這些晶體管的基極注入電流(NPN )或柵極加上高電平(NMOS )會(huì )使晶體管飽和,因此這些基極或柵極與“節點(diǎn)”線(xiàn)路的關(guān)系是非NOR邏輯。 在該節點(diǎn)后加上變頻器,即為OR邏輯。
實(shí)際上,可以簡(jiǎn)單理解的是,在所有管腳連接時(shí),向外部引入電阻,如果一個(gè)管腳的輸出為邏輯0,則相當于接地,與其并聯(lián)的電路"相當于被一根引線(xiàn)短路",所以外部電路的邏輯電平為0
三、浮空輸入
花癡的哈密瓜漂浮在空中,上面用繩子拉就會(huì )上升,下面用繩子拉就會(huì )下沉。 浮動(dòng)輸入時(shí),很難輸入大電流。 浮動(dòng)輸入、內阻大,需要高電壓。
邏輯器件的輸入端子既不與高電平連接也不與低電平連接。 由于邏輯器件的內部結構,輸入引腳懸浮在空中時(shí),相當于該引腳與高電平連接。 在實(shí)際運用中,不建議引線(xiàn)懸空,容易礙事。
四、上拉輸入/下拉輸入/模擬輸入:
1、上拉輸入:上拉是指提高電位,如上拉至Vcc。 上拉是指通過(guò)電阻將不確定的信號嵌入高電平!
2、下拉輸入:是降低電壓,拉至GND。
3、模擬輸入:模擬輸入是指傳統方式的輸入。 數字輸入是PCM數字信號,即輸入0、1的二進(jìn)制數字信號,被數模轉換為模擬信號,經(jīng)過(guò)前級放大后進(jìn)入功率放大器。
五、復用開(kāi)漏輸出、復用推挽輸出:
.可以理解為當GPIO端口用作第二功能時(shí)的部署情況(也就是說(shuō),不是用作通用IO端口)。
最后總結使用情況。 在STM32中選擇IO模式
)1)浮動(dòng)輸入_IN_FLOATING ——浮動(dòng)輸入可識別KEY,RX1
)2)上拉輸入_IPU——IO帶內部上拉電阻輸入
(3)帶下拉輸入_IPD—— IO內部下拉電阻輸入
(4)模擬輸入_應用_ain——ADC模擬輸入,或實(shí)現低功耗省電
)5)開(kāi)路漏極輸出_OUT_OD ——IO輸出
0 接 GND, IO 輸出 1,懸空,需要外接上拉電阻,才能實(shí)現輸出高電平。當輸出為 1 時(shí), IO 口的狀態(tài)由上拉電阻拉高電平,但由于是開(kāi)漏輸出模式,這樣 IO 口也就可以
由外部電路改變?yōu)榈碗娖交虿蛔???梢宰x IO 輸入電平變化,實(shí)現 C51 的 IO 雙向功能
(6)推挽輸出_OUT_PP ——IO 輸出 0-接 GND, IO 輸出 1 -接 VCC,讀輸入值是未知的
(7)復用功能的推挽輸出_AF_PP ——片內外設功能(I2C 的 SCL,SDA)
(8)復用功能的開(kāi)漏輸出_AF_OD——片內外設功能(TX1,MOSI,MISO.SCK.SS)
STM32 設置實(shí)例:
(1)模擬 I2C 使用開(kāi)漏輸出_OUT_OD,接上拉電阻,能夠正確輸出 0 和 1;讀值時(shí)先
GPIO_SetBits(GPIOB, GPIO_Pin_0);拉高,然后可以讀 IO 的值;使用
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);
(2)如果是無(wú)上拉電阻, IO 默認是高電平;需要讀取 IO 的值,可以使用帶上拉輸入_IPU 和浮空輸入
_IN_FLOATING 和開(kāi)漏輸出_OUT_OD;
通常有 5 種方式使用某個(gè)引腳功能,它們的配置方式如下:
1)作為普通 GPIO 輸入:根據需要配置該引腳為浮空輸入、 帶弱上拉輸入或帶弱下拉輸入,同時(shí)不要使能
該引腳對應的所有復用功能模塊。
2)作為普通 GPIO 輸出:根據需要配置該引腳為推挽輸出或開(kāi)漏輸出,同時(shí)不要使能該引腳對應的所有復
用功能模塊。
3)作為普通模擬輸入:配置該引腳為模擬輸入模式,同時(shí)不要使能該引腳對應的所有復用功能模塊。
4)作為內置外設的輸入:根據需要配置該引腳為浮空輸入、 帶弱上拉輸入或帶弱下拉輸入,同時(shí)使能該引
腳對應的某個(gè)復用功能模塊。
5)作為內置外設的輸出:根據需要配置該引腳為復用推挽輸出或復用開(kāi)漏輸出,同時(shí)使能該引腳對應的所
有復用功能模塊。