版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、4,L E C T U R E,系統(tǒng)控制模塊與GPIO,陳子為,對本部分的要求,掌握PLL、VPB的設(shè)置方法 掌握引腳連接模塊與GPIO模塊的使用方法,1 鎖相環(huán)(PLL),鎖相環(huán)(PLL),由晶體振蕩器輸出的時鐘信號,通過PLL升頻,可以獲得更高的系統(tǒng)時鐘(CCLK)。 PLL接受的輸入時鐘頻率范圍為1025MHz,通過一個電流控制振蕩器(CCO)倍增到1060MHz。,10MHz25MHz,10MHz60MHz,PLL,PLL內(nèi)部結(jié)構(gòu),相位頻率 檢測,CCO,1 0,2P 分頻,M 分頻,0 1,0 1,FOSC,FCCO,FCLK,晶體振蕩器輸入時鐘,對輸入的兩路時鐘信號進行相位頻率檢測
2、,將兩者差值以電流形式輸出,電流控制振蕩器,根據(jù)輸入電流控制振蕩頻率,對輸入時鐘分頻,輸入時鐘 2選1開關(guān),PLL內(nèi)部結(jié)構(gòu),相位頻率 檢測,CCO,1 0,2P 分頻,M 分頻,0 1,0 1,FOSC,FCCO,FCLK,FCCO / 2P,FCCO / (2P*M),CCO自由振蕩,輸出頻率FCCO,根據(jù)兩個輸入時鐘的相位偏差,控制CCO。當(dāng)兩個時鐘相位同步時,回路鎖定。,Fosc由硬件決定,Fcco是PLL硬件的振蕩頻率,Fcco*(1/2P)=Fcclk,其中p=1,2,4,8,Fcclk*(1/M)=Fosc,其中M=132,必須滿足的條件: FOSC范圍:10MHz25MHz; F
3、CCLK范圍:10MHz60MHz; FCCO范圍:156MHz320MHz;,PLL相關(guān)寄存器,PLL控制寄存器(PLLCON):,PLLE:PLL使能,該位為1時將激活PLL并允許其鎖定到指定的頻率;,PLLC:PLL連接,當(dāng)PLLE為1,并且在PLL鎖定后,該位為1,將把PLL作為時鐘源連接到CPU,否則直接使用振蕩器時鐘。,注:其中“”表示該位保留,用戶不要向該位寫入1,讀取的值將不確定,PLLC,PLLE,PLL相關(guān)寄存器,PLL控制寄存器(PLLCON):,PLLC,PLLE,PLL相關(guān)寄存器,PLL控制寄存器(PLLCON):,PLL配置寄存器(PLLCFG):,MSEL4:0:
4、PLL倍頻器值,在PLL頻率計算中其值為(M-1);,PSEL1:0:PLL分頻器值,在PLL頻率計算中其值為P 。,PLL相關(guān)寄存器,PLL狀態(tài)寄存器(PLLSETA):,MSEL4:0、PSEL1:0、PLLE、PLLC:讀出反映這幾個參數(shù)的設(shè)置值,寫入無效;,PLOCK:反映PLL的鎖定狀態(tài)。為0時,PLL未鎖定;為1時,PLL鎖定到指定頻率。,PLL相關(guān)寄存器,PLL饋送寄存器(PLLFEED):,PLLFEDD7:0:PLL饋送序列必須寫入該寄存器才能使PLL配置和控制寄存器的更改生效;,PLL相關(guān)寄存器,饋送序列為: 1.將值0 xAA寫入PLLFEED; 2.將值0 x55寫入P
5、LLFEED。,PLL相關(guān)寄存器,PLL饋送寄存器(PLLFEED):,PLL頻率計算,回路鎖定后:FOSC = FCCO / (2P M) FCLK = FOSC M,FOSC:晶振頻率; FCCO :CCO振蕩器輸出頻率FCCLK:處理器時鐘頻率; M:PLL倍頻值 P:PLL分頻值,必須滿足的條件: FOSC范圍:10MHz25MHz; FCCLK范圍:10MHz60MHz; FCCO范圍:156MHz320MHz;,鎖相環(huán)(PLL)計算流程,1.選擇處理器的 工作頻率(CCLK),2.選擇振蕩器 頻率(FOSC),3.計算M值 配置MSEL位,4.計算P值 配置PSEL位,根據(jù)處理器的
6、整體要求、UART波特率的支持等因素來決定。外圍器件的時鐘頻率可以低于處理器頻率,CCLK 必須為FOSC的整數(shù)倍。,M = CCLK / FOSC,取值范圍132。寫入MSEL的值為(M-1)。,選擇合適的P值,使FCCO在限制范圍內(nèi)。P只能取1、2、4或8。寫入PSEL的值為P。,鎖相環(huán)(PLL)計算實例,系統(tǒng)要求:FOSC10MHz、CCLK 60MHz,1.計算M值:M CCLK / FOSC 6 ;,2.設(shè)置MSEL位:寫入值為(M1)5;寫入PLLCFG4:0,3. 設(shè)置PSEL位:PFCCO/(CCLK2) (156320)/1201.32.67 所以P取整數(shù)2,PSEL寫入值為
7、2。寫入PLLCFG6:5,必須滿足的條件: FOSC范圍:10MHz25MHz; FCCLK范圍:10MHz60MHz; FCCO范圍:156MHz320MHz;,鎖相環(huán)(PLL)注意要點,PLL在芯片復(fù)位或進入掉電模式時被關(guān)閉并旁路,在掉電喚醒后不會自動恢復(fù)PLL的設(shè)定; PLL只能通過軟件使能; PLL在激活后必須等待其鎖定,然后才能連接; PLL如果設(shè)置不當(dāng)將會導(dǎo)致芯片的錯誤操作。,2 VPB分頻器,VPB分頻器,VPB分頻器將PLL輸出的時鐘信號分頻后作為芯片外設(shè)的時鐘。,VPB分頻器,Fpclk=(Fcclk/4)*Q,其中Q=1,2,4,VPB分頻器,VPB分頻器決定處理器時鐘(
8、CCLK)與外設(shè)器件所使用的時鐘(PCLK)之間的關(guān)系。 VPB用途1:通過VPB總線為外設(shè)提供所需的PCLK時鐘,以便外設(shè)在合適的速度下工作; VPB用途2:在應(yīng)用不需要任何外設(shè)全速運行時使功耗降低。,VPB分頻器相關(guān)寄存器,VPB分頻寄存器(VPBDIV):,VPBDIV1:0:設(shè)置分頻值,可以設(shè)定3個值;,XCLKDIV1:0:這些位用于控制LPC2200系列微控制器A23/XCLK引腳上的時鐘驅(qū)動,取值編碼方式與VPBDIV相同;,VPB分頻器相關(guān)寄存器,VPB分頻寄存器(VPBDIV):,系統(tǒng)時鐘初始化啟動代碼實例,/應(yīng)當(dāng)與實際一至晶振頻率,10MHz25MHz,應(yīng)當(dāng)與實際一致 #d
9、efine Fosc 11059200 /系統(tǒng)頻率,必須為Fosc的整數(shù)倍(132),且=60MHZ #define Fcclk (Fosc * 4) /CCO頻率,必須為Fcclk的2、4、8、16倍,范圍為156MHz320MHz #define Fcco (Fcclk * 4) /VPB時鐘頻率,只能為(Fcclk / 4)的1、2、4倍 #define Fpclk (Fcclk / 4) * 1,將系統(tǒng)內(nèi)各時鐘的頻率定義為宏,方便用戶操作。,設(shè)置晶振頻率,設(shè)置內(nèi)核工作頻率,設(shè)置CCO輸出頻率,設(shè)置外設(shè)工作頻率,Fcco= Fcclk*2P,其中p=1,2,4,8且156MHz Fcco
10、 320MHz,Fcclk=Fosc*M,其中M=132且Fcclk60MHz,Fpclk= Fcclk/4*Q,其中Q=1,2,4,系統(tǒng)時鐘初始化啟動代碼實例,使能PLL,設(shè)置VPB 分頻值,C代碼分析:,PLLCON = 1; #if (Fpclk / (Fcclk / 4) = 1 VPBDIV = 0; #endif #if (Fpclk / (Fcclk / 4) = 2 VPBDIV = 2; #endif #if (Fpclk / (Fcclk / 4) = 4 VPBDIV = 1; #endif . . .,注意:在啟動代碼中很多地方使用了條件編譯的方法,根據(jù)用戶定義的宏來決
11、定要設(shè)置的值,可以方便用戶使用。,系統(tǒng)時鐘初始化啟動代碼實例,設(shè)置PLL 分頻值,C代碼分析:,. . . #if(Fcco/Fcclk)=2 PLLCFG=(Fcclk/Fosc)-1)|(05); #endif #if(Fcco/Fcclk)=4 PLLCFG=(Fcclk/Fosc)-1)|(15); #endif #if(Fcco/Fcclk)= 8 PLLCFG=(Fcclk/Fosc)-1)|(25); #endif #if(Fcco/Fcclk)=16 PLLCFG=(Fcclk/Fosc)-1)|(35); . . .,系統(tǒng)時鐘初始化啟動代碼實例,PLL饋送序列,等待PLL鎖定
12、,連接PLL,PLL饋送序列,C代碼分析:,. . . PLLFEED = 0 xaa; PLLFEED = 0 x55; while(PLLSTAT ,注意:在修改PLL的控制和配置寄存器后,必須寫入饋送序列,使修改生效。,3 引腳連接模塊,概述,LPC2000系列微控制器的大部分管腳都具有多種功能,即管腳復(fù)用,但是同一引腳在同一時刻只能使用其中一個功能,通過配置相關(guān)寄存器控制多路開關(guān)來連接引腳與片內(nèi)外設(shè)。,通過引腳連接模塊控制引腳功能,外部存儲器寄存器描述PINSEL0,表示寄存器中某兩位的設(shè)定值 如PINSEL01:0=01時,連接TXD0,表示寄存器中的控制位 如9:8表示PINSEL
13、0寄存器的第9和8位,外部存儲器寄存器描述PINSEL0,如:PINSEL19:18設(shè)置為01時,引腳P0.9的功能為RXD1,外部存儲器寄存器描述PINSEL1,外部存儲器寄存器描述PINSEL2,注意:LPC2103只具有兩個PINSEL寄存器,PINSEL0和PINSEL1,它們都是32位寬度的,外部存儲器控制器概述PINSEL2,外部存儲器控制器概述PINSEL2,外部總線設(shè)置,PINSEL5:4與數(shù)據(jù)總線和控制線的關(guān)系列表,PINSEL27:25與地址線的關(guān)系列表,注:“”表示該引腳不作數(shù)據(jù)總線使用,可作其它用途。,引腳功能的設(shè)置過程,使用示例將P0.8、P0.9設(shè)置為TxD1、Rx
14、D1,PINSEL0 = 0 x05 16;,C代碼:,通過查閱PINSEL0寄存器設(shè)置表,得到P0.9和P0.8的控制位為PINSEL019:16,當(dāng)該域設(shè)置為0101(0 x05)時選擇 RxD1和 TxD1 ;,為了不影響別的管腳連接設(shè)置,通常選擇下面的設(shè)置方法。,PINSEL0 = (PINSEL0 ,C代碼:,注意,LPC2200系列微控制器是總線開放型芯片,其總線寬度可設(shè)置為8位、16位或32位,對于沒有使用到的總線引腳(比如16位總線寬度時,D16D31位沒有使用),可作為GPIO使用。,4 GPIO,特性,LPC2000系列作為 “微控制器”,其GPIO特性就顯得很重要。它具有
15、如下的特性: 可以獨立控制每個GPIO口的方向(輸入/輸出模式); 可以獨立設(shè)置每個GPIO的輸出狀態(tài)(高/低電平); 所有GPIO口在復(fù)位后默認為輸入狀態(tài)。,應(yīng)用,檢測數(shù)字輸入,如鍵盤或開關(guān)信號,驅(qū)動LED或其它指示器,控制片外器件,引腳描述,LPC2114/2124微控制器具有兩個端口P0和P1,可以作為GPIO使用的引腳數(shù)為46個。 LPC2210/2212/2214微控制器還包含另外兩個端口P2和P3,這個兩個端口與外部存儲器總線復(fù)用,當(dāng)它們?nèi)孔鳛镚PIO使用時,GPIO引腳數(shù)多達112個。,LPC2103只有1個32位的通用I/O口P031:0,由于與引腳的其它功能復(fù)用,在使用前要
16、進行相關(guān)的引腳設(shè)置,然后才能進行操作。 其中,P0.27P0.31是JTAG調(diào)試引腳,在復(fù)位時,如果DEBUG引腳為高,則P031:27是不能作為GPIO使用的,只能作為JTAG調(diào)試引腳;反之,如果復(fù)位時DEBUG引腳為低,則P031:27引腳可以由用戶設(shè)置,此時,調(diào)試禁止。,EasyARM2103實驗板上,由JP8可以控制DEBUG引腳,從而控制P0.27P0.31是作為JTAG還是GPIO,引腳描述,GPIO與控制寄存器的關(guān)系,引腳,GPIO相關(guān)寄存器描述,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相關(guān)寄存器描述IOxPIN,該寄
17、存器反映了當(dāng)前引腳的狀態(tài)。IOxPIN中的x對應(yīng)于某一個端口,如P1口對應(yīng)于IO1PIN。所以芯片存在多少個端口,就有多少個IOxPIN分別與之對應(yīng)。 寫該寄存器會將值保存到輸出寄存器,具體使用稍后介紹。 注意:無論引腳被設(shè)置為輸入還是輸出模式,都不影響引腳狀態(tài)的讀出。,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相關(guān)寄存器描述IOxDIR,當(dāng)引腳設(shè)置為GPIO輸出模式時,可使用該寄存器控制引腳的方向。向某位寫入1使對應(yīng)引腳作為輸出功能,寫入0時作為輸入功能。 作為輸入功能時,引腳處于高阻態(tài)。,PINSELx,IOxDIR,IOxCLR
18、,IOxPIN,IOxSET,in,out,1,0,GPIO相關(guān)寄存器描述IOxSET,當(dāng)引腳設(shè)置為GPIO輸出模式時,可使用該寄存器從引腳輸出高電平。向某位寫入1使對應(yīng)引腳輸出高電平。寫入0無效。 從該寄存器讀回的數(shù)據(jù)為GPIO輸出寄存器的值。該值不反映外部環(huán)境對引腳的影響。,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相關(guān)寄存器描述IOxCLR,當(dāng)引腳設(shè)置為GPIO輸出模式時,可使用該寄存器從引腳輸出低電平。向某位寫入1使對應(yīng)引腳輸出低電平。寫入0無效。 注意:讀取該寄存器無效,不能讀回輸出寄存器的值。,使用GPIO注意要點,引腳設(shè)
19、置為輸出方式時,輸出狀態(tài)由IOxSET和IOxCLR中最后操作的寄存器決定; 大部分GPIO輸出為推挽方式(個別引腳為開漏輸出),正常拉出/灌入電流均為4mA(短時間極限值40mA); 復(fù)位后默認所有GPIO為輸入模式。,. PINSEL0 .,C代碼:,PINSEL0,IO0DIR,IO0CLR,IO0PIN,IO0SET,in,out,1,0,GPIO應(yīng)用示例設(shè)置P0.0輸出高電平,P0.0,. uint32 PinStat; PINSEL0 .,C代碼:,PINSEL0,IO0DIR,IO0CLR,IO0PIN,IO0SET,in,out,1,0,GPIO應(yīng)用示例讀取P0.0引腳狀態(tài),P
20、0.0,IO0PIN,#define DataBus 0 xFF PINSEL0 .,使用IOxSET和IOxCLR實現(xiàn):,GPIO應(yīng)用示例輸出多位數(shù)據(jù)至IO口,在需要將多位數(shù)據(jù)同時輸出到某幾個IO口線時,通常使用IOxSET和IOxCLR來實現(xiàn),在某些情況下也可以使用IOxPIN寄存器實現(xiàn)。后者可以在多個IO口上直接輸出0和1電平。 本例將8位無符號整數(shù)變量Data的值輸出到P0.0P0.7。,數(shù)據(jù)輸出線:,#define DataBus 0 xFF PINSEL0 .,GPIO應(yīng)用示例輸出多位數(shù)據(jù)至IO口,在需要將多位數(shù)據(jù)同時輸出到某幾個IO口線時,通常使用IOxSET和IOxCLR來實現(xiàn)
21、,在某些情況下也可以使用IOxPIN寄存器實現(xiàn)。后者可以在多個IO口上直接輸出0和1電平。 本例將8位無符號整數(shù)變量Data的值輸出到P0.0P0.7。,使用IOxPIN實現(xiàn):,數(shù)據(jù)輸出線:,特殊:LPC2103 GPIO的模式,LPC2103的GPIO有兩種模式:高速GPIO和低速GPIO(相對高速而言)。 高速GPIO的控制寄存器位于CPU的局部總線上,可進行高速的讀寫操作。 低速GPIO的控制寄存器是掛在VPB總線上。,表4.4所列寄存器是用來選擇GPIO的操作模式。當(dāng)GPIO0M位的值為0時,選擇低速GPIO,當(dāng)GPIO0M位的值為1時,選擇高速GPIO。在使用引腳的GPIO時,必須選擇GPIO的操作模式。,而表4.6所列是高速GPIO的相關(guān)寄存器,掛在局部總線上,對掛在局部總線上的這些寄存器的訪問,就如訪問片內(nèi)存儲器一樣快速。 P0口作為高速GPIO使用時,將不能在調(diào)試環(huán)境下觀察GPIO在VPB總線上的寄存器。,高速GPIO時的控制寄存器,FIOMASK寄存器只有在高速GPIO的情況下才有,此寄存器可以選擇端口的引腳是否受寄存器FIOPIN、FIOSET或FIOCLR寫操作的影響。當(dāng)寄存器寫0時,對應(yīng)位的引腳可以通過相應(yīng)的寄存器來訪問;當(dāng)寄存器寫1時,對應(yīng)位的引腳將不響應(yīng)通過寄存器FIOPIN、FIOSET或FI
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東管理學(xué)院2026年公開招聘人員備考題庫(長期招聘崗位)及答案詳解一套
- 山東高速集團有限公司2025年下半年校園招聘備考題庫及參考答案詳解
- 2026年小學(xué)教育、心理健康教育考試備考題庫有答案
- 山西省孝義中學(xué)2026年競賽教練招聘計劃備考題庫及答案詳解1套
- 2026年淮南壽縣職業(yè)中專學(xué)校機電專業(yè)職教高考教師招聘參考題庫新版
- 企業(yè)合同管理與執(zhí)行流程指南(標(biāo)準版)
- 巴州區(qū)2026年赴高校招聘79名教師、教練員備考題庫完整參考答案詳解
- 2026年山西省晉中市單招職業(yè)傾向性測試題庫新版
- 平頂山市2026年度市直機關(guān)公開遴選公務(wù)員備考題庫附答案詳解
- 廣東省城市技師學(xué)院2025年公開招聘工作人員備考題庫有答案詳解
- 陜西交控集團2026校園招聘考試備考題庫附答案
- 2026年氣瓶檢驗員閉卷考試檢驗報告出具規(guī)范練習(xí)與總結(jié)含答案
- 2026年自由職業(yè)者合同
- 燃氣工程施工安全培訓(xùn)
- 叉車司機考試題庫1000題(答案)
- 頸肩腰腿痛的防治
- 中藥檢驗報告書書寫格式規(guī)范概要
- YS/T 534.2-2007氫氧化鋁化學(xué)分析方法第2部分:燒失量的測定重量法
- GB/T 31540.1-2015消防安全工程指南第1部分:性能化在設(shè)計中的應(yīng)用
- 林果業(yè)機械化水平評價指標(biāo)體系
- 安全生產(chǎn)標(biāo)準化管理體系全套文件
評論
0/150
提交評論