|
njbepwdkak564018159045.gif (1.67 KB, 下載次數(shù): 0)
下載附件
保存到相冊
njbepwdkak564018159045.gif
2024-9-19 11:00 上傳
, t3 K- a5 x: ~/ e" c) r% i- F點(diǎn)擊上方名片關(guān)注了解更多
8 p _0 D6 z6 Z6 `4 e) k _% ~! e) [9 \
3 D0 g, N8 y6 }! [今天詳細(xì)總結(jié)一下STM32單片機(jī)I/O的8種工作模式,讓大家在以后的設(shè)計(jì)中事半功倍。% V8 G1 w1 A0 u) n% C% l) Y& g
什么是GPIO?說到這8種工作模式之前,先通俗的解釋下GPIO的概念—通用輸入輸出 General Purpose Input Output 簡稱GPIO,就是芯片引腳可以通過它們輸出高、低電平,也可以通過他們輸入、讀取引腳的電壓、電平狀態(tài)。, v) `2 q% R- a8 a0 ~7 r
接下來講解的8種工作模式,我們以下圖為例進(jìn)行分析介紹,讀懂這張圖,大家基本就可以完全理解STM32的GPIO了。+ W* P1 O5 l/ M: }8 P# \- M, [
gvfxwsqmlzl64018159145.png (66.98 KB, 下載次數(shù): 0)
下載附件
保存到相冊
gvfxwsqmlzl64018159145.png
2024-9-19 11:00 上傳
- M; ^' Y5 |2 f' c
四種不同的輸出模式推挽輸出:( C0 ~* ~4 `% J
此模式的引腳可輸出高低電平,用于連接和驅(qū)動(dòng)數(shù)字設(shè)備。關(guān)于推挽,部分讀者可能有些疑惑,其實(shí)是將兩個(gè)參數(shù)相同的NPN、PNP三極管或NMOS、PMOS管以推挽形式布局于電路中,分別擔(dān)當(dāng)正負(fù)半周波形的放大任務(wù)。兩對稱管僅有一個(gè)導(dǎo)通,損耗低且效率高,既能提升電路的帶載能力,亦可提高開關(guān)速度。電路如圖所示,讀者可在IO內(nèi)部圖中進(jìn)行對照查找。& |8 S4 Z: w7 e+ A c
lmsgmrd2xxe64018159251.png (29.54 KB, 下載次數(shù): 0)
下載附件
保存到相冊
lmsgmrd2xxe64018159251.png
2024-9-19 11:00 上傳
: ]2 {3 h @& O/ p& K6 h3 ?& l
開漏輸出:
% ]" c- x- Y/ G) `' a2 a此模式下,引腳模擬 NMOS 的漏極,關(guān)閉 PMOS以消除其影響。此時(shí)該引腳僅能輸出低電平,需加接上拉電阻以獲得高電平。有人可能質(zhì)疑,這種方式不如推挽輸出實(shí)用。然而,開漏輸出具備獨(dú)特優(yōu)勢,例如:1、適用于連接主控電平不匹配的器件,只需將上拉電阻的上拉端連接至對方電平;2、以小博大,借助外部電路驅(qū)動(dòng)能力,降低內(nèi)部電流需求,內(nèi)部僅需較小柵極驅(qū)動(dòng)電流。但需注意,由于上拉電阻的存在,可能導(dǎo)致上升沿延遲,詳情請參閱我之前關(guān)于電平匹配的文章。0 n' @/ K; a9 H! j, n" Y9 s1 o2 A5 f
hvdc4thgc4464018159351.png (28.59 KB, 下載次數(shù): 0)
下載附件
保存到相冊
hvdc4thgc4464018159351.png
2024-9-19 11:00 上傳
. F: a- ^1 U) o1 f; r
復(fù)用推挽輸出、復(fù)用開漏輸出:顧名思義該模式下就是將引腳復(fù)用為其他功能,不再是簡單的GPIO。像我們常用的UART、SPI等的輸出引腳就是復(fù)用的推挽輸出,而我們常用的I2C就是復(fù)用的開漏輸出,這時(shí)大家就應(yīng)該知道為什么我們在用I2C的時(shí)候需要上拉電阻了吧。這里給大家埋個(gè)伏筆——用I2C時(shí)為什么要開漏呢?9 L4 [2 i& ~. _; y7 Q0 d
四種不同的輸入模式在這里我們來探討一種常見的輸入模式——“浮空輸入”,該模式主要用于檢測外部設(shè)備(如按鍵)所處的高/低電平狀態(tài)。具體解釋如下,當(dāng)處在“浮空輸入”模式時(shí),上拉電阻和下拉電阻均未與輸入端相連,使得引腳的電平狀態(tài)變得未知。若在此情況下讀取數(shù)據(jù)便會(huì)發(fā)現(xiàn)其毫無意義。為了避免此類問題,建議在實(shí)際應(yīng)用中務(wù)必確保引腳處于正確的連接狀態(tài)。8 P8 O+ F; x7 n E {# ~
owwxwkr5bbw64018159451.png (150.1 KB, 下載次數(shù): 0)
下載附件
保存到相冊
owwxwkr5bbw64018159451.png
2024-9-19 11:00 上傳
; C% i9 O a; S1 s( U上拉、下拉輸入:基本看名字大家就已經(jīng)知道這種模式是怎么回事了,上圖中如果上面紅圈電阻接入就是上拉輸入,下面紅圈電阻接入就是下拉輸入。上一段我說過按鍵輸入檢測用浮空輸入模式,如果用上拉、下拉模式就更簡單了,就可以省掉外部的上下拉電阻節(jié)約項(xiàng)目成本。
, ^$ O$ i, Z8 e模擬輸入:這個(gè)模式也是我們非常常用的了,那就是引腳設(shè)置為STM32內(nèi)部ADC的模擬信號輸入。值得注意的是這種模式就不是所有的IO都有的功能了,需要帶ADC的IO口才可以設(shè)置。
G9 N! ~7 X8 u: g補(bǔ)充說明針對IO引腳內(nèi)的兩個(gè)保護(hù)二極管,先前認(rèn)為其作用為鉗位。然而,在參加ST的研討會(huì)時(shí),官方明確表示并非用于鉗位,而是用于ESD防護(hù)。當(dāng)引腳用作ADC輸入時(shí),模擬信號不得超過3.6V,否則將導(dǎo)致?lián)p壞。
3 t( H4 w$ q' S1 g$ p3 ~1 `! m盡管芯片引腳內(nèi)置二極管保護(hù),但建議在設(shè)計(jì)時(shí),若引腳需引出板外,應(yīng)額外添加TVS二極管以增強(qiáng)防護(hù)。由于引腳暴露在外,易受靜電等環(huán)境因素影響。例如,下載接口在空間允許的情況下,常配備SOT-23的TVS二極管進(jìn)行保護(hù)。1 E; z5 ^8 {3 M/ c- g
總結(jié)到這里大家會(huì)發(fā)現(xiàn)今天所講的全都是硬件層面的,大家從硬件層面搞懂這幾種模式,軟件上就簡單了,按照datasheet上面的說明進(jìn)行配置就可以了。
; n8 [3 \9 N- ~
w2zarvxcc2m64018159551.jpg (281.39 KB, 下載次數(shù): 0)
下載附件
保存到相冊
w2zarvxcc2m64018159551.jpg
2024-9-19 11:00 上傳
% x4 A" M9 j8 C0 T2 Y
u0ohcy3ijbm64018159651.jpg (168.38 KB, 下載次數(shù): 0)
下載附件
保存到相冊
u0ohcy3ijbm64018159651.jpg
2024-9-19 11:00 上傳
( U q" _# f$ l: ]聲明: e T5 q {6 P" q
聲明:文章來源網(wǎng)絡(luò)。本號對所有原創(chuàng)、轉(zhuǎn)載文章的陳述與觀點(diǎn)均保持中立,推送文章僅供讀者學(xué)習(xí)和交流。文章、圖片等版權(quán)歸原作者享有,如有侵權(quán),聯(lián)系刪除。投稿/招聘/推廣/宣傳/技術(shù)咨詢 請加微信:woniu26a推薦閱讀▼
7 ^# B; [' E, Z m& v; L) O3 M, E電路設(shè)計(jì)-電路分析4 s: x! [" o6 \
emc相關(guān)文章) C- { \* U3 }! |2 N
電子元器件2 [9 F6 g6 Q6 U5 s- ]1 T
后臺回復(fù)“加群”,管理員拉你加入同行技術(shù)交流群。 |
|