




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第二節(jié) 最小系統(tǒng)最小系統(tǒng) 最小系統(tǒng)指arm能夠運(yùn)行所需要的最基本的條件 包括:電源,時(shí)鐘源,復(fù)位電路,調(diào)試接口,arm處理器(自帶128k閃存,20ksram)stm32f103vbt6電源時(shí)鐘源復(fù)位電路調(diào)試電源芯片要求2.03.6v的操作電壓(vdd)當(dāng)主電源vdd關(guān)閉時(shí),實(shí)時(shí)時(shí)鐘(rtc)和備用寄存器可以從vbat供電為提高轉(zhuǎn)換精度,adc可以有一個(gè)獨(dú)立的電源供應(yīng),以不受pcb噪音的干擾電源方案電路由穩(wěn)定的電源vdd供電 如果使用adc,vdd的范圍必須在2.4v到3.6v之間,否則為2v到3.6v vdd引腳必須連接到帶外部穩(wěn)定電容的vdd電源。 (5個(gè)100nf的陶瓷電容和一個(gè)鉭電容(
2、最小值4.7f,典型值10f) vbat引腳必須被連接到外部電池(1.8v vbat cr | =0 x00010000;使能 while(!rcc-cr.hserdy);等待 rcc-cfgr=0 x01;選擇2、設(shè)置外部晶振提供pll作為系統(tǒng)時(shí)鐘rcc-cr | =0 x00010000;使能hsewhile(!rcc-cr.hserdy);等待rcc-cr | =0 x01000000;使能pllwhile(!rcc-cr.pllrdy);等待rcc-cfgr=0 x10;選擇pll 例:設(shè)置pll的時(shí)鐘為48mhz 分析:外部時(shí)鐘為8m,因此,需要pll倍頻6倍輸出 rcc-cfgr
3、|=0 x0010 0000 時(shí)鐘中斷寄存器 (rcc_cir) 偏移地址: 08h 復(fù)位值: 0000 0000h apb2 外設(shè)復(fù)位寄存器 (rcc_apb2rstr) 偏移地址: 0ch 復(fù)位值: 0000 0000h apb1 外設(shè)復(fù)位寄存器 (rcc_apb1rstr) 偏移地址:10h 復(fù)位值:0000 0000h ahb 外設(shè)時(shí)鐘使能寄存器 (rcc_ahbenr) 偏移地址:14h 復(fù)位值:0000 0014h ahb 外設(shè)時(shí)鐘使能寄存器 (rcc_ahbenr) 偏移地址:14h 復(fù)位值:0000 0014h apb2 外設(shè)時(shí)鐘使能寄存器(rcc_apb2enr) 偏移地址:
4、18h 復(fù)位值:0000 0000h 訪問:字,半字和字節(jié)訪問 apb1 外設(shè)時(shí)鐘使能寄存器(rcc_apb1enr) 偏移地址:1ch 復(fù)位值:0000 0000h apb2 外設(shè)時(shí)鐘使能寄存器(rcc_apb2enr) 例:使能usart1的時(shí)鐘 rcc-apb2enr |= 0 x4000; 同時(shí)使能usart1,sp1,tim1和adc2的時(shí)鐘 rcc-apb2enr |= 0 x5b00; 備份域控制寄存器 (rcc_bdcr) 偏移地址:20h 復(fù)位值:0000 0000h,只能由備份域復(fù)位有效復(fù)位 控制/狀態(tài)寄存器 (rcc_csr) 偏移地址:24h 復(fù)位值:0c00 0000
5、h 復(fù)位標(biāo)志及低速時(shí)鐘就緒使能控制 時(shí)鐘安全系統(tǒng)(css) 時(shí)鐘安全系統(tǒng)可以通過軟件被激活。一旦其被激活,時(shí)鐘監(jiān)測器將在hse振蕩器啟動(dòng)延遲后被使能,并在hse時(shí)鐘關(guān)閉后關(guān)閉。 作用:如果hse時(shí)鐘發(fā)生故障,此振蕩器自動(dòng)地被關(guān)閉,時(shí)鐘失效事件將被送到高級(jí)定時(shí)器tim1的斷路輸入端,并產(chǎn)生時(shí)鐘安全中斷cssi,允許軟件完成營救操作。此cssi中斷被連接到cortex-m3 nmi的中斷。 注意: 一旦css被激活,并且hse時(shí)鐘出現(xiàn)故障,css中斷就產(chǎn)生,并且nmi也自動(dòng)產(chǎn)生。nmi將被不斷執(zhí)行,直到css中斷掛起位被清除。因此,在nmi的處理程序中必須通過設(shè)置時(shí)鐘中斷寄存器(rcc_cir)里
6、的cssc位來清除css中斷。 如果hse振蕩器被直間或間接地作為系統(tǒng)時(shí)鐘來用的話,(間接的意思是:它被作為pll輸入時(shí)鐘,并且pll時(shí)鐘被作為系統(tǒng)時(shí)鐘),時(shí)鐘故障將導(dǎo)致系統(tǒng)時(shí)鐘自動(dòng)切換到hsi振蕩器,同時(shí)外部hse振蕩器被關(guān)閉。 在時(shí)鐘失效時(shí),如果hse振蕩器時(shí)鐘(被分頻或未被分頻)是用作系統(tǒng)時(shí)鐘的pll的輸入時(shí)鐘,pll也將被關(guān)閉。rcc庫函數(shù)rcc寄存器結(jié)構(gòu),rcc_typedeff,在文件“stm32f10 x_map.h”中定義如下: typedef struct vu32 cr; vu32 cfgr; vu32 cir; vu32 apb2rstr; vu32 apb1rstr;
7、vu32 ahbenr; vu32 apb2enr; vu32 apb1enr; vu32 bdcr; vu32 csr; rcc_typedef; rcc外設(shè)聲明于文件“stm32f10 x_map.h”: #define periph_base (u32)0 x40000000) #define apb1periph_base periph_base #define apb2periph_base (periph_base + 0 x10000) #define ahbperiph_base (periph_base + 0 x20000) #define rcc_base (ahbper
8、iph_base + 0 x1000) . #ifdef _rcc #define rcc (rcc_typedef *) rcc_base) #endif /*_rcc */ rcc庫函數(shù)rcc庫函數(shù)使用hse時(shí)鐘,程序設(shè)置時(shí)鐘參數(shù)流程流程:1、將rcc寄存器重新設(shè)置為默認(rèn)值 rcc_deinit;2、打開外部高速時(shí)鐘晶振hse rcc_hseconfig(rcc_hse_on);3、等待外部高速時(shí)鐘晶振工作 hsestartupstatus = rcc_waitforhsestartup();4、設(shè)置ahb時(shí)鐘 rcc_hclkconfig;5、設(shè)置高速apb時(shí)鐘 rcc_pclk2con
9、fig;6、設(shè)置低速apb時(shí)鐘 rcc_pclk1config;7、設(shè)置pll rcc_pllconfig;8、打開pll rcc_pllcmd(enable);9、等待pll工作 while(rcc_getflagstatus(rcc_flag_pllrdy) = reset) 10、設(shè)置系統(tǒng)時(shí)鐘 rcc_sysclkconfig;11、判斷,直到pll是系統(tǒng)時(shí)鐘 while(rcc_getsysclksource() != 0 x08)12、打開要使用的外設(shè)時(shí)鐘 rcc_apb2periphclockcmd()/rcc_apb1periphclockcmd()實(shí)驗(yàn)三 rcc時(shí)鐘 主程序:
10、int main(void) #ifdef debug debug(); #endif /* configure the system clock frequency, hclk, pclk2 and pclk1 prescalers */ setsysclock();實(shí)驗(yàn)三 rcc時(shí)鐘void setsysclock(void) #if defined sysclk_hse setsysclocktohse();#elif defined sysclk_freq_20mhz setsysclockto20();#elif defined sysclk_freq_36mhz setsysclo
11、ckto36();#elif defined sysclk_freq_48mhz setsysclockto48();#elif defined sysclk_freq_72mhz setsysclockto72();#endif /* if none of the define above is enabled, the hsi is used as system clock source (default after reset) */ /#define sysclk_hse/#define sysclk_freq_20mhz/#define sysclk_freq_36mhz/#defi
12、ne sysclk_freq_48mhz#define sysclk_freq_72mhzrcc-cfgr |=0 x001c 0000實(shí)驗(yàn)三 rcc時(shí)鐘void setsysclockto72(void) /* sysclk, hclk, pclk2 and pclk1 configuration -*/ /* rcc system reset(for debug purpose) */ rcc_deinit( ); /* enable hse */ rcc_hseconfig(rcc_hse_on); /* wait till hse is ready */ hsestartupstatu
13、s = rcc_waitforhsestartup(); if (hsestartupstatus = success) /* enable prefetch buffer */ flash_prefetchbuffercmd(flash_prefetchbuffer_enable); /* flash 2 wait state */ flash_setlatency(flash_latency_2); /* hclk = sysclk */ rcc_hclkconfig(rcc_sysclk_div1); /* pclk2 = hclk */ rcc_pclk2config(rcc_hclk
14、_div1); void rcc_deinit(void) /* set hsion bit */ rcc-cr |= (u32)0 x00000001; /* reset sw1:0, hpre3:0, ppre12:0, ppre22:0, adcpre1:0 and mco2:0 bits */ rcc-cfgr &= (u32)0 xf8ff0000; /* reset hseon, csson and pllon bits */ rcc-cr &= (u32)0 xfef6ffff; /* reset hsebyp bit */ rcc-cr &= (u32)
15、0 xfffbffff; /* reset pllsrc, pllxtpre, pllmul3:0 and usbpre bits */ rcc-cfgr &= (u32)0 xff80ffff; /* disable all interrupts */ rcc-cir = 0 x00000000;實(shí)驗(yàn)三 rcc時(shí)鐘void setsysclockto72(void) /* sysclk, hclk, pclk2 and pclk1 configuration -*/ /* rcc system reset(for debug purpose) */ rcc_deinit( ); /*
16、 enable hse */ rcc_hseconfig(rcc_hse_on); /* wait till hse is ready */ hsestartupstatus = rcc_waitforhsestartup(); if (hsestartupstatus = success) /* enable prefetch buffer */ flash_prefetchbuffercmd(flash_prefetchbuffer_enable); /* flash 2 wait state */ flash_setlatency(flash_latency_2); /* hclk = sysclk */ rcc_hclkconfig(rcc_sysclk_div1); /* pclk2 = hclk */ rcc_pclk2config(rcc_hclk_div1); void rcc_hseconfig(u32 rcc_hse)/* reset hseon bit */ rcc-cr &= cr_hseon_reset; /* reset hsebyp bit */ rcc-cr &= cr_hsebyp_reset;switch(rcc_hse) cas
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《師說》 教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊(cè)
- 2024國核鈾業(yè)發(fā)展有限責(zé)任公司社會(huì)招聘(重慶有崗)筆試參考題庫附帶答案詳解
- Module 9 單元備課(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(一起)英語三年級(jí)上冊(cè)
- 2025年湖南工程職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫及答案一套
- 2025年金屬包裝容器及其附件項(xiàng)目合作計(jì)劃書
- 第九單元實(shí)驗(yàn)活動(dòng)5:一定溶質(zhì)質(zhì)量分?jǐn)?shù)氯化鈉溶液的配制教學(xué)設(shè)計(jì)-2023-2024學(xué)年九年級(jí)化學(xué)人教版下冊(cè)
- 2025年湖南軟件職業(yè)技術(shù)大學(xué)單招職業(yè)適應(yīng)性測試題庫及答案1套
- 第六單元名著導(dǎo)讀《簡·愛》教學(xué)設(shè)計(jì) 2023-2024學(xué)年統(tǒng)編版語文九年級(jí)下冊(cè)
- 6 兩、三位數(shù)的加法和減法第二課時(shí)(教學(xué)設(shè)計(jì))-2023-2024學(xué)年二年級(jí)下冊(cè)數(shù)學(xué)蘇教版
- 第三單元 豐富多樣的自然資源 大單元教學(xué)設(shè)計(jì)-2024-2025學(xué)年七年級(jí)地理上學(xué)期中華中圖版
- 電信寬帶注銷委托書
- 新教材人教版高中數(shù)學(xué)必修第二冊(cè)全冊(cè)教案
- 班(組)戰(zhàn)斗動(dòng)作訓(xùn)練教案
- 農(nóng)產(chǎn)品電商運(yùn)營-完整全套課件
- 唐河縣泌陽凹陷郭橋天然堿礦產(chǎn)資源開采與生態(tài)修復(fù)方案
- 科研項(xiàng)目匯報(bào)ppt
- 建設(shè)工程項(xiàng)目法律風(fēng)險(xiǎn)防控培訓(xùn)稿PPT講座
- “不作為、慢作為、亂作為”自查自糾報(bào)告范文(三篇)
- 上海市楊浦區(qū)2022屆初三中考二模英語試卷+答案
- 課件《中國式現(xiàn)代化》
- 公共事業(yè)管理案例
評(píng)論
0/150
提交評(píng)論