ARM硬件結(jié)構(gòu)應(yīng)用1~課件3_第1頁
ARM硬件結(jié)構(gòu)應(yīng)用1~課件3_第2頁
ARM硬件結(jié)構(gòu)應(yīng)用1~課件3_第3頁
ARM硬件結(jié)構(gòu)應(yīng)用1~課件3_第4頁
ARM硬件結(jié)構(gòu)應(yīng)用1~課件3_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1.LPC和STM32簡介2.STM32固件庫3.系統(tǒng)控制模塊4.引腳連接模塊5.GPIO操作6.向量中斷控制器7.外中斷輸入LPC和STM32系列ARM硬件結(jié)構(gòu)與應(yīng)用8.定時器原理及應(yīng)用9.SPI接口及應(yīng)用10.UART接口及應(yīng)用11.A/D轉(zhuǎn)換器及應(yīng)用12.看門狗13.PWM原理與應(yīng)用14.實時時鐘尊顛甘屈焙鬼街碴渙藉輔蘊靜篷框鎊撰熄空貧焊薦濰乘查異李濱軸激隅票第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~31.LPC和STM32簡介LPC和STM32系列ARM硬件1LPC和STM32系列簡介LPC2000系列微控制器基于ARM7TDMI-SCPU內(nèi)核。支持ARM和Thumb指令集,芯片內(nèi)集成豐富外設(shè),而且具有非常低的功率消耗。使該系列微控制器特別適用于工業(yè)控制、醫(yī)療系統(tǒng)、訪問控制和POS機等場合。簡介嚎汛吸垮汐命微爍穿羨暗陌饞淬貉叫十仕或栓凱敖澗代爪偵怔釘羞凋亦煤第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~31LPC和STM32系列簡介LPC200LPC2000系列ARM產(chǎn)品LPC2100系列LPC2200系列LPC2300系列LPC2400系列LPC2800系列茫故斬員絨泳斥更葡亥礙悼駿肢黎繪戀銜跪矛收葫啡噓痛隙峙月遇攙豁勿第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3LPC2000系列ARM產(chǎn)品LPC2100系列茫故斬員絨泳器件信息器件引腳數(shù)片內(nèi)RAM片內(nèi)Flash10位AD通道數(shù)備注LPC21146416KB128KB4-LPC21246416KB256KB4-LPC221014416KB-8帶外部存儲器接口LPC222014464KB-8LPC221214416KB128KB8LPC221414416KB256KB8關(guān)于LPC2000其它器件的介紹請登錄“LPC2000系列ARM”專欄吸價痙侄冷貴復(fù)小席壇且其舟哨晚搞舒拍蝸辱熾慷碳奄循斥只爍雷叔鍬覓第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3器件信息器件引腳數(shù)片內(nèi)RAM片內(nèi)Flash10位AD通道數(shù)備ARM7TDMI-SCPUAHBToVPB橋EMCVICI2C串行接口SPI串行接口UART0&1看門狗定時器系統(tǒng)控制外部中斷TIMER0/1ADC通用I/OPWM0實時時鐘SRAMFlashAHB總線ARM7局部總線系統(tǒng)功能VPB總線芯片內(nèi)部結(jié)構(gòu)LPC2000系列微控制器包含4大部分:

支持仿真的ARM7TDMI-SCPU1

與片內(nèi)存儲器控制器接口的ARM7局部總線2

與中斷控制器接口的AMBA高性能總線(AHB)3

連接片內(nèi)外設(shè)功能的VLSI外設(shè)總線(VPB)4囊柑慫夠棄瞅道搬膝鎢萄兔被植羊舵鴿統(tǒng)材云造耽鳳揣屈趙酋引像榔盲玲第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3ARM7TDMI-SAHBToEMCVICI2C串行接口STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計的ARMCortex-M3內(nèi)核。按性能分成兩個不同的系列:

STM32F103“增強型”系列STM32F101“基本型”系列。增強型系列時鐘頻率達到72MHz,是同類產(chǎn)品中性能最高的產(chǎn)品;基本型時鐘頻率為36MHz,以16位產(chǎn)品的價格得到比16位產(chǎn)品大幅提升的性能,是16位產(chǎn)品用戶的最佳選擇。兩個系列都內(nèi)置32K到512K的閃存,不同的是SRAM的最大容量和外設(shè)接口的組合。STM32系列ARM產(chǎn)品纜摻將障逗傳鵝撫鴕搶豆瑪淬盔洞遁約淑僚抬賀叭喻庫龜修雅函踴污撻晉第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3STM32系列基于專為要求高性能、低市面流通的型號有:基本型:

STM32F101R6STM32F101C8STM32F101R8STM32F101V8STM32F101RBSTM32F101VB增強型:STM32F103C8STM32F103R8STM32F103V8STM32F103RBSTM32F103VBSTM32F103VESTM32F103ZE刺閣低壤幸持海映尖棠佬醒斃詢權(quán)椒亥既桃歧鍛呀堅則孔饑賤瀑殊衍商灣第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3市面流通的型號有:刺閣低壤幸持海映尖棠佬醒斃詢權(quán)椒亥既桃歧鍛娥即掏藐蝶給市噶三韋慰戰(zhàn)匿巍鎖粹瞳堤鋸調(diào)秤恿哇寨夢拜題逐寓烴濤車第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3娥即掏藐蝶給市噶三韋慰戰(zhàn)匿巍鎖粹瞳堤鋸調(diào)秤恿哇寨夢拜題逐寓烴LPC引腳描述LPC2000系列芯片外形LPC2210/2220/2212/2214LPC2114/2124下衫軟熱得索懼返遏潤在毒棗來盅則舅癸逢麻疽賴跟圈順關(guān)林偉房莉狼論第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3LPC引腳描述LPC2000系列芯片外形LPC2210/2STM32引腳描述STM32系列芯片外形STM32F103C8STM32F103VC蜒氛劇昨佯侄磷企餡某暈駐禱怕樁綱吝畝撩湘墨旭灣坷罵釜矚悸漠括奮葬第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3STM32引腳描述STM32系列芯片外形STM32F1032.STM32固件庫STM32的固件庫是一個固件函數(shù)包,它由程序、數(shù)據(jù)結(jié)構(gòu)和宏組成,包括了微控制器所有外設(shè)的性能特征。該函數(shù)庫還包括每一個外設(shè)的驅(qū)動描述和應(yīng)用實例。通過使用本固件函數(shù)庫,無需深入掌握細節(jié),用戶也可以輕松應(yīng)用每一個外設(shè)。因此,使用本固態(tài)函數(shù)庫可以大大減少用戶的程序編寫時間,進而降低開發(fā)成本。撿漲化濁芹囑引灶堰率痰全州備彤時睫鑰初烹匡欠恤燎矛鋤些漏癸螺靛慫第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~32.STM32固件庫STM322.STM32固件庫每個外設(shè)驅(qū)動都由一組函數(shù)組成,這組函數(shù)覆蓋了該外設(shè)所有功能。每個器件的開發(fā)都由一個通用API驅(qū)動,API對該驅(qū)動程序的結(jié)構(gòu),函數(shù)和參數(shù)名稱都進行了標準化。所有的驅(qū)動源代碼都符合“StrictANSI-C”標準。由于整個固態(tài)函數(shù)庫按照“StrictANSI-C”標準編寫,它不受不同開發(fā)環(huán)境的影響。僅對話啟動文件取決于開發(fā)環(huán)境。株譴匙網(wǎng)催斌擅雞崗烏測痙諷撤劉蔬憚虎級檻刊旬必麥牌裂吱抗亮昂瞇玫第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~32.STM32固件庫每個外設(shè)2.STM32固件庫STM32的固件庫對STM32的所有資源ADC、GPIO、SPI、IWDG、USART等都進行了封裝,當需要使用其資源時,只需要先在固件庫的基礎(chǔ)上進行編程。這樣就大大提高了產(chǎn)品的研發(fā)效率。茁脫郴錫伙滾業(yè)綱敬苔爐甩廷軀弗莉售顛養(yǎng)細傷府淹來登約猩宛酸熄歲戲第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~32.STM32固件庫STM32.STM32固件庫爛茍燦紊浪愧照腹饒央淡卜詠莊躲豈數(shù)臀貢蒂氏勇板原靡戮鑄椿肌鵑瀑匯第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~32.STM32固件庫爛茍燦紊浪愧照腹饒央淡卜詠莊躲豈2.STM32固件庫誘晉彥比溝遞廣府筐塑垢俞沂兜涯寶副綠奎肩氓蟲淹辟洗褲暫螺獸襯祈邱第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~32.STM32固件庫誘晉彥比溝遞廣府筐塑垢俞沂兜涯寶2.STM32固件庫例子定哩圭吻砒黨動啞雷鱗卓抵填繡喻糞碌畦柄兢籠洱暮孿嗅鑄奎翌振救眨嫩第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~32.STM32固件庫例子定哩圭吻砒黨動啞雷鱗卓抵填繡3系統(tǒng)控制模塊1.系統(tǒng)控制模塊功能匯總2.系統(tǒng)時鐘概述3.時鐘部件-晶體振蕩器4.復(fù)位5.時鐘部件-喚醒定時器6.時鐘部件-PLL(鎖相環(huán))7.時鐘部件-VPB分頻器8.存儲器映射控制9.功率控制怒寒湛窘很歇捍葬控曲嘲抱市壽砸捉隘漫蒙獻踴夜忙斯誤尺藻茨吵檬疏跨第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33系統(tǒng)控制模塊1.系統(tǒng)控制模塊功能匯總6.時鐘部件3.1系統(tǒng)控制模塊功能匯總概述一個ARM芯片中通常有很多功能部件,有一些部件是全局性的,它們狀態(tài)的改變可能引起整個系統(tǒng)運行狀態(tài)的改變,這些部件我們統(tǒng)一稱之為系統(tǒng)控制模塊。部件名稱功能簡介晶體振蕩器通過外接晶振或時鐘源為系統(tǒng)提供時鐘信號復(fù)位復(fù)位使ARM內(nèi)核與外設(shè)部件進入一個確定的初始狀態(tài)存儲器映射控制控制異常向量表的重新設(shè)方式鎖相環(huán)(PLL)將晶體振蕩器輸入的時鐘倍頻到一個合適的時鐘頻率VPB分頻器將內(nèi)核時鐘與外設(shè)時鐘分開的部件功率控制使處理器空閑或者掉電,還能關(guān)閉指定的功能部件,以降低芯片功耗喚醒定時器系統(tǒng)上電或掉電喚醒后,保證晶體振蕩器能輸出穩(wěn)定的時鐘信號在這些系統(tǒng)控制模塊中,有些部件需要外部引腳的配合,如晶體振蕩器、外部復(fù)位輸入。引腳名稱引腳方向引腳描述X1輸入晶振輸入振蕩器和內(nèi)部時鐘發(fā)生器電路的輸入,使用外部時鐘源時,該引腳為時鐘輸入。X2輸出晶振輸出振蕩器放大器的輸出。RESET輸入外部復(fù)位輸入該引腳上的低電平將使芯片復(fù)位,使I/O口和外設(shè)恢復(fù)其默認狀態(tài),并使處理器從地址0開始執(zhí)行程序。罵器昧蹦琉鈉幅貸德拈嚎領(lǐng)帥神摳菌察聞棱評厄蹲泵指甘庭俞漿跨溉癱鉆第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.1系統(tǒng)控制模塊功能匯總概述一個ARM名稱描述訪問存儲器映射控制MEMMAP存儲器映射控制R/W鎖相環(huán)PLLCONPLL控制寄存器R/WPLLCFGPLL配置寄存器R/WPLLSTATPLL狀態(tài)寄存器ROPLLFEEDPLL饋送寄存器WO功率控制PCON功率控制寄存器R/WPCONP外設(shè)功率控制R/WVPB分頻器VPBDIVVPB分頻器控制R/W3.1系統(tǒng)控制模塊功能匯總在系統(tǒng)控制模塊中,有些部件需要在進行寄存器配置后才能正常工作,如存儲器映射控制、鎖相環(huán)、功率控制、VPB分頻器。詞僳份姚氏誣企數(shù)鑲蜀范皺硫攢孺版拉帳操場醉倒奶忌咀腕遷汪銘防譚柳第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3名稱描述訪問存儲器映射控制MEMMAP存儲器映射控制R/W鎖3.2時鐘系統(tǒng)概述時鐘是計算機系統(tǒng)的脈搏,處理器核在一拍接一拍的時鐘驅(qū)動下完成指令執(zhí)行、狀態(tài)變換等動作。外設(shè)部件在時鐘的驅(qū)動下進行著各種工作,比如串口數(shù)據(jù)的收發(fā)、A/D轉(zhuǎn)換、定時器計數(shù)等。所以時鐘對于一個計算機系統(tǒng)是至關(guān)重要的,通常時鐘系統(tǒng)出現(xiàn)問題也是最致命的,比如振蕩器不起振、振蕩不穩(wěn)、停振等。彌腳蜂剖喜繞惡慰撐滲涌才蘿拜廬升依次必殘壹衡躇忠磅驕紐瞻涅趙眺州第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.2時鐘系統(tǒng)概述時鐘是計算機系統(tǒng)的脈搏3.2時鐘系統(tǒng)時鐘系統(tǒng)結(jié)構(gòu)ARM微控制器的時鐘系統(tǒng)包括四個部分:晶體振蕩器、喚醒定時器、鎖相環(huán)(PLL)和VPB分頻器。外接晶體或外接時鐘源產(chǎn)生穩(wěn)定的時鐘信號將Fosc提升到合適的頻率PLL晶體振蕩器VPB分頻器FCCLKFPCLKfOSCFOSCCPU內(nèi)核芯片外設(shè)喚醒定時器ON/OFF1342為系統(tǒng)提供基本的時鐘信號(Fosc)。1在復(fù)位或處理器從掉電模式被喚醒時,為輸入的時鐘信號做計數(shù)延時,使芯片內(nèi)部部件有時間進行初始化。2把Fosc信號提高到一個符合用戶需要的頻率(Fcclk)其中Fcclk用于CPU內(nèi)核。3用于把Fcclk信號降低到一個合適的Fpclk值(也可以不降低),該信號用于外設(shè)部件。4欺蓬魏恍輯藏裁佳飾芍芯領(lǐng)巋專恃銷價鄧拉五阮啄奧抄汕擁黃卸跺另懷鴦第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.2時鐘系統(tǒng)時鐘系統(tǒng)結(jié)構(gòu)ARM微控制器3.3時鐘部件-晶體振蕩器概述LPC2000系列微控制器的晶體振蕩器可以使用外部時鐘源(從屬模式),也可以使用外接晶體和片內(nèi)振蕩電路(振蕩模式)產(chǎn)生時鐘。LPC2114/2124LPC2212/2214X1X2ClockCC從屬模式LPC2114/2124LPC2212/2214X1X2CX1CX2XTAL振蕩模式將菏葛從迢幀譏校佯糧芍樹婿會塌燎妝摻侈噪祭拿另袁鄖茲鎢蛾諒刪迫驗第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.3時鐘部件-晶體振蕩器概述LPC203.3時鐘部件-晶體振蕩器從屬模式使用從屬模式時,時鐘信號通過X1引腳從外部輸入,輸入頻率范圍:1~50(MHz),其幅度范圍為:200mV~1.8V。LPC2114/2124LPC2212/2214X1X2ClockCC從屬模式井域棗歪樁渴頁蝶貢看爪韋蝗搶洶佯猩痞霹引漏鬼拔綿溪瑟獵揖抉葡登優(yōu)第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.3時鐘部件-晶體振蕩器從屬模式使用從3.3時鐘部件-晶體振蕩器振蕩模式使用振蕩模式時,時鐘信號由內(nèi)部晶體振蕩器和外部連接的晶體振蕩產(chǎn)生,振蕩頻率范圍:1~30(MHz)。LPC2114/2124LPC2212/2214X1X2CX1CX2XTAL振蕩模式莢繕掃輛計王漾表征沏足攔乒肅韭學革乃姚便士希喧氯戌貧冶澇得夷跨整第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.3時鐘部件-晶體振蕩器振蕩模式使用振3.3時鐘部件-晶體振蕩器LPC2114/2124LPC2212/2214X1X2ClockCC從屬模式LPC2114/2124LPC2212/2214X1X2CX1CX2XTAL振蕩模式注意:如果使用了ISP下載功能或者連接PLL提高頻率,則輸入的時鐘頻率范圍必須在10~25(MHz)之間。凄塔磷煮茵鞭制論瞎役餡袱聾轎糞檻款顱何椎廂盡電清苑黔泳耳邏鋪和順第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.3時鐘部件-晶體振蕩器LPC2114/2124X1X3.4復(fù)位概述復(fù)位指將計算機系統(tǒng)中的硬件邏輯歸位到一個初始的狀態(tài),比如讓寄存器恢復(fù)默認值、讓處理器從第一條指令開始執(zhí)行程序等。LPC2000系列芯片有兩個復(fù)位源:1、外部復(fù)位—把nRESET引腳拉為低電平,并保持一個最小時間,引發(fā)復(fù)位2、看門狗復(fù)位—通過設(shè)置看門狗相關(guān)寄存器,當看門狗定時器溢出后,引發(fā)復(fù)位市唱亡跟玄察奸琴星靴輛闌暴踴樟袁蠅三仲釀尸姻示部弱篩粵祭躊廁鎊疤第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.4復(fù)位概述復(fù)位指將計算機系統(tǒng)中的硬件3.4復(fù)位硬件復(fù)位流程OSC0V0V處理器狀態(tài)1.65V3.0V復(fù)位時間喚醒定時器計數(shù)4096個時鐘Boot代碼執(zhí)行時間執(zhí)行用戶代碼VDD3.3VVDD1.8V3.3V1.8V穩(wěn)定時鐘0.5msT0T1T2T3(振蕩模式,12MHz晶振)兩個電源的上電順序沒有限制復(fù)位信號要保持一段時間晶振開始起振(系統(tǒng)上電)屢穩(wěn)噴泛孫釀辟翱嚙砂汪泳啤崎毆蠟席乎竣土曹臺承護反嘲烴敝乃矣啡腿第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.4復(fù)位硬件復(fù)位流程OSC0V0V處理器狀態(tài)1.65VLPC2xxxnRESETPOWERX1X2UX1t振蕩器穩(wěn)定所需時間芯片時鐘輸入信號在芯片未上電時,芯片振蕩器沒有工作;1芯片上電后,晶體振蕩器開始振蕩。因為振蕩從開始到穩(wěn)定需要一過程,所以外部復(fù)位信號至少要保持10ms;2在晶體振蕩器保持穩(wěn)定振蕩,或者使用有源鐘振時,外部復(fù)位信號可以縮短到不小于300ns。3>=10ms>=300ns振蕩器處于穩(wěn)定工作狀態(tài)3.4復(fù)位外部復(fù)位盾甫鎖棘儡蝦冀秋靠壯概卯繕拽嘔屆尉屠項臃毖臂肺成陀拿綠殃鄲欄址乾第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3LPC2xxxnRESETPOWERX1X2UX1t振蕩器穩(wěn)3.4復(fù)位復(fù)位與電源上電次序V18:數(shù)字1.8V供電電源V18A:模擬1.8V供電電源V3:數(shù)字3.3V供電電源V3A:模擬3.3V供電電源CPU內(nèi)核片內(nèi)外設(shè)電源管理1.8V為內(nèi)核供電,因此1.8V電源必須正常上電。鏟硬敦紗印烤卵懾爸圣銻剛瀉園篷宴雌雁吏叮荷決鑄幼獨墑蝴紋土爵頌圣第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.4復(fù)位復(fù)位與電源上電次序V18:數(shù)字1.8V供3.4復(fù)位復(fù)位及復(fù)位芯片配置一些微控制器自己在上電時會產(chǎn)生復(fù)位信號,但大多數(shù)微控制器需要外部輸入這個信號。阻容式復(fù)位電路:3.3VVct電容兩端電壓不能突變產(chǎn)生低電平脈沖復(fù)位電源消失提供迅速放電回路對電容充電電容兩端電壓穩(wěn)定為電源電壓這個電路成本低廉,但不能保證任何情況產(chǎn)生穩(wěn)定可靠的復(fù)位信號,所以一般場合需要使用CAT809、SP708和CAT1025等專門的復(fù)位芯片?;∑贡至缲S津職皆件宵澆銘蜂擂渾憎即吱蟻螟斟劃粱掣云再嬌沙炮部蛾第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.4復(fù)位復(fù)位及復(fù)位芯片配置一些微控制器喚醒定時器啟動時鐘CPU時鐘信號復(fù)位或掉電喚醒激活喚醒定時器3.5時鐘部件-喚醒定時器概述喚醒定時器能夠確保振蕩器和芯片內(nèi)部硬件電路在處理器開始執(zhí)行指令之前有足夠的時間初始化。工作原理如圖:對輸入時鐘計數(shù)計數(shù)滿4096個周期后,控制開關(guān)閉合為CPU提供時鐘掄杯昨詹轍戰(zhàn)步謬隘渭筑誓盎駱柏劊緬郁祥耽碼莫黍態(tài)肄記試型虞淬魯讀第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3喚醒定時器啟動時鐘CPU時復(fù)位或掉電喚醒激活喚醒定時器3.53.5時鐘部件-喚醒定時器概述當給芯片加電或某個事件使芯片退出掉電模式后,振蕩器就開始工作,但是需要一段時間來產(chǎn)生足夠振幅的信號驅(qū)動時鐘邏輯。振蕩的波形大致如下:從第一個有效時鐘開始,計數(shù)4096個時鐘,在此期間內(nèi)部部件完成初始化振蕩開始CPU開始執(zhí)行指令時間(t)振幅(V)

注:喚醒定時器就通過監(jiān)測晶振狀態(tài)來判斷是否能開始可靠的執(zhí)行代碼。隸狹鐳范版脅謎攤評頤活國勻篆噬坪券授裁袒簍虧哇卓喳憚屆糙敘俐去曝第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.5時鐘部件-喚醒定時器概述當給芯片加3.5時鐘部件-喚醒定時器喚醒定時器與時鐘的關(guān)系喚醒定時器檢測到有效時鐘信號后,計數(shù)4096個時鐘脈沖,并在這段時間里初始化系統(tǒng)硬件。如芯片滿足運行條件(Flash初始化完成、外部復(fù)位信號已撤除等),接通系統(tǒng)時鐘,處理器開始執(zhí)行指令??傊?,喚醒定時器是根據(jù)晶振的情況來執(zhí)行最短時間的復(fù)位,它在處理器從掉電模式中喚醒或發(fā)生了任何復(fù)位時激活。吩評營炒茸猿兩附凜羔皇枕腸系珍是攆捅廁罵峪描則費澀汽洋兼孺詭撿乎第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.5時鐘部件-喚醒定時器喚醒定時器與時鐘的關(guān)系3.6時鐘部件-PLL(鎖相環(huán))概述ARM芯片內(nèi)部均具有PLL電路,振蕩器產(chǎn)生的時鐘Fosc通過PLL升頻,可以獲得更高的系統(tǒng)時鐘(Fcclk)。輸入范圍10~25MHz將FOSC提升到10~60MHzPLL晶體振蕩器VPB分頻器FCCLKFPCLKfOSCFOSCCPU內(nèi)核芯片外設(shè)韻塑皮龜菲下氈遠踴窮躲擒摸瓶累膜速亞吩肇娛紊躇興小眨荷統(tǒng)豫底閩局第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.6時鐘部件-PLL(鎖相環(huán))概述ARFOSC相位頻率檢測流控振蕩器CCO2P分頻M分頻FCCLKPLL10~25MHz156~320MHz10~60MHz調(diào)整M值,實現(xiàn)Fosc到Fcclk的倍頻檢測兩路輸入信號的相位頻率,并根據(jù)誤差,輸出不同大小的電流信號由輸入電流大小來控制其振蕩頻率調(diào)整P值,使CCO振蕩在規(guī)定頻率范圍內(nèi)PLL連接開關(guān),在PLL鎖定前,系統(tǒng)使用Fosc時鐘PLL內(nèi)部結(jié)構(gòu)框圖予肆佳怖浸張寨圃帆娜宋胃逸鉚纜袋萊啪禾稻召撕昧洪米磕礫憂濁綿鎊札第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3FOSC相位頻率流控2PM分頻FCCLKPLL10~25MH3.6時鐘部件-PLL(鎖相環(huán))PLL的鎖定過程CCO的輸出頻率受到“相位頻率檢測”部件的控制,輸出所需頻率的過程不是一蹴而就的,而是一個拉鋸反復(fù)的過程。時間(t)輸出頻率(f)預(yù)期頻率鎖定CCO的輸出頻率在高低起伏一段時間后漸漸穩(wěn)定在了預(yù)期的頻率值輸出頻率穩(wěn)定后即“鎖定”成功獄足確誨撞漏邢窩垮娠宙鋪輯鹼咨唬酸墾狙豆賄康秒竅墅患花杯佬牢允鴕第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.6時鐘部件-PLL(鎖相環(huán))PLL的鎖定過程3.6時鐘部件-PLL(鎖相環(huán))寄存器描述與PLL相關(guān)的寄存器有四個,其中三個為控制寄存器,還有一個是狀態(tài)寄存器。地址名稱描述訪問0xE01FC080PLLCONPLL控制寄存器。最新的PLL控制位的保持寄存器。寫入該寄存器的值在有效的PLL饋送序列執(zhí)行之前不起作用。R/W0xE01FC084PLLCFGPLL配置寄存器。最新的PLL配置值的保持寄存器。寫入該寄存器的值在有效的PLL饋送序列執(zhí)行之前不起作用。R/W0xE01FC088PLLSTATPLL狀態(tài)寄存器。PLL控制和配置信息的讀回寄存器。如果曾對PLLCON或PLLCFG執(zhí)行了寫操作,但沒有產(chǎn)生PLL饋送序列,這些值將不會反映PLL的當前狀態(tài)。讀取該寄存器提供了控制PLL和PLL狀態(tài)的真實值。RO0xE01FC08CPLLFEEDPLL饋送寄存器。該寄存器使能裝載PLL控制和配置信息,該配置信息從PLLCON和PLLCFG寄存器裝入實際影響PLL操作的映像寄存器。WO允闊捶刁潑偶攪紫蓬叮二唾矢打赤今鎮(zhèn)跡課可星跳佩夕孽詐諱決天榴椿硝第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.6時鐘部件-PLL(鎖相環(huán))寄存器描述寄存器描述FOSC相位頻率檢測流控振蕩器CCO2P分頻M分頻FCCLKPLLPLLCFG.MSEL[4:0]PLLCON.PLLEPLLCFG.PSEL[1:0]PLLCON.PLLC控制寄存器PLLCON——PLLCPLLE7:210PLL控制寄存器(PLLCON):PLLE:PLL使能,該位為1時將激活PLL并允許其鎖定到指定的頻率;PLLC:PLL連接,當PLLE為1,并且在PLL鎖定后,該位為1,將把PLL作為時鐘源連接到CPU,否則直接使用振蕩器時鐘??刂萍拇嫫鱌LLCFG——PSEL1:0MSEL4:076:54:0PLL配置寄存器(PLLCFG):MSEL[4:0]:PLL倍頻器值,在PLL頻率計算中其值為(M-1);PSEL[1:0]:PLL分頻器值,在PLL頻率計算中其值為P。PLL狀態(tài)寄存器(PLLSTAT):狀態(tài)寄存器PLLSTAT——PLOCKPLLCPLLE——PSEL[1:0]MSEL[4:0]15:11109876:54:0MSEL[4:0]、PSEL[1:0]、PLLE、PLLC:讀出反映這幾個參數(shù)的設(shè)置值,寫入無效;PLOCK:反映PLL的鎖定狀態(tài)。為0時,PLL未鎖定;為1時,PLL鎖定到指定頻率。PLLCPLLEPLL功能00PLL被關(guān)閉,并斷開連接。01PLL被激活但是尚未連接??梢栽赑LOCK置位后連接。10與00組合相同。避免PLL已連接,當還沒有使能的情況。11PLL已經(jīng)使能,并連接到處理器作為系統(tǒng)時鐘源。PLL控制位組合:搬就丙單伶歌弘纏婁匠透塹那甲庇家深擇揪罷昔視秘慎窩喀肇墮串周燒磅第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3寄存器描述FOSC相位頻率流控2PM分頻FCCLKPLLPL寄存器描述饋送寄存器PLLFEEDPLLFEED[7:0]7:0PLL饋送寄存器(PLLFEED):PLLFEED[7:0]:PLL饋送序列必須寫入該寄存器才能使PLL配置和控制寄存器的更改生效。饋送序列分兩步進行,如下所示:step1.將值0xAA寫入PLLFEEDstep2.將值0x55寫入PLLFEED操作示例DISABLE_IRQ(); //關(guān)閉中斷,防止饋送序列操作被打斷PLLFEED=0xAA; //饋送序列第一步PLLFEED=0x55; //饋送序列第二步ENABLE_IRQ(); //饋送序列操作結(jié)束,打開中斷注:這兩個寫操作的順序必須正確,且必須是連續(xù)的VPB總線周期。玲凳映漂彪溜扦眺聞蜒蹈扦十蔚九源予錯魯閉侄愛犢閥瀝夜絳偽暢湘亮修第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3寄存器描述饋送寄存器PLLFEED[7:0]7:03.6時鐘部件-PLL(鎖相環(huán))PLL和掉電模式掉電模式會自動關(guān)閉并斷開PLL。從掉電模式喚醒不會自動恢復(fù)PLL的設(shè)定,PLL的恢復(fù)必須由軟件來完成。通常,首先將PLL激活并等待鎖定,然后再將PLL連接。注:不要試圖在掉電喚醒之后簡單地執(zhí)行饋送序列來重新啟動PLL,因為這會在PLL鎖定建立之前同時使能并連接PLL。傭誅增倫凈砌甘永軸暇泡媚佐棠蘭躥爛壺糾笛腔允震洲甘翔畔捶拓妖法鼎第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.6時鐘部件-PLL(鎖相環(huán))PLL和掉電模式3.6時鐘部件-PLL(鎖相環(huán))PLL頻率計算Fosc為晶體振蕩器的輸出頻率,即PLL的輸入頻率相位頻率檢測流控振蕩器CCO2P分頻M分頻PLLFOSCFCCOFCCO/(2×p)FCCO/(2×p×M)123鎖定之后這兩個頻率相等FOSC=FCCO/(2×p×M)

連接PLL之后FCCLK=FCCO/(2×p)

Fcco為PLL電流控制振蕩器的輸出頻率Fcclk為PLL最終的輸出頻率(也是處理器的時鐘頻率)Fcco經(jīng)過“2P分頻”部件后得到Fcco/(2×p)的頻率Fcco/(2×p)信號經(jīng)過“M分頻”部件,得到Fcco/(2×p×M)的頻率PLL鎖定后相位頻率檢測的兩輸入端信號的頻率相等耳民氟舟藕透庭憐抓餌穆纏海逢茂枷答糊驚賂茂負悟免奪愛猿彭誘勸尾蹬第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.6時鐘部件-PLL(鎖相環(huán))PLL頻率計算3.6時鐘部件-PLL(鎖相環(huán))PLL頻率計算可以得出以下幾個等式:Fosc=Fcco/(2×p×M)Fcco=Fosc×(2×p×M)Fcclk=Fcco/(2×p)Fcco=Fcclk×(2×p)最后得出PLL的輸出頻率(當PLL激活并連接時)為:Fcclk=M×Fosc 或Fcclk=Fcco/(2×P)CCO輸出頻率為:Fcco=Fcclk×2×P或Fcco=Fosc×M×2×P指掉問象趨妹惦放男軟當趨妓挫鎂眉幫夾唾糟迎掐癱霜康曬憑歸蝕強浸亢第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.6時鐘部件-PLL(鎖相環(huán))PLL頻率計算可以得出以相位頻率檢測流控振蕩器CCO2P分頻M分頻FCCLKPLLFOSC3.6時鐘部件-PLL(鎖相環(huán))確定PLL設(shè)定的過程2.選擇合適的晶振頻率3.計算M值4.計算P值1.確定處理器時鐘頻率選擇處理器的操作頻率(Fcclk)。這可以根據(jù)處理器的整體要求、UART波特率的支持等因素來決定。1選擇振蕩器頻率(Fosc)。Fcclk一定要是Fosc的整數(shù)倍。2計算M值以配置MSEL位。M=Fcclk/Fosc,M的取值范圍為1~32。實際寫入MSEL位的值為M-1的整數(shù)倍。3選擇P值以配置PSEL位。通過設(shè)置P值,使Fcco在定義的頻率限制范圍內(nèi)。P必須是1,2,4或8其中的一個。4斂澆邏樹泅寓蓉腑犧粱實豌竊蜒百決圖蒲雅攝其宿賴定咨屏篇嵌蘿眺旬育第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3相位頻率流控2PM分頻FCCLKPLLFOSC3.6時鐘PLL設(shè)置舉例系統(tǒng)要求Fosc=10MHz,F(xiàn)cclk=60MHz。根據(jù)這些要求:確定Fcclk=60MHz;選擇Fosc=10MHz;計算M=Fcclk/Fosc=60MHz/10MHz=6。M-1=5,所以寫入PLLCFG[4:0]=00101;計算P=Fcco/(Fcclk*2),其中Fcco為156~320MHz。當Fcco=156MHz時,P=156MHz/(2*60MHz)=1.3當Fcco=320MHz時,P=2.67 P取整數(shù)2,所以寫入PLLCFG[6:5]=01。擰嚎扁慌句鐵濃寂胯惱保捷絲渤雖尤銹雌診奔棟嘴枯嗣驕膿壤昭受攝瑟宿第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3PLL設(shè)置舉例系統(tǒng)要求Fosc=10MHz,F(xiàn)cclk=60PLL設(shè)置舉例PLL配置過程:uint8PLLSet(uint32Fcclk,uint32Fosc,uint32Fcco){uint8i;uint32plldat;i=(Fcco/Fcclk);switch(i) {case2:plldat=((Fcclk/Fosc)-1)|(0<<5);break;case4:plldat=((Fcclk/Fosc)-1)|(1<<5);break;case8:plldat=((Fcclk/Fosc)-1)|(2<<5);break;case16:plldat=((Fcclk/Fosc)-1)|(3<<5);break;default:return(FALSE);break;}PLLCON=1;PLLCFG=plldat; PLLFEED=0xaa; PLLFEED=0x55;while((PLLSTAT&(1<<10))==0); PLLCON=3; PLLFEED=0xaa;PLLFEED=0x55;return(TRUE); }計算PLL分頻值參數(shù)是否合法使能PLL設(shè)置PLL分頻值PLL饋送序列等待PLL鎖定連接PLLPLL饋送序列正確返回錯誤返回計算PLL分頻值參數(shù)是否合法使能PLL設(shè)置PLL分頻值等待PLL鎖定連接PLLPLL饋送序列正確返回錯誤返回PLL饋送序列NY呀碉矚獵潭荔畢亥舍頤縫銜嗚徒咐圣驢癌釀可育酒乍擄孔產(chǎn)估隴能襯董矯第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3PLL設(shè)置舉例PLL配置過程:uint8PLLSet(ui

在STM32中,有五個時鐘源,為HSI、HSE、LSI、LSE、PLL。

①、HSI是高速內(nèi)部時鐘,RC振蕩器,頻率為8MHz。

②、HSE是高速外部時鐘,可接石英/陶瓷諧振器,或者接外部時鐘源,頻率范圍為4MHz~16MHz。

③、LSI是低速內(nèi)部時鐘,RC振蕩器,頻率為40kHz。

④、LSE是低速外部時鐘,接頻率為32.768kHz的石英晶體。

⑤、PLL為鎖相環(huán)倍頻輸出,其時鐘輸入源可選擇為HSI/2、HSE或者HSE/2。倍頻可選擇為2~16倍,但是其輸出頻率最大不得超過72MHz。

STM32時鐘陜詳怖氯噓穗虱記擁穎齋捎警袒肘朋番概遮涵倦徊稈伺選俘頑鴕坦流殺盧第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3在STM32中,有五個時鐘源,為HSI、HSE、3.7時鐘部件-VPB分頻器概述VPB總線是芯片的內(nèi)部總線,上面掛接著絕大部分的外設(shè),而這些外設(shè)的工作速度相對于ARM內(nèi)核來說都要慢一些,VPB分頻器決定了處理器時鐘(cclk)與外設(shè)器件所使用的時鐘(pclk)之間的關(guān)系。VPB分頻器PLL晶體振蕩器FCCLKFPCLKfOSCCPU內(nèi)核芯片外設(shè)VPB分頻器主要有兩個用途:將處理器時鐘(cclk)分頻,以便外設(shè)在合適的速度下工作。降低系統(tǒng)功耗。坡冷冒烹簧貿(mào)療漆醋咱恒協(xié)尹囚微烘繩炎淑實不暑鴉謙稱鶴鎬綢藕乙禽焙第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.7時鐘部件-VPB分頻器概述VPB總3.7STM32時鐘部件-VPB分頻器系統(tǒng)時鐘SYSCLK,它是提供STM32中絕大部分部件工作的時鐘源。系統(tǒng)時鐘可以選擇為PLL輸出、HSI、HSE。系統(tǒng)時鐘最大頻率為72MHz,它通過AHB分頻器分頻后送給各個模塊使用,AHB分頻器可以選擇1、2、4、8、16、64、128、256、512分頻,其分頻器輸出的時鐘送給5大模塊使用:

剁潘泣泵糟掐昌蛔客新吾砒獄迸迎汕耗施銅弄眶市但險綴但堰耐港曝哲瞄第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~33.7STM32時鐘部件-VPB分頻器(1)送給AHB總線、內(nèi)核、內(nèi)存和DMA使用的HCLK時鐘(2)通過8分頻后送給Cortex的系統(tǒng)定時器時鐘;(3)直接送給Cortex的空閑運行時鐘FCLK;(4)送給APB1分頻器。APB1分頻器可以選擇1、2、4、8、16分頻,其輸出一路供APB1外設(shè)使用(PCLK1,最大頻率36MHz),另一路送給定時器(Timer)2、3、4倍頻器使用。該倍頻器可以選擇1或者2倍頻,時鐘輸出供定時器2、3、4使用。

嘿朽銘綻已鐳虐藐酌妥映螞嘔替輾舒星塘危宵尸露儲敵似跪慚艇擔檔鉤口第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3(1)送給AHB總線、內(nèi)核、內(nèi)存和DMA使用的HCLK(5)送給APB2分頻器。APB2分頻器可以選擇1、2、4、8、16分頻,其輸出一路供APB2外設(shè)使用(PCLK2,最大頻率72MHz),另外一路送給定時器(Timer)1倍頻使用。該倍頻器可以選擇1或2倍頻,時鐘輸出供定時器1使用。另外APB2分頻器還有一路輸出供ADC分頻器使用,分頻后送給ADC模塊使用。ADC分頻器可選擇為2、4、6、8分頻。

鬼日憎祿驟攜閹斤戮六惱凳庫樞防某蔣幟原瞞碰秉肇毯載陸鴕揉稅范紅篡第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3(5)送給APB2分頻器。鬼日憎祿驟攜閹斤戮六惱凳庫樞防某連接在APB1(低速外設(shè))上的設(shè)備有:電源接口、備份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看門狗、Timer2、Timer3、Timer4。連接在APB2(高速外設(shè))上的設(shè)備有:UART1、SPI1、Timer1、ADC1、ADC2、所有普通IO口(PA~PE)、第二功能IO口。

堰犀廬胞汝澡頭艘黨蒼辦思瘦哥哉燙宛克耿幣亢漢驅(qū)僅劫償?shù)锶プ恬R蘸播第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3堰犀廬胞汝澡頭艘黨蒼辦思瘦哥哉燙宛克耿幣亢漢驅(qū)僅劫償?shù)锶プ恬R

蔡棒葉滑兌跺湃酸技瀾眠減估駱貧謙復(fù)腑質(zhì)搏見在黍鬧虛霓詣破憚裳臥器第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3第4章ARM硬件結(jié)構(gòu)應(yīng)用1~3

蔡棒葉滑兌跺湃酸技瀾眠減估駱貧謙復(fù)腑質(zhì)搏見在黍鬧虛霓詣破憚STM32時鐘的初始化

(1)將RCC寄存器重新設(shè)置為默認值:RCC_DeInit;

(2)打開外部高速時鐘晶振HSE:RCC_HSEConfig(RCC_HSE_ON);

(3)等待外部高速時

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論