久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: ST MCU_GPIO的八種工作模式詳解 [打印本頁]

作者: 51黑er    時間: 2015-11-10 14:25
標題: ST MCU_GPIO的八種工作模式詳解
本帖最后由 51黑er 于 2015-11-10 14:27 編輯

GPIO的八種工作模式詳解

浮空輸入_IN_FLOATING
帶上拉輸入_IPU
帶下拉輸入_IPD
模擬輸入_AIN
開漏輸出_OUT_OD
推挽輸出_OUT_PP
開漏復用輸出_AF_OD
推挽復用輸出_AF_PP

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

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

以上截圖就是浮空輸入模式的原理圖,
圖中陰影的部分在浮空輸入模式下是處于不工作狀態的,尤其是下半部分的輸出電路
實際上這時的輸出電路與輸入的端口處于隔離狀態。
黃色的高亮部分顯示了數據傳輸通道,
外部的電平信號通過左邊編號1的I/O 端口進入STM32內部
經過編號2的施密特觸發器整形以后送入編號為3的“輸入數據寄存器”
在“輸入數據寄存器”的另一端(編號4) ,CPU通過內部的數據總線可以隨時讀出I/O 端口的電平變化的狀態。

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

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

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

對于輸入下拉模式的輸入,是在數據通道的下部,接入了一個下拉電阻。
根據STM32的數據手冊,這個下拉電阻阻值也是介于30K~50K 歐姆。

對于要加上拉或下拉電阻:
1.當作單片機作為輸入時,假設我們直接在IO端口接一個按鍵到地(或電源)。
因為按鍵按,于不按管腳都是懸空的。單片機就很難檢測按鍵是否按下。
所以人為的接一個上拉(或下拉)。以確定未按下的時候IO輸入電平的狀態
2.可以提高芯片的抗干擾能
3.當單片機的IO口作輸出時,如果不接上拉電阻只能提供灌電流。無法輸出電流驅動外接設備。這時也需要考慮上拉電阻。這樣才可以使IO輸出高電平

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

如果把STM32配置為模擬輸入模式時,工作原理就比較簡單了,信號從左邊編號為1 的端口進
從右邊編號為2的一端直接進入STM32單片機的AD模塊。
細心的朋友可以看到數據通道中上拉、下拉電阻和施密特觸發器,這時均處于關斷的狀態,
“輸入數據寄存器”就不能反映IO端口上的電平變化的狀態了
換句話說,也就是在模擬輸入狀態下,CPU不能通過“輸入數據寄存器”讀到IO端口變化的數據了

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

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

上圖是GPIO開漏輸出模式的工作原理圖
當CPU 在編號1 端通過“位設置/ 清除寄存器”或“輸出數據寄存器”寫入數據后
該數據位將通過編號2的輸出控制電路傳送到編號4 的I/O端口。
如果CPU 寫入的是邏輯“1 ”,則編號3 的N-MOS管將處于關閉狀態
此時I/O 端口的電平將由外部的上拉電阻決定
如果CPU 寫入的是邏輯“0 ”,則編號3的N-MOS管將處于開啟狀態
此時I/O端口的電平被編號3 的N-MOS管拉到了“地”的零電位。

在圖中的上半部,施密特觸發器處于開啟狀態
這意味著CPU 可以在“輸入數據寄存器”的另一端,隨時可以監控I/O端口的狀態
通過這個特性,還可以實現了虛擬的I/O端口雙向通信:假如CPU 輸出邏輯“1 ”
由于編號3 的N-MOS管處于關閉狀態,I/O 端口的電平將完全由外部電路決定
因此,CPU 可以在“輸入數據寄存器”讀到外部電路的信號,而不是它自己輸出的邏輯“1 ”

GPIO口的輸出模式下,有3 種輸出速度可選(2MHz 、10MHz和50MHz)
這個速度是指GPIO口驅動電路的響應速度,而不是輸出信號的速度
輸出信號的速度與程序有關(芯片內部在I/O口的輸出部分安排了多個響應速度不同的輸出驅動電路
用戶可以根據自己的需要選擇合適的驅動電路)。
通過選擇速度來選擇不同的輸出驅動模塊,達到最佳的噪聲控制和降低功耗的目的。
高頻的驅動電路,噪聲很高  
當我們的項目不需要比較高的輸出頻率時,請選用低頻驅動電路,這樣非常有利于提高系統的EMI 性能。
當然如果我們的項目要求輸出較高頻率的信號,但卻選用了較低頻率的驅動模塊,很可能會得到比較失真的輸出信號
有關具體信息可參考:http://www.zg4o1577.cn/bbs/dpj-40309-1.html

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

GPIO的推挽輸出模式是在開漏輸出模式的基礎上,在“輸出控制電路”之后,增加了一個P-MOS管
當CPU輸出邏輯“1 ”時,編號3 處的P-MOS管導通,而下方的N-MOS管截止,達到輸出高電平的目的
當CPU輸出邏輯“0 ”時,編號3 處的P-MOS管截止,而下方的N-MOS管導通,達到輸出低電平的目的
在這個模式下,CPU 仍然可以從“輸入數據寄存器”讀到該IO端口電壓變化的信號

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

GPIO的開漏復用輸出模式與開漏輸出模式的工作原理基本相同
不同的是編號為2 的輸入的源不同,它是和復用功能的輸出端相連
此時的“輸出數據寄存器”被輸出通道給斷開了。
從上面的這個圖,我們還可以看到CPU同樣可以從“輸入數據寄存器”讀取到外部IO端口變化的電平信號。

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

最后介紹一下GPIO推挽復用輸出模式的工作原理
編號2“輸出控制電路” 輸入是與復用功能的輸出端相連
此時“輸出數據寄存器”被從輸出通道斷開了,片上外設的輸出信號直接與“輸出控制電路”的輸入端想連接。
我們將GPIO配置成復用輸出功能后,假如相應的外設模塊沒有被激活,那么此時IO端口的輸出將不確定。
其它部分原理與前面敘述的模式一樣,包括對“輸入數據寄存器”的讀取方式也是一樣的。





作者: send    時間: 2017-4-24 11:09
寫得很詳細,我看懂了,以前剛開始學習的時候總是不能掌握,導致自己學習效率大大降低
作者: send    時間: 2017-4-24 11:13
我覺得很多東西都要自己琢磨,我以前看不懂,現在一看,才恍然大悟
作者: deng1994    時間: 2017-7-9 14:18
后面兩個復用不是很懂
作者: xudan1980    時間: 2017-7-17 17:48
這個總結真心不錯,贊!
作者: small~g    時間: 2017-7-20 20:56
謝謝樓主

作者: 木子花花李    時間: 2019-4-21 18:42
您好,在開漏輸出中,“如果CPU 寫入的是邏輯“1 ”,則編號3 的N-MOS管將處于關閉狀態
此時I/O 端口的電平將由外部的上拉電阻決定” 。這個外部上拉電阻是指哪部分?還是需要外接?




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲欧美日本国产 | 99久久99| 九色视频网站 | 亚洲国产精品久久久久秋霞不卡 | 欧美成人aaa级毛片在线视频 | 色视频网站免费 | 日韩和的一区二区 | 精品国产91亚洲一区二区三区www | 一级黄色夫妻生活 | 亚洲人人 | 欧美综合一区二区三区 | 亚洲色图综合网 | 久久久国产精品网站 | 欧美成人手机在线 | 欧美激情精品久久久久久 | 精品一区二区三区四区五区 | 免费观看黄色片视频 | 成人日b视频| 一级黄色录像片子 | 久久人人爽人人爽人人片av免费 | 中文字幕一区二区三区精彩视频 | 久久夜视频 | 国产精品久久久久久影视 | 亚洲一区二区三区在线播放 | 国产精品久久久久久二区 | 浮生影院免费观看中文版 | 国产精品一区二区不卡 | 在线国产中文字幕 | 国产美女一区二区 | 97热在线| 成人欧美| 一级a性色生活片久久毛片波多野 | 欧美日韩国产免费 | 精品视频免费 | 中文字幕精品一区二区三区在线 | 国产一区 | 美女在线观看国产 | 91免费入口 | 精品国产一区二区在线 | 精品无码三级在线观看视频 | 精品福利在线 |