1個GPIO可以代表多少種功能?關(guān)于GPIO復(fù)用那些事_第1頁
1個GPIO可以代表多少種功能?關(guān)于GPIO復(fù)用那些事_第2頁
1個GPIO可以代表多少種功能?關(guān)于GPIO復(fù)用那些事_第3頁
1個GPIO可以代表多少種功能?關(guān)于GPIO復(fù)用那些事_第4頁
1個GPIO可以代表多少種功能?關(guān)于GPIO復(fù)用那些事_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Word個GPIO可以代表多少種功能?關(guān)于GPIO復(fù)用那些事今天是(芯片)引腳解讀系列(視頻)的第二期,來說一說GPIO引腳——

以下是相關(guān)文字稿:

GPIO全名為(GeneralPurposeInputOutput),即通用輸入輸出端口,我們在使用的時候一般簡稱為“IO口”,在(芯片封裝)的時候,通過(電子)引線從芯片內(nèi)部引出到外部引腳,通過這些外部引腳,可以實現(xiàn)(傳感器)(信號)讀取和控制信號輸出。

其實呀,我們在學(xué)習(xí)(單片機)的時候,就是在學(xué)習(xí)怎樣控制單片機采集外部信號和對外輸出控制信號,這里的描述中,“怎樣控制”就是指控制邏輯或控制算法;“采集外部信號”就是指如何讀取外接輸入信號并解析的過程,可以根據(jù)外部信號的特性,配置合適的輸入模式,外部信號包括數(shù)字信號和(模擬)信號;“輸出控制信號”就是指單片機以配置的輸出模式、輸出速率、信號類型(模擬/數(shù)字信號)通過引腳對外部設(shè)備輸出驅(qū)動信號。下面我們就來具體聊一聊單片機GPIO的特性與配置,這里我們以(STM32)Fxx系列的(DateSheet)為例講述。

我們在查看DateSheetGPIO這部分時,首先要看的就是GPIO相關(guān)的縮寫說明,這里主要是一些參數(shù)縮寫描述。

GPIO的三種工作模式:

(一)輸入模式

第一種是上拉輸入/下拉輸入/浮空輸入:

上拉輸入就是通過一個電阻將I/O連接到VCC或指定(電源),目的是為了保證在無信號輸入時輸入端的電平為高電平,而在信號輸入為低電平時,輸入端的電平應(yīng)該也為低電平。同樣,下拉電阻它是為了保證無信號輸入時輸入端的電平為低電平,有輸入信號時輸入端保持高電平。浮空輸入呢就是信號輸入端既不上拉也不下拉,此時,I/O口處于高阻態(tài),我們也將其稱為浮空輸入狀態(tài),在無信號輸入的情況下,此時I/O端口的電平是不確定的。了解了這幾種輸入模式的特性,那我們在設(shè)計時該怎樣選擇配置呢?這里我們舉幾個例子:

1)獨立按鍵(無源電路):

這種連接方式,在不配置上拉/下拉模式時,當(dāng)按鍵按下時,具有確定的輸入狀態(tài),當(dāng)按鍵彈起時,此時I/O端口的輸入狀態(tài)不確定,當(dāng)受到外部干擾時,就容易出現(xiàn)誤觸發(fā)。所以此時就需要將I/O口的模式配置為上拉/下拉模式,在按鍵按下或彈起時均有確定轉(zhuǎn)態(tài)。

2)獨立按鍵(外接上拉/下拉電阻):

這個電路在按鍵按下或彈起時,均具有確定的狀態(tài),此時,我們可以將I/O配置為浮空輸入模式,除此之外,我們一般在電路中還可以并聯(lián)一個104的瓷片(電容),做按鍵去抖動。

3)有源傳感器:

下面電路是有源傳感器與單片機I/O連接的電路,傳感器在正常工作狀態(tài)下,均具有確定的狀態(tài),此時,我們可以將I/O配置為浮空輸入模式。

由這幾個實例可知,當(dāng)接入I/O的(硬件)工作在任意狀態(tài)下其輸出信號都有穩(wěn)定值(高電平或低電平),此時,可以將單片機I/O配置為浮空輸入模式;當(dāng)接入I/O的硬件只能夠輸出一種確定狀態(tài)時,為保證不受外部干擾,此時,就需要將I/O配置為上拉/下拉模式。

在我們的設(shè)計中,也要靈活使用模式,因為單片機自帶的上拉/下拉電阻為定值,有時不符合我們的設(shè)計要求,此時,就需要自己選擇合適的外接上拉/下拉電阻。

第2種是模擬輸入,

就是將外部信號傳入單片機的A/D轉(zhuǎn)換器,然后單片機就可以將外部模擬量轉(zhuǎn)化為數(shù)字量,再進(jìn)行后續(xù)處理(數(shù)字濾波、閾值分析、計算等),帶A/D轉(zhuǎn)換功能的引腳都是芯片出廠就確定的。

高阻態(tài)模擬配置

連接到(ADC)輸入的模擬輸入

(二)輸出模式

第一種是開漏輸出與推挽輸出

單片機的I/O輸出結(jié)構(gòu)如上圖所示,由一個P-MOS與N-MOS組成,通過配置,可以通過控制P-MOS與N-MOS的導(dǎo)通,使輸出配置為開漏或推挽輸出。當(dāng)P-MOS禁止時,輸出配置為開漏輸出,開漏模式一般應(yīng)用在(I2C)、SMBUS通訊等需要“線與”功能的總線電路中,在開漏輸出模式下,P-MOS管不工作,只有N-MOS管起作用。若輸出數(shù)據(jù)(寄存器)的值為0,則N-MOS導(dǎo)通,IO口輸出低電平;若輸出數(shù)據(jù)寄存器的值為1,則N-MOS截止;由于P-MOS不工作,此時IO口既不是高電平,也不是低電平,這種狀態(tài)被稱為高阻態(tài)。

當(dāng)P-MOS使能時,輸出配置為推挽輸出,推挽輸出又叫推拉輸出,是最常見的輸出配置了,正如它的名字那樣,推挽輸出能夠驅(qū)動輸出兩種電平。一種是拉接到地(從負(fù)載灌入(電流)),另一個被推到電源電壓(輸出電流到負(fù)載),在(集成電路)中一般使用兩個(晶體管)搭建,推挽輸出模式可以提供較強的驅(qū)動力。推挽輸出模式下,若輸出數(shù)據(jù)寄存器的值為0,則N-MOS導(dǎo)通,P-MOS截止,IO口輸出低電平;若輸出數(shù)據(jù)寄存器的值為1,則N-MOS截止,P-MOS導(dǎo)通,IO口輸出高電平。

第二種是模擬輸出,就是將外部信號傳入單片機的D/A轉(zhuǎn)換器,然后單片機就可以將數(shù)字量轉(zhuǎn)換為模擬量輸出了,同樣,帶D/A轉(zhuǎn)換功能的引腳都是芯片出廠就確定的。

(三)復(fù)用模式

復(fù)用功能配置

我們知道,STM32Fxx內(nèi)部集成了很多的外設(shè)控制器,比如USART、S(PI)、bx(CAN)等等,這些外設(shè)控制器,也需要通過引腳與外設(shè)連接。復(fù)用功能是相對于單片機的引腳而言的,所謂“復(fù)用功能”,是指單片機的引腳既可以做普通GPIO使用,也可以作為內(nèi)部外設(shè)控制器的引腳來使用。例如,PA5可以作為普通GPIO來使用;其次,如果作為外設(shè)的引腳,它可以作為SPI1的(時鐘)(SPI1_SCK)、(DAC)的輸出通道1(DAC_OUT1)或者(AD)C的輸入通道5(ADC12_IN5),但是,PA5支持的三種外設(shè)(SPI1、DAC、ADC)在同一時刻只能選擇一種,選擇的方法是開啟相應(yīng)外設(shè)的時鐘,并使其它外設(shè)的時鐘保持關(guān)閉狀態(tài)。

那我們怎么配置呢?這里主要有兩種配置方式,第一種就是通過代碼直接配置,在我學(xué)習(xí)STM32的時候,官方只提供了標(biāo)準(zhǔn)庫,我們在使用的時候需要按照標(biāo)準(zhǔn)庫開發(fā)指南來進(jìn)行配置,這種方式配置比較麻煩,也容易出錯,有時候移植代碼會造成功能沖突,我們在寫代碼的時候,不怕報錯,就怕不報錯功能還不對,我在幾次項目中都發(fā)生過這種情況,通過查找,基本都是I/O配置沖突。

標(biāo)準(zhǔn)庫配置GPIO

這幾年隨著HAL庫的推廣,HAL庫得到了廣泛應(yīng)用,加上ST公司對STM32的生態(tài)環(huán)境打造,我們可以通過STM32CubeMX進(jìn)行配置,STM32CubeMX是STM32Cube生態(tài)里用來芯片初始化配置的圖形化配置工具。通過分步配置過程可以非常輕松地配置STM32微控制器和微處理器。

第一步包括選擇與所需外設(shè)集匹配的(意法半導(dǎo)體)STM32微控制器、微處理器或開發(fā)平臺,同時包括在特定開發(fā)平臺上運行的示例。對于微處理器,第二步允許配置GPIO和設(shè)置整個系統(tǒng)的時鐘,并交互地將外設(shè)分配給(Arm)Cortex-M或Cortex-A內(nèi)核,通過引腳分配沖突處理器、時鐘樹設(shè)置助手、功耗計算器,以及用于配置外設(shè)(如GPIO或USART)和中間件棧(如(USB)或TCP/IP)的實用工具來配置各個必需的(嵌入式軟件)。最終,用戶可以生成與所選配置匹配的軟件包。

然后,可以將生成的初始化工

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論