chapter 7 LPC2378硬件介紹 嵌入式課件.ppt_第1頁
chapter 7 LPC2378硬件介紹 嵌入式課件.ppt_第2頁
chapter 7 LPC2378硬件介紹 嵌入式課件.ppt_第3頁
chapter 7 LPC2378硬件介紹 嵌入式課件.ppt_第4頁
chapter 7 LPC2378硬件介紹 嵌入式課件.ppt_第5頁
免費預覽已結束,剩余45頁可下載查看

下載本文檔

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

文檔簡介

1、LPC2378硬件介紹,系統(tǒng)結構 系統(tǒng)主要電路 系統(tǒng)時鐘 存儲分配 中斷向量,系統(tǒng)結構,系統(tǒng)結構,系統(tǒng)結構,引腳功能 見,系統(tǒng)主要電路,電源電路,時鐘電路,存儲器地址分配,存儲分配,0 xC000 0000,0 x8100 FFFF,3.0GB,0 x8100 0000,0 x8000 FFFF,0 x8000 0000,2.0GB,0 x7FE0 3FFF,0 x7FE0 0000,0 x7FD0 1FFF,0 x7FD0 0000,0 x4000 8000,0 x4000 7FFF,0 x4000 0000,1.0GB,0 x0008 0000,0 x0007 FFFF,0 x0000 0

2、000,0.0GB,外圍設備存儲器映射,0XFFFF FFFF,0XFFE0 0000,0XFFDF FFFF,0XF000 0000,0XEFFF FFFF,0XE020 0000,0XE01F FFFF,0XE000 0000,4.0GB-2MB,3.75GB,3.5GB+2MB,3. 5GB,APB 外設和基地址,存儲器映射,存儲器映射基本概念,ARM處理器產(chǎn)生的地址叫虛擬地址,把這個虛擬地址按照某種規(guī)則轉換到另一個物理地址去的方法稱為地址映射。這個物理地址表示了被訪問的存儲器的位置。它是一個地址范圍,該范圍內(nèi)可以寫入程序代碼。 存儲器映射的基本概念是:每個存儲器組在存儲器映射中都有一個

3、“物理上的”位置,它是一個地址范圍,該范圍內(nèi)可寫入程序代碼每一個存儲器空間的容量都永久固定在同一個位置,這樣就不需要將代碼設計成在不同地址范圍內(nèi)運行,芯片復位后用戶看見的地址空間,256KB Flash (LPC2292/2294),16KB SRAM,8KB BootBlock,2MB VPB 外設,2MB AHB 外設,0 x00000000,0 xFFFFFFFF,保留給片內(nèi)存儲器使用,保留給片內(nèi)存儲器使用,0 x40000000,0 xE0000000,0 x80000000,0 xF0000000,地址空間,0X0003FFFF,保留給片外存儲器使用,片內(nèi)總線,AHB和VPB,AHB

4、(先進的高性能總線)和VPB(VLSI外設總線)外設區(qū)域都為2M字節(jié),可各分配128個外設。每個外設空間的規(guī)格都為16K字節(jié),這樣就簡化了每個外設的地址譯碼。,注意:AHB和VPB外設區(qū)域中不管是字還是半字,都是一次性訪問。例如不可能對一個字寄存器的最高字節(jié)執(zhí)行單獨的讀或寫操作,外設存儲器映射,均為12816KB(2MB)范圍,AHB外設映射,每個外設空間的規(guī)格 都是16KB,VPB外設映射,Boot lock的映射地址安排,為了兼容將來的器件,整個Boot Block被映射到片內(nèi)存儲器空間的頂端。所以將來的芯片內(nèi)置不同的RAM和FALSH都不會影響B(tài)oot Block的位置。,地址空間,映射

5、位置固定在內(nèi)部存儲器頂端,RAM和Flash 的變化不會影響B(tài)ootBlock的位置,SRAM,Flash,0 x80000000,存儲器重新映射,存儲器重新映射是將復位后用戶所見的存儲器中部分區(qū)域,再次映射到其它的地址上。 對于Philips的LPC系列ARM微控制器,存儲器重新映射區(qū)域一共為64字節(jié),分別為異常向量區(qū)(32字節(jié))和緊隨其后的32字節(jié)。存儲器重新映射的方法允許在不同模式下處理中斷,重新映射的存儲器區(qū)域在地址0 x000000000 x0000003F處。存儲器重新映射的控制見“存儲器映射控制”小節(jié)。,ARM異常向量位置,下圖所示為重新映射后的片內(nèi)存儲器。,LPC2300存儲器

6、映射模式,存儲器映射控制寄存器,系統(tǒng)時鐘,寄存器,.4 系統(tǒng)控制模塊,系統(tǒng)時鐘概述 晶體振蕩器 PLL VPB分頻器,系統(tǒng)時鐘,5.4 系統(tǒng)控制模塊,系統(tǒng)時鐘概述,CPU正常工作需要有合適的時鐘信號,包括ARM7內(nèi)核使用的CCLK時鐘,和芯片外設使用的PCLK時鐘。 通過LPC2000系列微控制器的時鐘產(chǎn)生單元產(chǎn)生ARM7內(nèi)核和芯片外設正常工作所需要的時鐘節(jié)拍。,5.4 系統(tǒng)控制模塊,系統(tǒng)時鐘概述,FOSC,CPU時鐘結構,5.4 系統(tǒng)控制模塊,時鐘產(chǎn)生單元,時鐘產(chǎn)生單元包括晶體振蕩器、鎖相環(huán)振蕩器(PLL)和VPB分頻器。,5.4 系統(tǒng)控制模塊,鎖相環(huán)(PLL),由晶體振蕩器輸出的時鐘信號,

7、通過PLL升頻,可以獲得更高的系統(tǒng)時鐘(CCLK)。 PLL接受的輸入時鐘頻率范圍為1025MHz,通過一個電流控制振蕩器(CCO)倍增到1060MHz。,10MHz25MHz,10MHz60MHz,PLL,PLL內(nèi)部結構,相位頻率 檢測,CCO,1 0,2P 分頻,M 分頻,0 1,0 1,FOSC,FCCO,FCLK,晶體振蕩器輸入時鐘,對輸入的兩路時鐘信號進行相位頻率檢測,將兩者差值以電流形式輸出,電流控制振蕩器,根據(jù)輸入電流控制振蕩頻率,對輸入時鐘分頻,輸入時鐘 2選1開關,PLL內(nèi)部結構,相位頻率 檢測,CCO,1 0,2P 分頻,M 分頻,0 1,0 1,FOSC,FCCO,FCL

8、K,FCCO / 2P,FCCO / (2P*M),CCO自由振蕩,輸出頻率FCCO,根據(jù)兩個輸入時鐘的相位偏差,控制CCO。當兩個時鐘相位同步時,回路鎖定。,PLL相關寄存器,PLL控制寄存器(PLLCON):,PLLE:PLL使能,該位為1時將激活PLL并允許其鎖定到指定的頻率;,PLLC:PLL連接,當PLLE為1,并且在PLL鎖定后,該位為1,將把PLL作為時鐘源連接到CPU,否則直接使用振蕩器時鐘。,注:其中“”表示該位保留,用戶不要向該位寫入1,讀取的值將不確定,PLLC,PLLE,PLL相關寄存器,PLL控制寄存器(PLLCON):,PLLC,PLLE,PLL相關寄存器,PLL控

9、制寄存器(PLLCON):,PLL配置寄存器(PLLCFG):,MSEL4:0:PLL倍頻器值,在PLL頻率計算中其值為(M-1);,PSEL1:0:PLL分頻器值,在PLL頻率計算中其值為P 。,PLL相關寄存器,PLL狀態(tài)寄存器(PLLSETA):,MSEL4:0、PSEL1:0、PLLE、PLLC:讀出反映這幾個參數(shù)的設置值,寫入無效;,PLOCK:反映PLL的鎖定狀態(tài)。為0時,PLL未鎖定;為1時,PLL鎖定到指定頻率。,PLL相關寄存器,PLL饋送寄存器(PLLFEED):,PLLFEDD7:0:PLL饋送序列必須寫入該寄存器才能使PLL配置和控制寄存器的更改生效;,PLL相關寄存器

10、,饋送序列為: 1.將值0 xAA寫入PLLFEED; 2.將值0 x55寫入PLLFEED。,PLL相關寄存器,PLL饋送寄存器(PLLFEED):,PLL頻率計算,回路鎖定后:FOSC = FCCO / (2P M) FCLK = FOSC M,FOSC:晶振頻率; FCCO :CCO振蕩器輸出頻率FCCLK:處理器時鐘頻率; M:PLL倍頻值 P:PLL分頻值,必須滿足的條件: FOSC范圍:10MHz25MHz; FCCLK范圍:10MHz60MHz; FCCO范圍:156MHz320MHz;,5.4 系統(tǒng)控制模塊,鎖相環(huán)(PLL)計算實例,系統(tǒng)要求:FOSC10MHz、CCLK 60

11、MHz,1.計算M值:M CCLK / FOSC 6 ;,2.設置MSEL位:寫入值為(M1)5;,3. 設置PSEL位:PFCCO/(CCLK2) (156320)/1201.32.67 所以P取整數(shù)2,PSEL寫入值為2。,系統(tǒng)時鐘,鎖相環(huán)(PLL)注意要點,PLL在芯片復位或進入掉電模式時被關閉并旁路,在掉電喚醒后不會自動恢復PLL的設定; PLL只能通過軟件使能; PLL在激活后必須等待其鎖定,然后才能連接; PLL如果設置不當將會導致芯片的錯誤操作。,5.8 系統(tǒng)時鐘,VPB分頻器,VPB分頻器將PLL輸出的時鐘信號分頻后作為芯片外設的時鐘。,VPB分頻器,5.4 系統(tǒng)控制模塊,VP

12、B分頻器,VPB分頻器決定處理器時鐘(CCLK)與外設器件所使用的時鐘(PCLK)之間的關系。 VPB用途1:通過VPB總線為外設提供所需的PCLK時鐘,以便外設在合適的速度下工作; VPB用途2:在應用不需要任何外設全速運行時使功耗降低。,5.4 系統(tǒng)控制模塊,VPB分頻器相關寄存器,VPB分頻寄存器(VPBDIV):,VPBDIV1:0:設置分頻值,可以設定3個值;,XCLKDIV1:0:這些位用于控制LPC2200系列微控制器A23/XCLK引腳上的時鐘驅動,取值編碼方式與VPBDIV相同;,5.4 系統(tǒng)控制模塊,VPB分頻器相關寄存器,VPB分頻寄存器(VPBDIV):,系統(tǒng)時鐘初始化

13、流程,系統(tǒng)時鐘初始化啟動代碼實例,/應當與實際一至晶振頻率,10MHz25MHz,應當與實際一至 #define Fosc 1 /系統(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)各時鐘的頻率定義為宏,方便用戶操作。,設置晶振頻率,設置內(nèi)核工作頻率,設置CCO輸出頻率,設置外

14、設工作頻率,系統(tǒng)時鐘初始化啟動代碼實例,使能PLL,設置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ù)用戶定義的宏來決定要設置的值,可以方便用戶使用。,系統(tǒng)時鐘初始化啟動代碼實例,設置PLL 分頻值,C代碼分析:,. . . #if(Fcc

15、o/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鎖定,連接PLL,PLL饋送序列,C代碼分析:,. . . PLLFEED = 0 xaa; PLLFEED = 0 x55; while(PLLSTAT ,注意:在修改PLL的控制和配置寄存器后,必須寫入饋送序列,使修改生效。,頻率計算,PLL 等式使用下列參數(shù): FINPLLCLKIN頻率 FCCOSYSCLK頻率(PLL電流控制振蕩器的輸出頻率) NPLL前置分頻器值,來源于PLLCFG中的NSEL位。N取值范圍是1到32之間的整數(shù) MPLL倍頻器值,來源于PLLCFG中的MSEL位。 FREFPL

溫馨提示

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

評論

0/150

提交評論