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

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

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

stm32單片機gpio工作原理是怎樣的呢?看完立馬學會了

fcsde-sh ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-11-28 07:32 ? 次閱讀
GPIO的八種工作模式詳解

浮空輸入_IN_FLOATING

帶上拉輸入_IPU

帶下拉輸入_IPD

模擬輸入_AIN

開漏輸出_OUT_OD

推挽輸出_OUT_PP

開漏復用輸出_AF_OD

推挽復用輸出_AF_PP

4輸入 + 2 輸出 + 2 復用輸出,一共是8種模式,以下是八種模式的工作原理

GPIO浮空輸入_IN_FLOATING模式工作原:

以上截圖就是浮空輸入模式的原理圖,圖中陰影的部分在浮空輸入模式下是處于不工作狀態(tài)的,尤其是下半部分的輸出電路,實際上這時的輸出電路與輸入的端口處于隔離狀態(tài)。

黃色的高亮部分顯示了數(shù)據(jù)傳輸通道,外部的電平信號通過左邊編號1的I/O 端口進入STM32內(nèi)部經(jīng)過編號2的施密特觸發(fā)器整形以后送入編號為3的“輸入數(shù)據(jù)寄存器”在“輸入數(shù)據(jù)寄存器”的另一端(編號4) ,CPU通過內(nèi)部的數(shù)據(jù)總線可以隨時讀出I/O 端口的電平變化的狀態(tài)。

GPIO帶上拉輸入_IPU 模式工作原理:

上圖是STM32的GPIO帶上拉輸入模式的原理圖。

與前面介紹的浮空輸入模式相比,僅僅是在數(shù)據(jù)通道上面,接入了一個上拉電阻,根據(jù)STM32的數(shù)據(jù)手冊,這個上拉電阻阻值介于30K~50K 歐姆。同樣,CPU可以隨時在“輸入數(shù)據(jù)寄存器”的另一端,通過內(nèi)部的數(shù)據(jù)總線讀出I/O 端口的電平變化的狀態(tài)。

GPIO帶下拉輸入_IPD 模式工作原理:

對于輸入下拉模式的輸入,是在數(shù)據(jù)通道的下部,接入了一個下拉電阻。

根據(jù)STM32的數(shù)據(jù)手冊,這個下拉電阻阻值也是介于30K~50K 歐姆。

對于要加上拉或下拉電阻:

1.當作單片機作為輸入時,假設(shè)我們直接在IO端口接一個按鍵到地(或電源)。

因為按鍵按,于不按管腳都是懸空的。單片機就很難檢測按鍵是否按下。

所以人為的接一個上拉(或下拉)。以確定未按下的時候IO輸入電平的狀態(tài)

2.可以提高芯片的抗干擾能

3.當單片機的IO口作輸出時,如果不接上拉電阻只能提供灌電流。無法輸出電流驅(qū)動外接設(shè)備。這時也需要考慮上拉電阻。這樣才可以使IO輸出高電平

GPIO模擬輸入_AIN 模式工作原理:

如果把STM32配置為模擬輸入模式時,工作原理就比較簡單了,信號從左邊編號為1 的端口進從右邊編號為2的一端直接進入STM32單片機的AD模塊。

細心的朋友可以看到數(shù)據(jù)通道中上拉、下拉電阻和施密特觸發(fā)器,這時均處于關(guān)斷的狀態(tài),“輸入數(shù)據(jù)寄存器”就不能反映IO端口上的電平變化的狀態(tài)了,換句話說,也就是在模擬輸入狀態(tài)下,CPU不能通過“輸入數(shù)據(jù)寄存器”讀到IO端口變化的數(shù)據(jù)了。

以上分析的是GPIO模塊IO引腳的輸入模式的工作原理,下面介紹一下GPIO輸出模式的工作原理

GPIO開漏輸出_OUT_OD 模式工作原理

上圖是GPIO開漏輸出模式的工作原理圖

當CPU 在編號1 端通過“位設(shè)置/ 清除寄存器”或“輸出數(shù)據(jù)寄存器”寫入數(shù)據(jù)后

該數(shù)據(jù)位將通過編號2的輸出控制電路傳送到編號4 的I/O端口。

如果CPU 寫入的是邏輯“1 ”,則編號3 的N-MOS管將處于關(guān)閉狀態(tài)

此時I/O 端口的電平將由外部的上拉電阻決定

如果CPU 寫入的是邏輯“0 ”,則編號3的N-MOS管將處于開啟狀態(tài)

此時I/O端口的電平被編號3 的N-MOS管拉到了“地”的零電位。

在圖中的上半部,施密特觸發(fā)器處于開啟狀態(tài)

這意味著CPU 可以在“輸入數(shù)據(jù)寄存器”的另一端,隨時可以監(jiān)控I/O端口的狀態(tài)

通過這個特性,還可以實現(xiàn)了虛擬的I/O端口雙向通信:假如CPU 輸出邏輯“1 ”

由于編號3 的N-MOS管處于關(guān)閉狀態(tài),I/O 端口的電平將完全由外部電路決定

因此,CPU 可以在“輸入數(shù)據(jù)寄存器”讀到外部電路的信號,而不是它自己輸出的邏輯“1 ”

GPIO口的輸出模式下,有3 種輸出速度可選(2MHz 、10MHz和50MHz)

這個速度是指GPIO口驅(qū)動電路的響應(yīng)速度,而不是輸出信號的速度

輸出信號的速度與程序有關(guān)(芯片內(nèi)部在I/O口的輸出部分安排了多個響應(yīng)速度不同的輸出驅(qū)動電路用戶可以根據(jù)自己的需要選擇合適的驅(qū)動電路)。

通過選擇速度來選擇不同的輸出驅(qū)動模塊,達到最佳的噪聲控制和降低功耗的目的。

高頻的驅(qū)動電路,噪聲很高

當我們的項目不需要比較高的輸出頻率時,請選用低頻驅(qū)動電路,這樣非常有利于提高系統(tǒng)的EMI 性能。

當然如果我們的項目要求輸出較高頻率的信號,但卻選用了較低頻率的驅(qū)動模塊,很可能會得到比較失真的輸出信號

GPIO推挽輸出_OUT_PP模式工作原理

GPIO的推挽輸出模式是在開漏輸出模式的基礎(chǔ)上,在“輸出控制電路”之后,增加了一個P-MOS管

當CPU輸出邏輯“1 ”時,編號3 處的P-MOS管導通,而下方的N-MOS管截止,達到輸出高電平的目的

當CPU輸出邏輯“0 ”時,編號3 處的P-MOS管截止,而下方的N-MOS管導通,達到輸出低電平的目的

在這個模式下,CPU 仍然可以從“輸入數(shù)據(jù)寄存器”讀到該IO端口電壓變化的信號

GPIO開漏復用輸出_AF_OD模式工作原理

GPIO的開漏復用輸出模式與開漏輸出模式的工作原理基本相同

不同的是編號為2 的輸入的源不同,它是和復用功能的輸出端相連

此時的“輸出數(shù)據(jù)寄存器”被輸出通道給斷開了。

從上面的這個圖,我們還可以看到CPU同樣可以從“輸入數(shù)據(jù)寄存器”讀取到外部IO端口變化的電平信號。

GPIO推挽復用輸出_AF_PP模式工作原理

最后介紹一下GPIO推挽復用輸出模式的工作原理

編號2“輸出控制電路” 輸入是與復用功能的輸出端相連

此時“輸出數(shù)據(jù)寄存器”被從輸出通道斷開了,片上外設(shè)的輸出信號直接與“輸出控制電路”的輸入端想連接。

我們將GPIO配置成復用輸出功能后,假如相應(yīng)的外設(shè)模塊沒有被激活,那么此時IO端口的輸出將不確定。

其它部分原理與前面敘述的模式一樣,包括對“輸入數(shù)據(jù)寄存器”的讀取方式也是一樣的。

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

    關(guān)注

    16

    文章

    1189

    瀏覽量

    51847
  • STM32單片機
    +關(guān)注

    關(guān)注

    59

    文章

    549

    瀏覽量

    58595

原文標題:STM32單片機GPIO的八種工作模式詳解!

文章出處:【微信號:fcsde-sh,微信公眾號:fcsde-sh】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    STM32單片機的八種GPIO口模式

    GPIO 是通用輸入/輸出端口的簡稱,本文以STM32為例進行說明,其他的單片機功能上都是大同小異,學會STM32
    發(fā)表于 09-07 11:38 ?3693次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>的八種<b class='flag-5'>GPIO</b>口模式

    51單片機基本功能會了之后,該怎樣加強單片機的學習?

    51單片機基本功能會了之后,該怎樣加強單片機的學習?
    發(fā)表于 07-17 16:07

    30個單片機編程例子詳解,學會了其他的也能更快掌握

    `單片機編程知識都是從無到有,剛學會了一些理論知識,需要編程例子來驗證所學及擴展所學,這就是很好的30個編程例子,學會了就能對其他更加困難的一知半解,再加強學習一下就變大神啦。`
    發(fā)表于 09-05 01:26

    【郭天祥】十天學會單片機LESSON6_AD及DA工作原理及應(yīng)用

    `【郭天祥】十天學會單片機LESSON6_AD及DA工作原理及應(yīng)用`
    發(fā)表于 06-26 21:57

    掌握STM32單片機工作原理

    本文以STM32F103R6為測試單片機我們經(jīng)常使用單片機完成一些工作,今天我寫出的幾個較為經(jīng)典的例子希望能夠幫助大家更好的認識單片機,更好
    發(fā)表于 08-11 08:01

    主要介紹STM32單片機GPIO口基本概念

    與51單片機相比較為復雜,使用前必須操作相關(guān)寄存器完成對IO口的初始化配置(單片機內(nèi)部會選擇不同的硬件電路連接)分別為4輸入 + 2 輸出 + 2 復用輸出,一共是8種模式,以下是八種模式的概念和工作原理
    發(fā)表于 02-22 07:30

    關(guān)于單片機GPIO的簡介

    薪火培訓電控第一講——單片機GPIO關(guān)于單片機GPIO簡介GPIO八種輸入輸出模式GPIO引腳
    發(fā)表于 02-24 06:29

    單片機系統(tǒng)的工作原理設(shè)計

    單片機系統(tǒng)的工作原理設(shè)計 單片機應(yīng)用系統(tǒng)的存儲器擴充單片機應(yīng)用系統(tǒng)的存儲器擴充單片機應(yīng)用系統(tǒng)的開關(guān)量輸入...電路
    發(fā)表于 04-14 14:27 ?26次下載

    stm32單片機的基本工作原理

    我們使用的大部分電器都使用了單片機,那么stm32單片機的基本工作原理是什么?下面小編就帶大家了解一下
    的頭像 發(fā)表于 08-19 11:06 ?2.8w次閱讀

    STM32單片機GPIO口簡介

    與51單片機相比較為復雜,使用前必須操作相關(guān)寄存器完成對IO口的初始化配置(單片機內(nèi)部會選擇不同的硬件電路連接)分別為4輸入 + 2 輸出 + 2 復用輸出,一共是8種模式,以下是八種模式的概念和工作原理
    發(fā)表于 12-28 19:23 ?23次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機</b><b class='flag-5'>GPIO</b>口簡介

    薪火培訓電控第一講——單片機GPIO

    薪火培訓電控第一講——單片機GPIO關(guān)于單片機GPIO簡介GPIO八種輸入輸出模式GPIO引腳
    發(fā)表于 12-31 19:47 ?2次下載
    薪火培訓電控第一講——<b class='flag-5'>單片機</b>與<b class='flag-5'>GPIO</b>

    STM32單片機GPIO的配置模式

    我們在學習單片機的時候,一般都是從操作GPIO開始的,很多單片機學習的教程第一課就是點亮發(fā)光二極管或者是流水燈。
    發(fā)表于 07-03 14:17 ?1261次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機</b><b class='flag-5'>GPIO</b>的配置模式

    51單片機GPIO結(jié)構(gòu)框圖與工作原理

    不論學習什么單片機,最簡單的外設(shè)莫過于IO 口的高低電平控制,本教程將向大家介紹如何在創(chuàng)建好的工程模板上通過操作51 單片機GPIO 口輸出高低電平。
    發(fā)表于 07-15 15:29 ?6702次閱讀
    51<b class='flag-5'>單片機</b><b class='flag-5'>GPIO</b>結(jié)構(gòu)框圖與<b class='flag-5'>工作原理</b>

    STM32單片機引腳介紹及功能 STM32單片機工作原理和基本組成

      STM32單片機引腳分為兩種類型:GPIO引腳和其他引腳。其中GPIO引腳可以作為通用輸入輸出引腳,也可以通過軟件控制來使用特定功能。其他引腳則是供其他模塊使用的,如時鐘引腳、中斷
    發(fā)表于 08-09 16:52 ?3.2w次閱讀

    STM32單片機GPIO輸入、輸出模式與配置方法

    STM32 單片機是一款高性能、低功耗的 32 位微控制器,具有強大的計算能力、靈活的外設(shè)模塊和實現(xiàn)微控制器應(yīng)用所需的社區(qū)支持。在單片機應(yīng)用中,GPIO 輸入輸出模式是必不可少的硬件接
    發(fā)表于 08-15 18:23 ?7941次閱讀