RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

STM32的GPIO工作原理詳解

璟琰乀 ? 來源:ittbank ? 作者:ittbank ? 2020-12-18 15:36 ? 次閱讀

STM32的GPIO介紹

STM32引腳說明

GPIO是通用輸入/輸出端口的簡稱,是STM32可控制的引腳。GPIO的引腳與外部硬件設備連接,可實現(xiàn)與外部通訊、控制外部硬件或者采集外部硬件數(shù)據(jù)的功能。

STM32F103ZET6芯片為144腳芯片,包括7個通用目的的輸入/輸出口(GPIO)組,分別為GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG,同時每組GPIO口組有16個GPIO口。通常簡略稱為PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x為0-15。

STM32的大部分引腳除了當GPIO使用之外,還可以復用位外設功能引腳(比如串口),這部分在【STM32】STM32端口復用和重映射(AFIO輔助功能時鐘) 中有詳細的介紹。

GPIO基本結(jié)構

每個GPIO內(nèi)部都有這樣的一個電路結(jié)構,這個結(jié)構在本文下面會具體介紹。

rAZJBb.jpeg

這邊的電路圖稍微提一下:

保護二極管:IO引腳上下兩邊兩個二極管用于防止引腳外部過高、過低的電壓輸入。當引腳電壓高于VDD時,上方的二極管導通;當引腳電壓低于VSS時,下方的二極管導通,防止不正常電壓引入芯片導致芯片燒毀。但是盡管如此,還是不能直接外接大功率器件,須加大功率及隔離電路驅(qū)動,防止燒壞芯片或者外接器件無法正常工作。

P-MOS管和N-MOS管:由P-MOS管和N-MOS管組成的單元電路使得GPIO具有“推挽輸出”和“開漏輸出”的模式。這里的電路會在下面很詳細地分析到。

TTL肖特基觸發(fā)器:信號經(jīng)過觸發(fā)器后,模擬信號轉(zhuǎn)化為0和1的數(shù)字信號。但是,當GPIO引腳作為ADC采集電壓的輸入通道時,用其“模擬輸入”功能,此時信號不再經(jīng)過觸發(fā)器進行TTL電平轉(zhuǎn)換。ADC外設要采集到的原始的模擬信號。

這里需要注意的是,在查看《STM32中文參考手冊V10》中的GPIO的表格時,會看到有“FT”一列,這代表著這個GPIO口時兼容3.3V和5V的;如果沒有標注“FT”,就代表著不兼容5V。

STM32的GPIO工作方式

GPIO支持4種輸入模式(浮空輸入、上拉輸入、下拉輸入、模擬輸入)和4種輸出模式(開漏輸出、開漏復用輸出、推挽輸出、推挽復用輸出)。同時,GPIO還支持三種最大翻轉(zhuǎn)速度(2MHz、10MHz、50MHz)。

每個I/O口可以自由編程,但I/O口寄存器必須按32位字被訪問。

GPIO_Mode_AIN 模擬輸入

GPIO_Mode_IN_FLOATING 浮空輸入

GPIO_Mode_IPD 下拉輸入

GPIO_Mode_IPU 上拉輸入

GPIO_Mode_Out_OD 開漏輸出

GPIO_Mode_Out_PP 推挽輸出

GPIO_Mode_AF_OD 復用開漏輸出

GPIO_Mode_AF_PP 復用推挽輸出

下面將具體介紹GPIO的這八種工作方式:

浮空輸入模式

mAFJJv.jpeg

浮空輸入模式下,I/O端口的電平信號直接進入輸入數(shù)據(jù)寄存器。也就是說,I/O的電平狀態(tài)是不確定的,完全由外部輸入決定;如果在該引腳懸空(在無信號輸入)的情況下,讀取該端口的電平是不確定的。

上拉輸入模式

aqmyYb.jpeg

上拉輸入模式下,I/O端口的電平信號直接進入輸入數(shù)據(jù)寄存器。但是在I/O端口懸空(在無信號輸入)的情況下,輸入端的電平可以保持在高電平;并且在I/O端口輸入為低電平的時候,輸入端的電平也還是低電平。

下拉輸入模式

rQB7rm.jpeg

下拉輸入模式下,I/O端口的電平信號直接進入輸入數(shù)據(jù)寄存器。但是在I/O端口懸空(在無信號輸入)的情況下,輸入端的電平可以保持在低電平;并且在I/O端口輸入為高電平的時候,輸入端的電平也還是高電平。

模擬輸入模式

vqIjIb.jpeg

模擬輸入模式下,I/O端口的模擬信號(電壓信號,而非電平信號)直接模擬輸入到片上外設模塊,比如ADC模塊等等。

開漏輸出模式

viu6Ff.jpeg

開漏輸出模式下,通過設置位設置/清除寄存器或者輸出數(shù)據(jù)寄存器的值,途經(jīng)N-MOS管,最終輸出到I/O端口。這里要注意N-MOS管,當設置輸出的值為高電平的時候,N-MOS管處于關閉狀態(tài),此時I/O端口的電平就不會由輸出的高低電平?jīng)Q定,而是由I/O端口外部的上拉或者下拉決定;當設置輸出的值為低電平的時候,N-MOS管處于開啟狀態(tài),此時I/O端口的電平就是低電平。同時,I/O端口的電平也可以通過輸入電路進行讀?。蛔⒁?,I/O端口的電平不一定是輸出的電平。

開漏復用輸出模式

UryMZj.jpeg

開漏復用輸出模式,與開漏輸出模式很是類似。只是輸出的高低電平的來源,不是讓CPU直接寫輸出數(shù)據(jù)寄存器,取而代之利用片上外設模塊的復用功能輸出來決定的。

總結(jié)與分析

1、什么是推挽結(jié)構和推挽電路?

推挽結(jié)構一般是指兩個參數(shù)相同的三極管或MOS管分別受兩互補信號的控制,總是在一個三極管或MOS管導通的時候另一個截止。高低電平由輸出電平?jīng)Q定。

推挽電路是兩個參數(shù)相同的三極管或MOSFET,以推挽方式存在于電路中,各負責正負半周的波形放大任務。電路工作時,兩只對稱的功率開關管每次只有一個導通,所以導通損耗小、效率高。輸出既可以向負載灌電流,也可以從負載抽取電流。推拉式輸出級既提高電路的負載能力,又提高開關速度。

2、開漏輸出和推挽輸出的區(qū)別?

開漏輸出:只可以輸出強低電平,高電平得靠外部電阻拉高。輸出端相當于三極管的集電極。適合于做電流型的驅(qū)動,其吸收電流的能力相對強(一般20ma以內(nèi));

推挽輸出:可以輸出強高、低電平,連接數(shù)字器件。

關于推挽輸出和開漏輸出,最后用一幅最簡單的圖形來概括:

amAZvu.jpeg

該圖中左邊的便是推挽輸出模式,其中比較器輸出高電平時下面的PNP三極管截止,而上面NPN三極管導通,輸出電平VS+;當比較器輸出低電平時則恰恰相反,PNP三極管導通,輸出和地相連,為低電平。右邊的則可以理解為開漏輸出形式,需要接上拉。

3、在STM32中選用怎樣選擇I/O模式?

浮空輸入_IN_FLOATING ——浮空輸入,可以做KEY識別,RX1

帶上拉輸入_IPU——IO內(nèi)部上拉電阻輸入

帶下拉輸入_IPD—— IO內(nèi)部下拉電阻輸入

模擬輸入_AIN ——應用ADC模擬輸入,或者低功耗下省電

開漏輸出_OUT_OD ——IO輸出0接GND,IO輸出1,懸空,需要外接上拉電阻,才能實現(xiàn)輸出高電平。當輸出為1時,IO口的狀態(tài)由上拉電阻拉高電平,但由于是開漏輸出模式,這樣IO口也就可以由外部電路改變?yōu)榈碗娖交虿蛔儭?梢宰xIO輸入電平變化,實現(xiàn)C51的IO雙向功能

推挽輸出_OUT_PP ——IO輸出0-接GND, IO輸出1 -接VCC,讀輸入值是未知的

復用功能的推挽輸出_AF_PP ——片內(nèi)外設功能(I2C的SCL、SDA)

復用功能的開漏輸出_AF_OD——片內(nèi)外設功能(TX1、MOSI、MISO.SCK.SS)

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 電路
    +關注

    關注

    172

    文章

    5901

    瀏覽量

    172129
  • STM32
    +關注

    關注

    2270

    文章

    10895

    瀏覽量

    355721
  • GPIO
    +關注

    關注

    16

    文章

    1204

    瀏覽量

    52051
收藏 人收藏

    評論

    相關推薦

    DDR5內(nèi)存的工作原理詳解 DDR5和DDR4的主要區(qū)別

    DDR5內(nèi)存的工作原理詳解 1. DDR5內(nèi)存簡介 DDR5(Double Data Rate 5)是第五代雙倍數(shù)據(jù)速率同步動態(tài)隨機存取存儲器(SDRAM)。它是DDR4的后續(xù)產(chǎn)品,提供更高
    的頭像 發(fā)表于 11-22 15:38 ?686次閱讀

    GPIO內(nèi)部電路的原理

    前言 筆者近日在B站刷到了一個視頻,使我對GPIO的I/O口內(nèi)部基本結(jié)構以及工作原理有了恍然大明白的理解,現(xiàn)在對此做一個總結(jié),并為大家推薦該視頻Keysking 【STM32GPIO
    的頭像 發(fā)表于 11-20 09:24 ?287次閱讀
    <b class='flag-5'>GPIO</b>內(nèi)部電路的原理

    stm32 GPIO中斷配置教程

    在嵌入式開發(fā)中,STM32微控制器因其高性能和豐富的外設而廣受歡迎。GPIO(通用輸入/輸出)中斷是STM32微控制器中常用的功能之一,它允許開發(fā)者在特定引腳上檢測到外部信號變化時快速響應。 1.
    的頭像 發(fā)表于 11-19 15:53 ?674次閱讀

    STM32 GPIO的八種工作模式

    GPIO (general purpose input output)是通用輸入輸出端口的簡稱,簡單來說就是軟件可控制的引腳,STM32芯片的GPIO引腳與外部設備連接起來,從而實現(xiàn)與外部通訊、控制以及數(shù)據(jù)采集的功能。
    的頭像 發(fā)表于 11-06 09:40 ?505次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>的八種<b class='flag-5'>工作</b>模式

    輔助電源的工作原理

     輔助電源的工作原理主要涉及在主電源發(fā)生故障或不穩(wěn)定時,自動切換到備用電源,以保證設備的持續(xù)供電。以下是關于輔助電源工作原理的詳細解釋:
    的頭像 發(fā)表于 10-21 14:56 ?370次閱讀

    鋅銀電池的工作原理

    鋅銀電池的工作原理主要基于鋅和銀兩種金屬之間的氧化還原反應。以下是鋅銀電池工作原理的詳細解釋:
    的頭像 發(fā)表于 10-03 14:59 ?1190次閱讀

    STM32 GPIO八種模式及工作原理詳解

    一. 前言 ??GPIO全稱General Purpose Input Output,是微控制數(shù)字輸入/輸出的基本模塊,可以實現(xiàn)微控制器與外部環(huán)境的數(shù)字進行交換。借助GPIO微控制器可以實現(xiàn)對外
    的頭像 發(fā)表于 07-22 09:32 ?6199次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>八種模式及<b class='flag-5'>工作原理</b><b class='flag-5'>詳解</b>

    變壓器的種類與工作原理詳解

    變壓器作為電力系統(tǒng)中不可或缺的重要設備,其主要功能是改變交流電壓的大小。無論是在電力傳輸、分配,還是在工業(yè)生產(chǎn)、日常生活等領域,變壓器都發(fā)揮著至關重要的作用。本文將詳細探討變壓器的種類和工作原理,以期為讀者提供一個全面且深入的理解。
    的頭像 發(fā)表于 05-22 15:42 ?869次閱讀

    頻率計的工作原理和分類詳解

    在電子工程、通信和科研領域,頻率計是一種不可或缺的電子測量儀器。它以其高精度、高速度和高分辨率的頻率測量能力,為科研和工程實踐提供了極大的便利。本文將深入解析頻率計的工作原理,并詳細介紹其分類,以期為讀者提供全面而深入的了解。
    的頭像 發(fā)表于 05-15 16:52 ?2386次閱讀

    什么是GPIO?GPIO組成原理

    GPIO全拼叫General Purpose Input Output(通用輸入輸出)簡稱IO口也叫總線擴展器,GPIO口是由引腳,功能寄存器組成,不同的架構中的GPIO封裝不同,所使用的引腳數(shù)與寄存器數(shù)不同,具體可以參考芯片手
    發(fā)表于 04-28 12:30 ?6892次閱讀
    什么是<b class='flag-5'>GPIO</b>?<b class='flag-5'>GPIO</b>組成原理

    霍爾開關的工作原理及應用

    霍爾開關的工作原理及應用
    的頭像 發(fā)表于 04-09 10:29 ?3107次閱讀
    霍爾開關的<b class='flag-5'>工作原理</b>及應用

    IGBT器件的結(jié)構和工作原理

    IGBT器件的結(jié)構和工作原理
    的頭像 發(fā)表于 02-21 09:41 ?1797次閱讀
    IGBT器件的結(jié)構和<b class='flag-5'>工作原理</b>

    TTL與非門典型電路及其工作原理詳解

    TTL與非門是數(shù)字電路中常用的邏輯門之一,它可以實現(xiàn)兩個輸入信號的邏輯與非運算。TTL與非門的電路結(jié)構比較簡單,但是工作原理卻比較復雜,需要了解其內(nèi)部電路結(jié)構和工作過程。
    的頭像 發(fā)表于 02-17 15:35 ?9477次閱讀
    TTL與非門典型電路及其<b class='flag-5'>工作原理</b><b class='flag-5'>詳解</b>

    ev電機的工作原理是什么

    作為電動汽車的核心部件,電動機(EV電機)的工作原理是實現(xiàn)車輛驅(qū)動力的轉(zhuǎn)換,將電能轉(zhuǎn)變?yōu)闄C械能。EV電機的工作原理主要包括電磁感應定理、電磁場、電流控制等方面。下面將從原理、結(jié)構和工作過程三個方面來
    的頭像 發(fā)表于 01-08 10:04 ?1507次閱讀

    stm32最高工作頻率是多少

    STM32是一款基于ARM Cortex-M內(nèi)核的高性能微控制器,由STMicroelectronics公司生產(chǎn)。它具有豐富的外設和功能,廣泛應用于各種嵌入式系統(tǒng)開發(fā)。本文將介紹STM32的最高工作
    的頭像 發(fā)表于 01-03 15:54 ?4219次閱讀
    RM新时代网站-首页