一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳細(xì)解析CW32F030C8T6的時鐘樹

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 2023-08-17 11:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本章針對CW32F030C8T6的時鐘樹進(jìn)行詳細(xì)解析,續(xù)第一章啟動文件的相關(guān)講解。

上一章講到,單片機(jī)的啟動文件會使用單片機(jī)內(nèi)部的RC振蕩器作為單片機(jī)的啟動時鐘,并且該時鐘頻率被設(shè)置為48MHz。但講解有疏漏,根據(jù)編程手冊的描述,該48MHz僅為HSI頻率,而非輸送到時鐘總線上的頻率,在進(jìn)入時鐘總線之前,該時鐘會被分頻(也就是降低頻率),在不進(jìn)行任何配置的情況下,這個48M的信號會被6分頻。

wKgZomTdlzSACDJDAAM6QNYEfuk211.jpg

這個圖包含很多信息,但是圖中的彩色字信息并非全部來自此圖,更多的信息需要結(jié)合代碼和寄存器描述來獲得:

1.HSI被配置為48M是通過啟動文件中的SystemInit函數(shù)得知的。

2.系統(tǒng)選擇HSI作為啟動時鐘是通過編程手冊“時鐘與復(fù)位”一章得知的。

3.HSI之后的預(yù)分頻器被設(shè)置為6分頻,是通過查看指示該分頻器的寄存器得知的。

下面以信息3為例,講解如何查看此圖中的相關(guān)寄存器:

在經(jīng)過SYSCTRL_CR0.SYSCLK寄存器選擇之后,系統(tǒng)時鐘SysClk會在經(jīng)過分頻后送入內(nèi)核與各個外設(shè),這一信息流程圖與粉色箭頭已經(jīng)清晰展示。

在手寫箭頭指向的方框中,有1、...、16的字樣,表示該預(yù)分頻器可以進(jìn)行這些倍數(shù)的分頻。所謂分頻比如48M,6分頻,其分頻結(jié)果就是48M/6 = 8M,2分頻就是24M,簡單的除法。

方框下方是該分頻器對應(yīng)的控制寄存器,寄存器的名字并不一定完全叫這個,但是這個名字可以很容易就被理解為預(yù)分頻器控制相關(guān)的寄存器,該寄存器名字拆解版本是:SYS(系統(tǒng))CTRL(控制)HSI.DIV(分頻),這套命名系統(tǒng)是通用的,即使使用的是別的單片機(jī),也可以根據(jù)這套命名規(guī)則快速確認(rèn)寄存器的功能。

通過查看編程手冊時鐘與復(fù)位章節(jié)的寄存器描述,此寄存器DIV位的值默認(rèn)為6。而HSI頻率的設(shè)置則是該寄存[10:0]位的TRIM位決定的。

wKgaomTdlzSAFo_UAARLc-i3e-s893.jpg

只需要沿著紫色箭頭的方向配置相關(guān)的寄存器,單片機(jī)就能夠正常啟動,但這一步并不需要開發(fā)者親自去做,芯片廠家提供的啟動文件和庫可以自動完成這一步。但不論怎么說RC振蕩器的精度有限,且8M的速度放在48MHz主頻的內(nèi)核上也確實(shí)不夠看,因此大部分時候,都需要使用外部晶振提供的時鐘,通過鎖相環(huán)倍頻之后達(dá)到48M,最后通過時鐘線送入內(nèi)核和外設(shè)。

下面講解怎么配置才能得到48MHz的高精度高速時鐘信號:

wKgaomTdlzSAV9POAAKASBR2c_4294.jpg

首先,電路板上需要有一個在范圍內(nèi)的晶體,晶體的兩個引腳需要在外圍電路的配合下連接到單片機(jī)的晶體輸入引腳,同時IO需要工作在正確的工作模式。

wKgZomTdlzSAUIgcAAQofR6pSgw657.jpg

硬件部分準(zhǔn)備完成了,接下來就是配置HSE和PLL相關(guān)的寄存器了。下面是相關(guān)的配置代碼:

wKgaomTdlzSAV2zWAATRQthrdq0346.jpg

首先需要打開HSE功能,允許單片機(jī)接收HSE提供的震蕩信號。

然后配置PLL的分頻系數(shù),這將決定鎖相環(huán)的輸出頻率,此處設(shè)置為1分頻,也就是不分頻。

使能PLL功能,并告知用到的時鐘源、時鐘頻率、倍頻系數(shù),這對應(yīng)三個入口參數(shù)。

將flash的等待周期設(shè)置為3個時鐘周期,部分單片機(jī)需要進(jìn)行這一步操作,原因會在后面細(xì)說。

進(jìn)行時鐘切換,按照注釋完成準(zhǔn)備工作之后即可切換。

先查看HSE使能函數(shù):

wKgaomTdlzSANlVEAAOq6lpG_Dg239.jpg

僅展示主體部分,函數(shù)注釋未列出,但CW32的時鐘配置庫函數(shù)注釋相對來說很詳細(xì),推薦配置都寫在函數(shù)注釋里面,不懂得寄存器配置的小伙伴可以直接根據(jù)推薦進(jìn)行配置,如果有更深入的需求,直接查看芯片手冊對應(yīng)的寄存器描述即可。

后續(xù)的參數(shù)配置直接根據(jù)注釋進(jìn)行推薦配置即可,在PLL與HSE相關(guān)的寄存器配置完成之后,48M的時鐘信號就已經(jīng)產(chǎn)生了,只不過系統(tǒng)的時鐘源還不是這個(記得那個梯形的選擇器嗎?),下一步就是切換時鐘源,讓系統(tǒng)工作在48M的頻率下。

切換時鐘?我知道你很急,但是先別急,雖然一般情況下確實(shí)可以直接切換了,但是CW32有個需要注意的地方,那就是flash的配置。

為什么CW32需要進(jìn)行flash配置之后才能切換時鐘源?

我們都知道,寫的程序都存儲在flash中,等到需要執(zhí)行程序的時候,CPU會和flash進(jìn)行通信,取出flash中的指令然后執(zhí)行。問題來了,既然程序需要通過某種通信方式傳輸?shù)紺PU,那這個通信傳輸?shù)乃俣纫欢ㄓ袀€上限,這個上限就是flash的讀寫速度上限,當(dāng)flash的實(shí)際讀寫速度與其允許的讀寫速度不匹配時,flash與CPU之間的通信就會出現(xiàn)問題,之后就可以理解為CPU有高速取指令需求,但是flash無法在這個速度下跟上CPU的請求速度,這個通信就斷了,程序就不動了。

因此我們需要設(shè)置flash,讓他多等幾個時鐘周期再響應(yīng),這樣flash就能適應(yīng)更高頻率的讀取請求,并且在此程序的配置中,需要使能預(yù)取指令和緩存功能,這兩個功能可以讓flash與CPU更好地配合以實(shí)現(xiàn)單片機(jī)的高速運(yùn)行。障礙都解決了,接下來真的只需要切換時鐘即可。

對比部分:這一部分會列出stm32f103c8t6單片機(jī)的標(biāo)準(zhǔn)庫上電時鐘設(shè)置代碼進(jìn)行對比。

wKgZomTdlzWAJdNqAAX1YETL2PA311.jpg

wKgZomTdlzWACpiLAARfRO3Wwdg237.jpg

這里的條件編譯,我選擇最后一條,如果需要上電設(shè)置為別的頻率,只需要在同一個文件中把宏定義注釋取消即可。

wKgZomTdlzWAMA-zAAIyqwD-97k389.jpg

下面列出設(shè)置時鐘到72M函數(shù)的一部分,此函數(shù)與CW32的時鐘初始化順序幾乎是一模一樣,首先需要將HSE使能并等待時鐘穩(wěn)定,之后設(shè)置PLL的參數(shù),配置flash為2個等待周期,再使能PLL輸出,等待PLL時鐘穩(wěn)定再切換時鐘。

wKgaomTdlzWALd_kAAOMw7GNI0I525.jpg

wKgaomTdlzWAesGEAAHmbhYuJFI846.jpg

wKgZomTdlzWAOa_UAAKBnBOESlE564.jpg

可以看出,即使是不同的芯片,他們在大部分地方的操作也是一樣的,只是一些細(xì)節(jié)上有些許不同。

總結(jié):

1.本章簡單展示了如何查找手冊來配置寄存器,且再次強(qiáng)調(diào)庫函數(shù)的本質(zhì)就是操作寄存器。

2.單片機(jī)都會有一個時鐘樹,時鐘樹的圖可以在編程手冊(不是數(shù)據(jù)表和內(nèi)核手冊)中找到。

3.部分單片機(jī)想要工作在高工作頻率下,需要設(shè)置flash等待時間并打開緩存和預(yù)取指令使能。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44992

    瀏覽量

    650510
  • 振蕩器
    +關(guān)注

    關(guān)注

    28

    文章

    4014

    瀏覽量

    140860
  • 時鐘樹
    +關(guān)注

    關(guān)注

    0

    文章

    56

    瀏覽量

    11044
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    255

    瀏覽量

    1251

原文標(biāo)題:【有那么點(diǎn)詳細(xì)的CW32學(xué)習(xí)筆記】看手冊配置時鐘樹

文章出處:【微信號:CW32生態(tài)社區(qū),微信公眾號:CW32生態(tài)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    【有那么點(diǎn)詳細(xì)CW32學(xué)習(xí)筆記】單片機(jī)啟動\庫函數(shù)構(gòu)成

    此篇文章是CW32F030C8T6的參考資料,很詳細(xì),適合初學(xué)者。
    的頭像 發(fā)表于 08-10 11:13 ?1503次閱讀
    【有那么點(diǎn)<b class='flag-5'>詳細(xì)</b>的<b class='flag-5'>CW</b>32學(xué)習(xí)筆記】單片機(jī)啟動\庫函數(shù)構(gòu)成

    單片機(jī)默認(rèn)時鐘和啟動文件講解 單片機(jī)庫函數(shù)和寄存器講解

    本章為CW32F030C8T6時鐘的參考資料,面向初學(xué)者。
    發(fā)表于 08-10 09:38 ?1213次閱讀
    單片機(jī)默認(rèn)<b class='flag-5'>時鐘</b>和啟動文件講解 單片機(jī)庫函數(shù)和寄存器講解

    【有那么點(diǎn)詳細(xì)CW32學(xué)習(xí)筆記】看手冊配置時鐘

    本章針對CW32F030C8T6時鐘進(jìn)行詳細(xì)解析,續(xù)第一章啟動文件的相關(guān)講解。
    的頭像 發(fā)表于 08-17 14:54 ?1488次閱讀
    【有那么點(diǎn)<b class='flag-5'>詳細(xì)</b>的<b class='flag-5'>CW</b>32學(xué)習(xí)筆記】看手冊配置<b class='flag-5'>時鐘</b><b class='flag-5'>樹</b>

    基于武漢芯源CW32F030C8T6直流無刷電機(jī)評估開發(fā)板的介紹

    基礎(chǔ)應(yīng)用。CW32F030C8T6基于ARM公司Cortex-M0+內(nèi)核,最高主頻64MHZ,64K字節(jié)FLASH,8K字節(jié)RAM,采用LQFP48封裝,是一款高性價比的國產(chǎn)MCU?;?***于CW32F030C8T6直流無刷電
    發(fā)表于 07-19 17:09

    基于CW32F030單片機(jī)的模式二便攜充電槍應(yīng)用介紹

    。 通過拆解思皓新能源車的便攜充電槍,我們發(fā)現(xiàn)武漢芯源半導(dǎo)體的CW32F030C8T6在其作為核心主控芯片。 作為充電槍的核心部件,不僅要求充電安全可靠,而且還需要適應(yīng)從東北極寒到三亞酷熱的各種
    發(fā)表于 05-11 16:08

    CW32飯盒派開發(fā)板試用體驗(yàn)】CW32F030C8T6的開發(fā)板開箱視頻

    今天將收到的CW32F030C8T6的開發(fā)板-CW32飯盒派開發(fā)板做個開箱視頻。
    發(fā)表于 05-22 11:03

    信立誠科技主推低成本高性價比HC32F030J8TA-LQFP48可替換STM32F030C8T6

    和低電壓檢測,獨(dú)立PWM比STM32F030C8T6更豐富,12 位 1Msps 采樣的高速高精度 SARADC,內(nèi)置運(yùn)放,可比ST單片機(jī)能測量到外部更微弱信號。HC32F030F8TA防靜電可達(dá)8KV,...
    發(fā)表于 01-12 19:05 ?8次下載
    信立誠科技主推低成本高性價比HC32<b class='flag-5'>F030J8</b>TA-LQFP48可替換STM32<b class='flag-5'>F030C8T6</b>

    基于CW32F030C8T6的無刷直流電機(jī)驅(qū)動系統(tǒng)

    該工程項(xiàng)目采用CW32F030C8T6+EG3013+WSF40N10A組成的BLDC驅(qū)動電路,分別實(shí)現(xiàn):BLDC的有感開環(huán)、有感閉環(huán)、無感開環(huán)以及無感閉環(huán)控制,控制效果優(yōu)良,適配多種無刷直流電機(jī)!
    的頭像 發(fā)表于 07-02 14:06 ?6521次閱讀
    基于<b class='flag-5'>CW32F030C8T6</b>的無刷直流電機(jī)驅(qū)動系統(tǒng)

    APM32F030C8T6_ADC_ADC初始化出現(xiàn)異常

    APM32F030C8T6_ADC_ADC初始化出現(xiàn)異常
    發(fā)表于 11-09 21:03 ?0次下載
    APM32<b class='flag-5'>F030C8T6</b>_ADC_ADC初始化出現(xiàn)異常

    APM32F030C8T6_SWD接口_SWD燒錄接口硬件設(shè)計(jì)問題

    APM32F030C8T6_SWD接口_SWD燒錄接口硬件設(shè)計(jì)問題
    發(fā)表于 11-09 21:03 ?9次下載
    APM32<b class='flag-5'>F030C8T6</b>_SWD接口_SWD燒錄接口硬件設(shè)計(jì)問題

    APM32F030C8T6_Flash_Flash讀寫設(shè)計(jì)注意事項(xiàng)

    APM32F030C8T6_Flash_Flash讀寫設(shè)計(jì)注意事項(xiàng)
    發(fā)表于 11-09 21:03 ?3次下載
    APM32<b class='flag-5'>F030C8T6</b>_Flash_Flash讀寫設(shè)計(jì)注意事項(xiàng)

    基于武漢芯源CW32F030C8T6直流無刷電機(jī)評估開發(fā)板的介紹

    基礎(chǔ)應(yīng)用。CW32F030C8T6基于ARM公司Cortex-M0+內(nèi)核,最高主頻64MHZ,64K字節(jié)FLASH,8K字節(jié)RAM,采用LQFP48封裝,是一款高性價比的國產(chǎn)MCU?;?b class='flag-5'>CW32F030C8T6直流無刷電機(jī)評估開
    的頭像 發(fā)表于 07-19 17:13 ?1912次閱讀
    基于武漢芯源<b class='flag-5'>CW32F030C8T6</b>直流無刷電機(jī)評估開發(fā)板的介紹

    基于CW32F030單片機(jī)的模式二便攜充電槍應(yīng)用介紹

    作為充電槍的核心部件,不僅要求充電安全可靠,而且還需要適應(yīng)從東北極寒到三亞酷熱的各種使用環(huán)境,這對MCU要求極高,這說明武漢芯源半導(dǎo)體CW32F030C8T6單片機(jī)已得到一線主機(jī)廠的認(rèn)可。武漢芯源
    的頭像 發(fā)表于 05-12 11:18 ?1173次閱讀
    基于<b class='flag-5'>CW32F030</b>單片機(jī)的模式二便攜充電槍應(yīng)用介紹

    基于CW32F030C8T6的舵機(jī)控制應(yīng)用

    基于CW32F030C8T6的舵機(jī)控制應(yīng)用
    的頭像 發(fā)表于 10-25 16:52 ?1258次閱讀
    基于<b class='flag-5'>CW32F030C8T6</b>的舵機(jī)控制應(yīng)用

    求一種基于CW32的無刷直流空心杯電機(jī)無感方波控制驅(qū)動方案

    本方案采用CW32F030C8T6作為主控芯片,采用無感方波控制算法控制無刷直流空心杯電機(jī)。
    的頭像 發(fā)表于 05-28 10:47 ?1363次閱讀
    求一種基于<b class='flag-5'>CW</b>32的無刷直流空心杯電機(jī)無感方波控制驅(qū)動方案