從推輓看STM32的I

从推挽看STM32的I/O接口配置形式

STM32的I/O接口有8種配置方式——

1.GPIO_Mode_AIN 模擬輸入

2.GPIO_Mode_IN_FLOATING 浮空輸入

3.GPIO_Mode_IPD 下拉輸入

4.GPIO_Mode_IPU 上拉輸入

5.GPIO_Mode_Out_OD 開漏輸出

6.GPIO_Mode_Out_PP 推輓輸出

7.GPIO_Mode_AF_OD 複用開漏輸出

8.GPIO_Mode_AF_PP 複用推輓輸出

其中複用和推輓重複出現,今天小編就與各位看官談談什麼是推輓輸入/輸出。

不僅僅stm32有這種配置,實際上,這種方式已經廣泛應用在很多場合(如功放電路中的推輓輸入/輸出)。

推輓,又叫做推拉、互補,是個很形象的名字,一般是指兩個三極管(MOS管)分別受兩互補信號(或者一個信號,但是用互補對管)的控制,總是在一個三極管導通的時候另一個截止,這樣的電路被稱為推輓式(互補式)電路。

从推挽看STM32的I/O接口配置形式

圖為推輓式電路

這種電路在放大中通常被用作輸出級,在STM32中,推輓配置就以下圖中的形式存在。

从推挽看STM32的I/O接口配置形式

圖為STM32中推輓輸出的形式

在相應位置1時,PMOS導通,NMOS截止,輸出電壓為VDD;在相應位置0時,NMOS導通,PMOS截止,輸出電壓為VSS,這就是所謂的推輓。是比較簡單的。

而所謂的開漏(對三極管而言是開集,一樣的原理),則要巧妙一些。所謂開漏電路概念中提到的“漏”就是指MOSFET的漏極。同理,開集電路中的“集”就是指三極管的集電極。開漏電路就是指以MOSFET的漏極為輸出的電路。一般的用法是會在漏極外部的電路添加上拉電阻。完整的開漏電路應該由開漏器件和開漏上拉電阻組成。

對於STM32,開漏就是失能的P-MOS,這樣,當相應位置1時,引腳實際上是處在了浮空的狀態,而通過外接的上拉電阻,將其拉高。這麼做有如下好處:

1、可以將多個開漏輸出的引腳,連接到一條線上。形成“與邏輯”關係。當多個引腳任意一個變低後,開漏線上的邏輯就為0了。這也是I2C,SMBus等總線判斷總線佔用狀態的原理。2、 可以利用改變上拉電源的電壓,改變傳輸電平。這樣我們就可以用低電平邏輯控制輸出高電平邏輯了。如果按通常的想法,使用者認為STM32輸出3.3V電壓,無法驅動IRF540這樣的MOS管,甚至要重新選型,就大錯特錯了。只要將推輓輸出變為開漏,再加上上拉到5V的電阻,就能解決這個問題。

最後補充一點,上拉電阻的阻值決定了邏輯電平轉換的沿的速度。阻值越大,速度越低功耗越小。反之亦然。

小編說得再好,也沒有杜洋老師對STM32的理解深刻。當你徘徊在嵌入式開發的大門外時,杜洋老師將為你指點迷津。由他主講的基於STM32的嵌入式開發系統培訓即將隆重啟幕,掃描下面的二維碼填寫調查問卷,還有機會獲得我們送出的精美書籍,快來行動吧!

从推挽看STM32的I/O接口配置形式从推挽看STM32的I/O接口配置形式


分享到:


相關文章: