對STM32 IO口推挽,開漏輸出詳解

2021-08-22 13:29:23 字數 2012 閱讀 7522

gpio 是通用輸入輸出埠的簡稱,簡單來說就是 stm32 可控制的引腳,stm32 晶元的 gpio 引腳與外部裝置連線起來,從而實現與外部通訊、控制以及資料採集的功能。stm32晶元的 gpio被分成很多組,每組有 16個引腳,如型號為 stm32f103zet6 型號的晶元有 gpioa、gpiob、gpioc 至 gpiog 共 7 組 gpio,晶元一共 144 個引腳,其中gpio就佔了一大部分,所有的 gpio引腳都有基本的輸入輸出功能。最基本的輸出功能是由 stm32 控制引腳輸出高、低電平,實現開關控制,如把 gpio引腳接入到 led 燈,那就可以控制 led 燈的亮滅,引腳接入到繼電器或三極體,那就可以通過繼電器或三極體控制外部大功率電路的通斷。最基本的輸入功能是檢測外部輸入電平,如把 gpio 引腳連線到按鍵,通過電平高低區分按鍵是否被按下。

通過 gpio 硬體結構框圖,就可以從整體上深入了解 gpio 外設及它的各種應用模式。該圖從最右端看起,最右端就是代表 stm32 晶元引出的 gpio 引腳,其餘部件都位於晶元內部。

1. 保護二極體及上、下拉電阻

引腳的兩個保護二級管可以防止引腳外部過高或過低的電壓輸入,當引腳電壓高於v dd 時,上方的二極體導通,當引腳電壓低於 v ss 時,下方的二極體導通,防止不正常電壓引入晶元導致晶元燒毀。儘管有這樣的保護,並不意味著 stm32的引腳能直接外接大功率驅動器件,如直接驅動電機,強制驅動要麼電機不轉,要麼導致晶元燒壞,必須要加大功率及隔離電路驅動。

我的另一篇博文介紹cmos的認識(結合食用更佳)

2. p-mos 管和 n-mos管

gpio 引腳線路經過兩個保護二極體後,向上流向「輸入模式」結構,向下流向「輸出模式」結構。先看輸出模式部分,線路經過乙個由 p-mos 和 n-mos 管組成的單元電路。這個結構使 gpio具有了「推挽輸出」和「開漏輸出」兩種模式。所謂的推挽輸出模式,是根據這兩個 mos 管的工作方式來命名的。在該結構中輸入高電平時,經過反向後,上方的 p-mos 導通,下方的 n-mos 關閉,對外輸出高電平;而在該結構中輸入低電平時,經過反向後,n-mos 管導通,p-mos 關閉,對外輸出低電平。當引腳高低電平切換時,兩個管子輪流導通,p 管負責灌電流,n 管負責拉電流,使其負載能力和開關速度都比普通的方式有很大的提高。推挽輸出的低電平為 0伏,高電平為 3.3伏,具體參考圖 8-2,它是推挽輸出模式時的等效電路。

而在開漏輸出模式時,上方的 p-mos 管完全不工作。如果我們控制輸出為 0,低電平,則 p-mos 管關閉,n-mos 管導通,使輸出接地,若控制輸出為 1 (它無法直接輸出高電平)時,則 p-mos 管和 n-mos 管都關閉,所以引腳既不輸出高電平,也不輸出低電平,為高阻態。為正常使用時必須外部接上拉電阻,參考圖 8-3 中等效電路。它具有「線與」特性,也就是說,若有很多個開漏模式引腳連線到一起時,只有當所有引腳都輸出高阻態,才由上拉電阻提供高電平,此高電平的電壓為外部上拉電阻所接的電源的電壓。若其中乙個引腳為低電平,那線路就相當於短路接地,使得整條線路都為低電平,0伏。推挽輸出模式一般應用輸出電平為 0 和 3.3 伏而且需要高速切換開關狀態的場合。在 stm32 的應用中,除了必須用開漏模式的場合,我們都習慣使用推挽輸出模式。開漏輸出一般應用在 i2c、smbus 通訊等需要「線與」功能的匯流排電路中。除此之外,還用在電平不匹配的場合,如需要輸出 5 伏的高電平,就可以在外部接乙個上拉電阻,上拉電源為 5 伏,並且把 gpio 設定為開漏模式,當輸出高阻態時,由上拉電阻和電源向外輸出 5伏的電平,具體見圖 8-4。

STM32 IO口工作模式

一 推挽輸出 可以輸出高 低電平,連線數字器件 推挽結構一般是指兩個三極體分別受兩個互補訊號的控制,總是在乙個三極體導通的時候另乙個截止。高低電平由ic的電源決定。推挽電路是兩個引數相同的三極體或mosfet,以推挽方式存在於電路中,各負責正負半周的波形放大任務,電路工作時,兩隻對稱的功率開關管每次...

STM32 IO口模式介紹

gpio mode ain 模擬輸入模式 gpio mode in floating 浮空輸入模式 gpio mode ipd 下拉輸入模式 gpio mode ipu 上拉輸入模式 gpio mode out od 通用開漏輸出模式 gpio mode out pp 通用推挽輸出模式 gpio m...

STM32開漏,推挽的知識

有關推挽輸出 開漏輸出 復用開漏輸出 復用推挽輸出以及上拉輸入 下拉輸入 浮空輸入 模擬輸入區別 有關推挽輸出 開漏輸出 復用開漏輸出 復用推挽輸出 以及上拉輸入 下拉輸入 浮空輸入 模擬輸入的區別 最近在看資料手冊的時候,發現在cortex m3裡,對於gpio的配置種類有8種之多 1 gpio ...