版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔-下載后可編輯GPIO內(nèi)部結(jié)構(gòu)、工作原理及相關(guān)寄存器詳解-設(shè)計(jì)應(yīng)用1.STM32實(shí)物圖:
2.STM32引腳分布圖:
STM32F103ZET6:共144個(gè)引腳,7組IO口,每組16個(gè)IO口
7*16=112個(gè)IO口(這7組IO口分別為A,B…G)
例如:PGIOA包含PA0,PA1,PA2…PA15,每組16個(gè)IO口
二,IO口的基本結(jié)構(gòu)和工作方式
1.STM32F1系列IO口的基本結(jié)構(gòu)()IO口內(nèi)部電路結(jié)構(gòu))
右側(cè)I/O引腳部分為芯片暴露在外部的引腳
每個(gè)引腳在數(shù)據(jù)手冊(cè)都有說明是否支持(識(shí)別))5V電壓
三,PGIO的8種工作方式
4種輸入模式
輸入浮空
輸入上拉
輸入下拉
模擬輸入
4種輸出模式
開漏輸出
開漏復(fù)用功能
推挽輸出
推挽復(fù)用功能
可配置3種翻轉(zhuǎn)速度
2MHz
10MHz
50MHz
四,八種工作方式講解
1,GPIO輸入工作模式1-輸入浮空模式
1)外部通過IO口輸入電平,外部電平通過上下拉部分(浮空模式下都關(guān)閉,既無上拉也無下拉電阻)
2)傳輸?shù)绞┟芴赜|發(fā)器(此時(shí)施密特觸發(fā)器為打開狀態(tài))
3)繼續(xù)傳輸?shù)捷斎霐?shù)據(jù)IDR
4)CPU通過讀輸入數(shù)據(jù)IDR實(shí)現(xiàn)讀取外部輸入電平值
在輸入浮空模式下可以讀取外部輸入電平
2,GPIO輸入工作模式2-輸入上拉模式
和輸入浮空模式相比較,不同之處在于內(nèi)部有一個(gè)上拉電阻連接到VDD(輸入上拉模式下,上拉電阻開關(guān)接通,阻值約30-50K)
外部輸入通過上拉電阻,施密特觸發(fā)器存入輸入數(shù)據(jù)IDR,被CPU讀取
3,GPIO輸入工作模式3-輸入下拉模式
和輸入浮空模式相比較,不同之處在于內(nèi)部有一個(gè)下拉電阻連接到VSS(輸入下拉模式下,下拉電阻開關(guān)接通,阻值約30-50K)
外部輸入通過下拉電阻,施密特觸發(fā)器存入輸入數(shù)據(jù)寄存器IDR,被CPU讀取
4,GPIO輸入工作模式4-輸入模擬模式
上拉和下拉部分均為關(guān)閉狀態(tài)(AD轉(zhuǎn)換-模擬量轉(zhuǎn)換為數(shù)字量)
施密特觸發(fā)器為截止?fàn)顟B(tài)
通過模擬輸入通道輸入到CPU
IO口外部電壓為模擬量(電壓形式非電平形式),作為模擬輸入范圍一般為0~3.3V
5,GPIO輸出工作模式1-開漏輸出模式
1,CPU寫入位設(shè)置/清楚寄存器BSRR,映射到輸出數(shù)據(jù)寄存器ODR
2,聯(lián)通到輸出控制電路(也就是ODR的電平)
3,ODR電平通過輸出控制電路進(jìn)入N-MOS管
-ODR輸出1:
N-MOS截止,IO端口電平不會(huì)由ODR輸出決定,而由外部上拉/下拉決定
在輸出狀態(tài)下,輸出的電平可以被讀取,數(shù)據(jù)存入輸入數(shù)據(jù)寄存器,由CPU讀取,實(shí)現(xiàn)CPU讀取輸出電平
所以,當(dāng)N-MOS截止時(shí),如果讀取到輸出電平為1,不一定是我們輸出的1,有可能是外部上拉產(chǎn)生的1
-ODR輸出0:
N-MOS開啟,IO端口電平被N-MOS管拉倒VSS,使IO輸出低電平
此時(shí)輸出的低電平同樣可以被CPU讀取到
6,GPIO輸出工作模式2-開漏復(fù)用輸出模式
與開漏輸出模式的區(qū)別在于輸出控制電路之前電平的
開漏輸出模式的輸出電平是由CPU寫入輸出數(shù)據(jù)寄存器控制的
開漏推挽輸出模式的輸出電平是由復(fù)用功能外設(shè)輸出決定的
其他與開漏輸出模式相似:
控制電路輸出為1:N-MOS截止,IO口電平由外部上拉/下拉決定
控制電路輸出為0:N-MOS開啟,IO口輸出低電平
7,GPIO輸出工作模式3-推挽輸出模式
與開漏輸出相比較:
輸出控制寄存器部分相同
輸出驅(qū)動(dòng)器部分加入了P-MOS管部分
當(dāng)輸出控制電路輸出1時(shí):
P-MOS管導(dǎo)通N-MOS管截止,被上拉到高電平,IO口輸出為高電平1
當(dāng)輸出控制電路輸出0時(shí):
P-MOS管截止N-MOS管導(dǎo)通,被下拉到低電平,IO口輸出為低電平0
同時(shí)IO口輸出的電平可以通過輸入電路讀取
8,GPIO輸出工作模式4-復(fù)用推挽輸出模式
與推挽輸出模式的區(qū)別在于輸出控制電路之前電平的
開漏輸出模式的輸出電平是由CPU寫入輸出數(shù)據(jù)寄存器控制的
開漏推挽輸出模式的輸出電平是由復(fù)用功能外設(shè)輸出決定的
9,推挽輸出和開漏輸出的區(qū)別:
推挽輸出:
可以輸出強(qiáng)高/強(qiáng)低電平,可以連接數(shù)字器件
開漏輸出:
只能輸出強(qiáng)低電平(高電平需要依靠外部上拉電子拉高),適合做電流型驅(qū)動(dòng),吸收電流能力較強(qiáng)(20ma之內(nèi))
五,STM32-IO口相關(guān)寄存器
每組GPIO包含系列7個(gè)寄存器(7組GPIO共包含7*7=49個(gè)寄存器)
兩個(gè)32位配置寄存器
GPIOx_CRL低16位
GPIOx_CRH高16位
兩個(gè)32位數(shù)據(jù)寄存器
GPIOx_IDR輸入數(shù)據(jù)寄存器
GPIOx_ODR輸出數(shù)據(jù)寄存器
一個(gè)32位置位/復(fù)位寄存器
GPIOx_BSRR
一個(gè)16位復(fù)位寄存器
GPIOx_BRR
一個(gè)32位鎖定寄存器
GPIOx_LCKR
六,STM32-IO口相關(guān)寄存器講解
1,端口配置寄存器:
STM32每組GPIO位16個(gè)IO口,每4位控制一個(gè)IO口,所以32位控制8個(gè)IO口
分為低16位:GPIOx_CRL和高16位:GPIOx_CRH共32位控制一組GPIO的16個(gè)IO口
如圖:以端口配置寄存器低16位為例,每四位控制一個(gè)IO口(高16位同理)
MODEx的2位:配置IO口輸出/輸出模式(1種輸出+3種不同速度的輸出模式)
CNFx的2位:配置IO口輸入/輸出狀態(tài)下(由MODEx控制)的輸入/輸出模式
以GPIOA_CRL為例,配置IO口PA0-MODE0=00(輸入模式)CNF0=10(上拉/下拉輸入模式)
此種配置下到底是上拉還是下拉輸入模式還需由ODR寄存器決定
關(guān)于上拉/下拉的控制我們將在下面-數(shù)據(jù)寄存器-中介紹ODR輸出寄存器時(shí)詳細(xì)說明
2,數(shù)據(jù)寄存器(以輸入數(shù)據(jù)寄存器GPIOx_IDR為例)
每一組IO口都具有一個(gè)GPIOx_IDR的32位寄存器(實(shí)際只使用低16位,高16位保留),即16位控制16個(gè)IO口,每一位控制一個(gè)
如圖:IDR寄存器共32位,0~15位代表一組IO口16個(gè)IO當(dāng)前值
這里我們已經(jīng)了解了輸入/輸出數(shù)據(jù)寄存器,現(xiàn)在說下上面提到的問題:
當(dāng)IO口配置為輸入模式且配置為上拉/下拉輸入模式(即MODEx=00CNFx=10時(shí)),ODR決定到底是上拉還是下拉
1)當(dāng)輸出模式時(shí),ODR為輸出數(shù)據(jù)寄存器
2)當(dāng)輸入模式時(shí),ODR用作區(qū)分當(dāng)前位輸入模式到底是上拉輸入(ODRx=0)還是下拉輸入(ODRx=1)
3,端口位設(shè)置/清除寄存器(GPIOx_BSRR)
BSRR寄存器作用:
BSRR寄存器為32位寄存器,低16位BSx為設(shè)置為(1設(shè)置0不變),高16位BRx為重置位(1:清除0:不變)
當(dāng)然,終的目的還是通過BSRR間接設(shè)置ODR寄存器,改變IO口電平
4,端口位清除寄存器(GPIOx_BRR)
GPIOx_BRR寄存器作用同GPIOx_BSRR寄存器高16位
一般我們使用BSRR低16位和BRR的低16位(STM32F4系列取消了BSRR的高16位)
5,鎖存寄存器:使用較少暫不分析
七,端口的復(fù)用和重映射
1,端口的復(fù)用:
大部分IO口可復(fù)用為外部功能引腳,參考芯片數(shù)據(jù)手冊(cè)(IO口復(fù)用和重映射)
例如:STM32F103ZET6的PA9和PA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋買賣成交合同樣本格式
- 房屋買賣合同案例解析合同違約問題
- 個(gè)人房屋抵押借款合同書
- 房屋買賣合同上訴理由
- 公司短期墊資借款合同
- 食品類購(gòu)銷合同樣式
- 個(gè)人借款協(xié)議書模板正式
- 政府采購(gòu)空調(diào)合同的簽訂與監(jiān)管方式
- 鋼絲繩購(gòu)銷協(xié)議模板
- 監(jiān)控服務(wù)合同的終止情形
- 中考數(shù)學(xué)真題變式題庫(kù)
- FZ/T 91019-1998染整機(jī)械導(dǎo)布輥制造工藝規(guī)范
- FZ/T 52025-2012再生有色滌綸短纖維
- SHSG0522003 石油化工裝置工藝設(shè)計(jì)包(成套技術(shù))內(nèi)容規(guī)定
- FMEA-培訓(xùn)教材-汽車fmea培訓(xùn)課件
- 制造部年終總結(jié)報(bào)告課件
- 粵科版高中通用技術(shù)選修1:電子控制技術(shù)全套課件
- 知識(shí)產(chǎn)權(quán)法(英文) Intellectual Property Right Law課件
- 熱力管道焊接技術(shù)交底記錄大全
- 接地裝置安裝試驗(yàn)記錄
- 各級(jí)醫(yī)院健康體檢中心基本標(biāo)準(zhǔn)(2019年版)
評(píng)論
0/150
提交評(píng)論