這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)STM32 GPIO的原理、特性、選型和配置是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)公司、微信開(kāi)發(fā)、微信平臺(tái)小程序開(kāi)發(fā)、集團(tuán)成都定制網(wǎng)站等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都格柵板等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致稱譽(yù)!
STM32 GPIO是通用輸入/輸出端口的英文簡(jiǎn)稱,其可實(shí)現(xiàn)輸入、輸出、驅(qū)動(dòng)、通信等功能,STM32的I/O 端口有8種模式(4種輸入模式和4種輸出模式),每個(gè) I/O 端口位支持3種最大翻轉(zhuǎn)速度(2MHz、10MHz、50MHz),均可自由編程,但I(xiàn)/O 端口寄存器必須按 32 位字、半字(16位)或字節(jié)(8位)進(jìn)行訪問(wèn),具體模式如下所示:浮空輸入
上拉輸入
下拉輸入
模擬輸入
開(kāi)漏輸出
推挽輸出
復(fù)用功能推挽輸出
復(fù)用功能開(kāi)漏輸出
以STM32L011為例(其他STM32處理器大同小異),GPIO基本結(jié)構(gòu)如下所示:1、保護(hù)二極管:
防止I/O引腳外部過(guò)高、過(guò)低的電壓輸入,當(dāng)引腳電壓高于VDDIOx時(shí),上方的二極管導(dǎo)通;
當(dāng)引腳電壓低于VSS時(shí),下方的二極管導(dǎo)通,防止不正常電壓引入芯片導(dǎo)致芯片燒毀。2、開(kāi)關(guān):
開(kāi)關(guān)為TTL肖特基觸發(fā)器,將模擬信號(hào)轉(zhuǎn)化為0和1的數(shù)字信號(hào),但當(dāng)GPIO作為ADC采集電壓通道時(shí),此時(shí)信號(hào)不再經(jīng)過(guò)觸發(fā)器進(jìn)行TTL電平轉(zhuǎn)換。3、P-MOS、N-MOS:
單元電路使得GPIO具有“推挽輸出”和“開(kāi)漏輸出”的功能。STM32具有浮空輸入、上拉輸入、下拉輸入和模擬輸入4種輸入模式。浮空輸入模式,I/O端口的電平信號(hào)由外部輸入決定,電平狀態(tài)不確定,最終直接進(jìn)入輸入數(shù)據(jù)寄存器。
浮空輸入通常用于配置USART的RX引腳,如下圖所示:上拉輸入模式,I/O端口懸空(在無(wú)信號(hào)輸入)的情況下,電平狀態(tài)保持在高電平,當(dāng)輸入低電平時(shí),電平狀態(tài)是低電平,最終直接進(jìn)入輸入數(shù)據(jù)寄存器,如下圖所示:下拉輸入模式,I/O端口懸空(在無(wú)信號(hào)輸入)的情況下,電平狀態(tài)保持在低電平,當(dāng)輸入高電平時(shí),電平狀態(tài)是高電平,最終直接進(jìn)入輸入數(shù)據(jù)寄存器,如下圖所示:模擬輸入模式,I/O端口的模擬信號(hào)(電壓信號(hào),而非電平信號(hào))直接模擬輸入到片上外設(shè)模塊,比如ADC模塊等。
模擬輸入通常應(yīng)用于ADC模擬輸入,或者低功耗下省電等情景,如下圖所示:STM32有開(kāi)漏輸出、推挽輸出、復(fù)用功能開(kāi)漏輸出和復(fù)用功能推挽輸出4種輸出模式(本文STM32L011的上、下拉電阻為公共區(qū)域,所以輸出模式具有上拉或下拉功能)。開(kāi)漏輸出模式,通過(guò)配置置位/復(fù)位寄存器或者輸出數(shù)據(jù)寄存器的值,途經(jīng)N-MOS管,最終輸出到I/O端口。
開(kāi)漏輸出只可以輸出強(qiáng)低電平,高電平得靠外部電阻拉高,輸出端相當(dāng)于三極管的集電極,適合于做電流型的驅(qū)動(dòng),其吸收電流的能力相對(duì)強(qiáng)(一般20ma以內(nèi)),如下圖所示:需要注意N-MOS管的特性,當(dāng)設(shè)置輸出的電平狀態(tài)為高電平時(shí),N-MOS管處于關(guān)閉狀態(tài),此時(shí)I/O端口的電平就不會(huì)由輸出的高低電平?jīng)Q定,而是由I/O端口內(nèi)部或者外部的上拉或者下拉決定;
當(dāng)設(shè)置輸出的電平狀態(tài)為低電平時(shí),N-MOS管處于開(kāi)啟狀態(tài),此時(shí)I/O端口的電平就是低電平。推挽輸出模式,通過(guò)配置置位/復(fù)位寄存器或者輸出數(shù)據(jù)寄存器的值,P-MOS管和N-MOS管,最終輸出到I/O端口。
推挽輸出可以輸出強(qiáng)高、低電平,連接數(shù)字器件,如下圖所示:需要注意P-MOS管和N-MOS管的特性,當(dāng)設(shè)置輸出的電平狀態(tài)為高電平時(shí),P-MOS管處于開(kāi)啟狀態(tài),N-MOS管處于關(guān)閉狀態(tài),此時(shí)I/O端口的電平就由P-MOS管決定:
高電平;
當(dāng)設(shè)置輸出的電平狀態(tài)為低電平時(shí),P-MOS管處于關(guān)閉狀態(tài),N-MOS管處于開(kāi)啟狀態(tài),此時(shí)I/O端口的電平就由N-MOS管決定:
低電平。復(fù)用功能開(kāi)漏輸出模式、復(fù)用功能推挽輸出模式的原理和開(kāi)漏輸出模式、推挽輸出模式原理基本一致,只不過(guò)輸出的高低電平,不是由MCU配置置位/復(fù)位寄存器或者輸出數(shù)據(jù)寄存器的值,而是利用片上外設(shè)模塊的復(fù)用功能輸出來(lái)決定的(通信接口(SPI,UART,I 2 C,USB,CAN,LCD等)、定時(shí)器、調(diào)試接口等復(fù)用)。
復(fù)用功能開(kāi)漏輸出通常用于TX1、MOSI、MISO等引腳的配置,復(fù)用功能推挽輸出通常用于I2C的SCL、SDA。
以復(fù)用功能推挽輸出模式為例,實(shí)現(xiàn)原理如下圖所示:如何選擇適合其應(yīng)用開(kāi)發(fā)的GPIO模式和配置呢?
請(qǐng)參考下圖所示。上述就是小編為大家分享的STM32 GPIO的原理、特性、選型和配置是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站欄目:STM32GPIO的原理、特性、選型和配置是什么
文章URL:
http://weahome.cn/article/jcdpjs.html