航順芯片HK32F03X系列采用的是Cortex-M0內(nèi)核架構(gòu),該系列產(chǎn)品均支持內(nèi)部高速時鐘HSI,即設(shè)計上把內(nèi)部8M時鐘直接作為倍頻基準(zhǔn)。這是國外S**32F03X所不具備的功能,因為其只有HSI/2,也就是4M時鐘,作為倍頻基準(zhǔn),然后通過最大16倍的PLL鎖相環(huán)倍頻到64MHz。而很多客戶應(yīng)用對主頻有要求,即希望使用內(nèi)部晶振讓系統(tǒng)跑72MHz,就沒辦法實現(xiàn)。今天對航順HK32F03X系列如何實現(xiàn)系統(tǒng)主頻升級到72M做一個簡單介紹。
//HK32F0X系列的內(nèi)部時鐘樹
首先我們來看下HK32F0X系列的內(nèi)部時鐘樹
圖1 內(nèi)部時鐘樹
從上面的時鐘內(nèi)部圖我們可以看到內(nèi)部產(chǎn)生的56MHz的時鐘可以直接作為系統(tǒng)時鐘,或者經(jīng)過4分頻成14MHz之后作為系統(tǒng)時鐘和ADC時鐘。本文重點介紹56M時鐘經(jīng)過7分頻成8MHz作為HSI,然后倍頻到72M的方法,這樣可以省掉外部晶振,方便PCB布板,降低BOM成本。通過以下圖示我們可以清晰地看到HK32F03X增加了寄存器RCC_CFGR4,其中PPSS位作為HSE和HIS的開關(guān)選擇,所以我們通過設(shè)置此位為1以選擇內(nèi)部HSI時鐘作為倍頻的基準(zhǔn)時鐘。
圖2 局部放大圖
圖3 CFGR4 說明
//下面以MDK5(Keil5.0以上版本)編譯軟件來做講解
首先我們來看下HK32F0X系列的內(nèi)部時鐘樹
◆首先我們找到系統(tǒng)時鐘初始化代碼
我們可以看到系統(tǒng)時鐘在void SystemInit (void) 里面初始化,而工程的啟動文件startup_stm32f0xx.s里面已經(jīng)調(diào)用了此函數(shù),如下圖:
所以我們只要修改SetSysClock函數(shù)里面的配置就可以了,這樣不用在Main函數(shù)里面去做系統(tǒng)時鐘的配置
◆其次定義寄存器RCC_CFGR4以及PPSS位
可以直接在system_stm32f0xx.c 文件開頭定義
0x400210e8 是寄存器地址 0x00000100是位8為1 PPSS位為1
◆最后修改SetSysClock函數(shù)
增加以下一行代碼 選擇HSI作為基準(zhǔn)
修改倍頻基準(zhǔn)RCC_CFGR_PLLSRC 這個是選擇來自RCC_CFGR4.PPSS
HSI作為基準(zhǔn)時鐘配置代碼如下:
來源:航順芯片
審核編輯:湯梓紅
-
mcu
+關(guān)注
關(guān)注
146文章
17317瀏覽量
352630 -
時鐘樹
+關(guān)注
關(guān)注
0文章
55瀏覽量
10815 -
航順芯片
+關(guān)注
關(guān)注
1文章
109瀏覽量
22865 -
HK32MCU
+關(guān)注
關(guān)注
0文章
29瀏覽量
219
發(fā)布評論請先 登錄
相關(guān)推薦
HK32MCU應(yīng)用筆記(二十)| HK32F103xC/D/E USB枚舉情況分析(二)
![<b class='flag-5'>HK32MCU</b>應(yīng)<b class='flag-5'>用筆記</b>(二十)| <b class='flag-5'>HK32F</b>103xC/D/E USB枚舉情況分析(二)](https://file1.elecfans.com/web2/M00/A3/30/wKgZomUD5IyAcPsnAAB0UYn_9j8186.png)
HK32MCU應(yīng)用筆記(十八)| HK32F103xC/D/E-DAC的應(yīng)用及注意事項
![<b class='flag-5'>HK32MCU</b>應(yīng)<b class='flag-5'>用筆記</b>(十八)| <b class='flag-5'>HK32F</b>103xC/D/E-DAC的應(yīng)用及注意事項](https://file1.elecfans.com/web2/M00/A3/31/wKgZomUD5deAXq2CAAGWwJ_vD-U659.png)
HK32MCU應(yīng)用筆記(十六)| HK32F103xC/D/E-Timer的應(yīng)用及注意事項
HK32MCU應(yīng)用筆記(十四)| HK32F103x/C/D/E-TIM1的應(yīng)用及注意事項
![<b class='flag-5'>HK32MCU</b>應(yīng)<b class='flag-5'>用筆記</b>(十四)| <b class='flag-5'>HK32F103x</b>/C/D/E-TIM1的應(yīng)用及注意事項](https://file1.elecfans.com/web2/M00/A3/33/wKgZomUD6PCAQcc9AAGZq_WZjiE137.png)
HK32MCU應(yīng)用筆記(十三)| HK32F103xC/D/E-ADC的應(yīng)用及注意事項
![<b class='flag-5'>HK32MCU</b>應(yīng)<b class='flag-5'>用筆記</b>(十三)| <b class='flag-5'>HK32F</b>103xC/D/E-ADC的應(yīng)用及注意事項](https://file1.elecfans.com/web2/M00/A3/34/wKgZomUD6qeAZFhnAAEoliEcvEE186.png)
HK32MCU應(yīng)用筆記(十二)| HK32F103xC/D/E的GPIO的應(yīng)用及注意事項
![<b class='flag-5'>HK32MCU</b>應(yīng)<b class='flag-5'>用筆記</b>(十二)| <b class='flag-5'>HK32F</b>103xC/D/E的GPIO的應(yīng)用及注意事項](https://file1.elecfans.com/web2/M00/A3/35/wKgZomUD66KAJZR6AAJgQi9brtw376.png)
HK32MCU應(yīng)用筆記(十一)| HK32F103xC/D/E的flash讀保護(hù)應(yīng)用及注意事項
![<b class='flag-5'>HK32MCU</b>應(yīng)<b class='flag-5'>用筆記</b>(十一)| <b class='flag-5'>HK32F</b>103xC/D/E的flash讀保護(hù)應(yīng)用及注意事項](https://file1.elecfans.com/web2/M00/A3/36/wKgZomUD7LeAIYaLAAAw9VXZCuY652.png)
HK32MCU應(yīng)用筆記(九)| HK32F103x8xB系列CAN的應(yīng)用解決方案
HK32MCU應(yīng)用筆記(七)| 航順HK32MCU閂鎖效應(yīng)問題研究及預(yù)防措施
![<b class='flag-5'>HK32MCU</b>應(yīng)<b class='flag-5'>用筆記</b>(七)| <b class='flag-5'>航</b><b class='flag-5'>順</b><b class='flag-5'>HK32MCU</b>閂鎖效應(yīng)問題研究及預(yù)防措施](https://file1.elecfans.com/web2/M00/A3/39/wKgZomUD8T2ACYVyAAB8YBeCvuA907.png)
HK32MCU應(yīng)用筆記(五)| 關(guān)于應(yīng)用HK32F030延時效率問題
HK32MCU應(yīng)用筆記(二)| 國外品牌采用航順HK32F030R8T6代替出現(xiàn)串口不兼容解決方法
![<b class='flag-5'>HK32MCU</b>應(yīng)<b class='flag-5'>用筆記</b>(二)| 國外品牌采用<b class='flag-5'>航</b><b class='flag-5'>順</b><b class='flag-5'>HK32F030R8</b>T6代替出現(xiàn)串口不兼容解決方法](https://file.elecfans.com/web2/M00/2F/36/pYYBAGIB3ESAXM-eAAl9WwArip0636.png)
評論