前言 筆者近日在B站刷到了一個(gè)視頻,使我對(duì)GPIO的I/O口內(nèi)部基本結(jié)構(gòu)以及工作原理有了恍然大明白的理解,現(xiàn)在對(duì)此做一個(gè)總結(jié),并為大家推薦該視頻Keysking
前言
GPIO內(nèi)部結(jié)構(gòu)概覽
GPIO內(nèi)部結(jié)構(gòu)詳解
輸出電路
推挽輸出
開漏輸出
輸入電路
總結(jié)
GPIO內(nèi)部結(jié)構(gòu)概覽
結(jié)構(gòu)關(guān)系圖如下圖所示
GPIO內(nèi)部結(jié)構(gòu)詳解
保護(hù)電路
PS:
當(dāng)I/O口為FT 5V容忍時(shí),其上方保護(hù)二極管電壓Vdd = 5V
保護(hù)二極管不能長(zhǎng)期導(dǎo)通,否則會(huì)燒壞保護(hù)二極管。所以保護(hù)電路只能抵御一瞬間的電壓波動(dòng),較長(zhǎng)時(shí)間的電壓波動(dòng)仍會(huì)損壞芯片
輸出電路
推挽輸出
流程圖:
代碼 --》 寄存器 --》 輸出控制器 --》 控制P-MOS/N-MOS的導(dǎo)通與斷開 --》 輸出的電壓
分類討論:
SET置1:P-MOS導(dǎo)通 N-MOS斷開 芯片輸出3.3V(此電壓由芯片輸出,所以推挽輸出有驅(qū)動(dòng)能力
RESET置0:P-MOS斷開 N-MOS導(dǎo)通 芯片輸出0V
開漏輸出
前提:在開漏輸出下,P-MOS一直斷開,所以在圖上我直接將其刪去以簡(jiǎn)化單路
以I/O口外接工作電壓為5v的小燈泡為例
開漏輸出更像是一個(gè)電子開關(guān),小燈泡的工作電壓由小燈泡外接的5V提供(注意,此I/O口需5V容忍)。因?yàn)殡妷河赏獠刻峁蚤_漏輸出無(wú)驅(qū)動(dòng)能力(他只是個(gè)電子開關(guān) 不提供電壓 所以當(dāng)然沒(méi)驅(qū)動(dòng)能力)
分類討論:
SET置1:N-MOS導(dǎo)通 電路通路 小燈泡電壓由外部5V提供 燈亮
RESET置0:N-MOS斷開 電路內(nèi)部高阻態(tài) 電路斷路 無(wú)電流 燈滅
所以,開漏輸出的高電平實(shí)際是高阻態(tài) 無(wú)法輸出電流 無(wú)驅(qū)動(dòng)能力
輸入電路
上下拉電阻:
Pull-up上拉:開關(guān)1閉合,I/O引腳內(nèi)部上拉
Pull-down下拉:開關(guān)2閉合,I/O引腳內(nèi)部下拉
不上拉也不下拉:開關(guān)1、2均不閉合,I/O引腳內(nèi)部浮空 電平不確定
PS:I/O口輸入可以配置內(nèi)部的上下拉電阻,為硬件功能實(shí)現(xiàn)提供了更多的可能(比如KEY按鍵模塊中,如果KEY模塊沒(méi)有配置外部的上拉電阻,則可以通過(guò)自行配置內(nèi)部的上下拉電阻來(lái)實(shí)現(xiàn)功能。具體請(qǐng)參考B站
TTL肖特基觸發(fā)器:
實(shí)際上是模擬電壓 --》 數(shù)字電壓
高低參考電壓之間,維持原本電平信號(hào)不變,以此來(lái)抗噪聲 PS:
Q:為什么沒(méi)有復(fù)用輸入模式?
A:因?yàn)閺?fù)用功能輸入與通用功能輸入可以同時(shí)讀取施密特觸發(fā)器的輸
總結(jié)
對(duì)于GPIO內(nèi)部結(jié)構(gòu)而言,通過(guò)不同的配置可以完成不同的輸入輸出功能
輸出:
代碼 --》 寄存器 --》 輸出控制模塊 --》 控制P-MOS與N-MOS的導(dǎo)通與斷開情況 --》 推挽/開漏輸出
輸入:
I/O口輸入模擬電壓 --》 上下拉電阻 --》 施密特觸發(fā)器 --》 數(shù)字電壓 --》 存儲(chǔ)到輸入數(shù)據(jù)寄存器
-
保護(hù)電路
+關(guān)注
關(guān)注
46文章
891瀏覽量
101693 -
輸出電路
+關(guān)注
關(guān)注
0文章
75瀏覽量
15961 -
GPIO
+關(guān)注
關(guān)注
16文章
1205瀏覽量
52163
原文標(biāo)題:研究了GPIO內(nèi)部電路原理,恍然大悟的理解了
文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論