微資訊!一文詳解GPIO的輸出配置

2023-06-14 17:17:23 來源:硬件系統架構師

GPIO-2---GPIO的輸出配置

引言:GPIO,即General purpose input output,通用輸入輸出端口,是可以根據實際使用場景需求來用軟件來配置的引腳。需要注意的是,一款芯片的引腳分為其實分為很多域,比如僅為芯片供電的引腳群稱為電源域,還有類似復位,地址配置等等稱為邏輯域,還有原生支持I2C,SPI等等通訊的稱為通訊域,搭建小系統用的引腳稱為系統域。本節我們主要講述不具有特定功能的GPIO域。(本節和下節是所有的GPIO配置類型,但有的芯片GPIO不全都支持,這類GPIO叫裁剪型GPIO,使用芯片時需要查看其Pin List,不能默認都是全功能的GPIO)

圖2-1:GPIO的一般結構


(資料圖片)

1.開漏輸出模式

開漏輸出模式為數字輸出,可以輸出引腳電平,高電平為高阻態,低電平接GND。處于開漏輸出模式時,施密特觸發器輸入也會被激活,上下拉電阻被禁止,斷開連接,對輸入數據寄存器的讀訪問可得到IO狀態,出現在IO引腳上的數據在每個APB2時鐘被采樣到輸入數據寄存器。

I2C就是利用引腳高阻態的特性,I2C總線上掛多個從機,當從機不工作時輸出高阻態,總線默認為高電平。

開漏輸出模式時PMOS不工作,輸出寄存器上的0會讓NMOS導通,接地輸出低電平,輸出寄存器上的1會讓NMOS關閉,此時引腳既不輸出高電平也不輸出低電平,為高阻態。所以輸出數據寄存器可控制IO輸出高阻態或者低電平。

圖2-2:開漏輸出模式路徑

2.推挽輸出模式

推挽輸出模式為數字輸出,可以輸出引腳電平,高電平接VDD,低電平接GND。處于推挽輸出模式時,施密特觸發器輸入也會被激活,上下拉電阻被禁止,斷開連接,對輸出數據寄存器的讀訪問可得到最后一次寫的值,出現在IO引腳上的數據在每個APB2時鐘被采樣到輸入數據寄存器。

推挽輸出模式雙MOS管會以輪流的方式工作,輸出寄存器上的0會讓NMOS導通,輸出低電平,輸出寄存器上的1會讓PMOS導通,輸出高電平。

圖2-3:推挽輸出模式路徑

3.復用開漏輸出

在復用開漏輸出模式中,復用功能輸出使能,輸出寄存器無效,輸出信號源來自片上外設,此時輸出速度可配置,輸入可用,通過輸入數據寄存器可獲取IO實際狀態,但一般直接用外設的寄存器來獲取該數據信號。

圖2-4:復用開漏輸出模式路徑

4.復用推挽輸出

在復用推挽輸出模式中,復用功能輸出使能,輸出寄存器無效,輸出信號源來自片上外設,此時輸出速度可配置,輸入可用,通過輸入數據寄存器可獲取IO實際狀態,但一般直接用外設的寄存器來獲取該數據信號。

圖2-5:復用推挽輸出模式路徑

5.小結

在輸出模式下可以控制端口的輸出電平高低,比如用于驅動LED閃爍,控制蜂鳴器,配合輸入模式可以模擬通信接口協議I2C,SPI等等。

標簽:

上一篇:速訊:簡述分立式整流器的整流原理
下一篇:最后一頁