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

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

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

CKS32F107xx系列時(shí)鐘系統(tǒng)具體配置方法講解

中科芯MCU ? 來源:中科芯MCU ? 2024-05-28 10:05 ? 次閱讀

CKS32F107xx系列時(shí)鐘系統(tǒng)(二)

上一章節(jié)對CKS32F107xx系列時(shí)鐘做了整體介紹,本章節(jié)以使用HSI內(nèi)部高速時(shí)鐘為例對時(shí)鐘具體配置方法進(jìn)行講解。

620e8914-1c94-11ef-b74b-92fbcf53809c.png

圖1 SYSCLK生成流程

622d4b38-1c94-11ef-b74b-92fbcf53809c.png

圖2 APB頻率生成流程

根據(jù)圖1,產(chǎn)生SYSCLK時(shí),內(nèi)部HSI時(shí)鐘經(jīng)過二分頻,輸入PLLSCR模塊,再通過PLLM倍頻系數(shù)產(chǎn)生PLLCLK,即SYSCLK。

由圖2可知,SYSCLK通過AHB預(yù)分頻產(chǎn)生APB即HCLK等時(shí)鐘系統(tǒng)。

配置寄存器

CKS32F107xx系列時(shí)鐘配置寄存器

在使用HSI對系統(tǒng)時(shí)鐘進(jìn)行配置時(shí),有兩個(gè)較為重要的RCC寄存器,分別為RCC_CR、RCC_CFGR:

6282725c-1c94-11ef-b74b-92fbcf53809c.png

圖3 RCC_CR寄存器

在RCC_CR寄存器中,我們需要關(guān)注如下幾位:

62ac3060-1c94-11ef-b74b-92fbcf53809c.png

圖4 HSI啟動(dòng)及狀態(tài)寄存器

62cb092c-1c94-11ef-b74b-92fbcf53809c.png

圖5 PLL啟動(dòng)及狀態(tài)寄存器

62f33f3c-1c94-11ef-b74b-92fbcf53809c.png

圖6 RCC_CFGR寄存器

在RCC_CFGR寄存器中,我們需要關(guān)注如下幾位:

63114400-1c94-11ef-b74b-92fbcf53809c.png

圖7PLL倍頻系數(shù)位

632e22fa-1c94-11ef-b74b-92fbcf53809c.png

圖8PLL時(shí)鐘源位

635e1316-1c94-11ef-b74b-92fbcf53809c.png

圖9 APB2預(yù)分頻位

63abe2b2-1c94-11ef-b74b-92fbcf53809c.png

圖10 其他RCC_CFGR控制位

在對系統(tǒng)時(shí)鐘進(jìn)行初始化過程中,一般也會(huì)對閃存訪問時(shí)間進(jìn)行配置,如下為CKS32F107xx系列閃存訪問時(shí)間與系統(tǒng)時(shí)鐘的對應(yīng)關(guān)系:

63dc5852-1c94-11ef-b74b-92fbcf53809c.png

圖11 閃存訪問時(shí)間

CKS32F107xx系列時(shí)鐘配置代碼

依據(jù)上一章節(jié)中對寄存器的基本介紹,即可在函數(shù)SetSysClock()中對程序時(shí)鐘進(jìn)行相關(guān)配置,本文以HSI為時(shí)鐘源,進(jìn)行36MHz SYSCLK/HCLK/APB1/APB2配置。

/* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/

/* Enable HSI */

RCC->CR |= ((uint32_t)RCC_CR_HSION);

/* Wait till HSI is ready and if Time out is reached exit */

while((RCC->CR & RCC_CR_HSIRDY) == 0){}

/* Enable Prefetch Buffer */

FLASH->ACR |= FLASH_ACR_PRFTBE;

/* Flash 1 wait state */

FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY);

FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1;

/*AHB Prescaler set*/

RCC->CFGR |= (uint32_t)RCC_SYSCLK_Div1;

/* HCLK = SYSCLK */

RCC->CFGR |=(uint32_t)RCC_CFGR_HPRE_DIV1;

/* PCLK2 = HCLK */

RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1;

/* PCLK1 = HCLK */

RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1;

/* PLL configuration: PLLCLK = HSI / 2 * 9 = 36 MHz */

RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL);

RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLMULL9);

/* Enable PLL */

RCC->CR |= RCC_CR_PLLON;

/* Wait till PLL is ready */

while((RCC->CR & RCC_CR_PLLRDY) == 0){}

/* Select PLL as system clock source */

RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));

RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL;

/* Wait till PLL is used as system clock source */

while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08){}



審核編輯:劉清

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

    關(guān)注

    31

    文章

    5343

    瀏覽量

    120348
  • pll
    pll
    +關(guān)注

    關(guān)注

    6

    文章

    776

    瀏覽量

    135157
  • RCC
    RCC
    +關(guān)注

    關(guān)注

    0

    文章

    93

    瀏覽量

    26937
  • 時(shí)鐘系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    101

    瀏覽量

    11721

原文標(biāo)題:MCU微課堂|CKS32F107xx系列時(shí)鐘系統(tǒng)(二)

文章出處:【微信號:中科芯MCU,微信公眾號:中科芯MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    MCU微課堂|CKS32F4xx系列產(chǎn)品時(shí)鐘配置

    ,并且高時(shí)鐘頻率將導(dǎo)致功耗增加、抗電磁干擾能力變?nèi)?,因此?b class='flag-5'>CKS32F4xx系列產(chǎn)品內(nèi)部具備多個(gè)時(shí)鐘源。本文將對CKS32F4xx
    發(fā)表于 12-12 10:17 ?843次閱讀

    基于CKS32F4xx系列的MCU互補(bǔ)PWM方案

    互補(bǔ)輸出實(shí)際跟比較輸出章節(jié)一樣使用的是定時(shí)器的功能,所以相關(guān)的函數(shù)設(shè)置同樣在庫函數(shù)文件CKS32f4xx_tim.h和CKS32f4xx_tim.c文件中。 1)開啟TIM1和GPIO時(shí)鐘,
    發(fā)表于 12-02 10:13 ?644次閱讀
    基于<b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>的MCU互補(bǔ)PWM方案

    CKS32F4xx系列產(chǎn)品NVIC中斷優(yōu)先級管理單元講解

    本課將為大家講解CKS32F4xx系列產(chǎn)品的中斷優(yōu)先級管理單元NVIC。CM4內(nèi)核共支持256個(gè)中斷,其中包含了16個(gè)內(nèi)核中斷和240個(gè)外部中斷,具有256級可編程中斷設(shè)置。但CKS32F4x
    的頭像 發(fā)表于 02-06 14:52 ?1184次閱讀

    CKS32F4xx系列產(chǎn)品串口DMA傳輸

    在上一講,我們講過CKS32F4xx系列的6個(gè)串口都支持DMA傳輸。因此本節(jié)我們對CKS32F4xx系列的DMA進(jìn)行介紹,同時(shí)利用DMA對串口數(shù)據(jù)進(jìn)行傳輸。
    的頭像 發(fā)表于 04-10 11:18 ?1042次閱讀

    CKS32F4xx系列RNG功能設(shè)置

    ? MCU 微課堂 CKS32F4xx 系 列RNG功能 隨機(jī)數(shù)發(fā)生器簡介 ? ? CKS32F4xx系列自帶了硬件隨機(jī)數(shù)發(fā)生器(RNG),RNG處理器是一個(gè)以連續(xù)模擬噪聲為基礎(chǔ)的隨機(jī)數(shù)發(fā)生器,在
    的頭像 發(fā)表于 09-08 10:01 ?609次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>RNG功能設(shè)置

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的頭像 發(fā)表于 11-06 16:56 ?853次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC功能

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)器脈沖計(jì)數(shù)

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)器脈沖計(jì)數(shù)
    的頭像 發(fā)表于 11-09 17:38 ?1075次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品Timer的基本使用<b class='flag-5'>方法</b>-定時(shí)器脈沖計(jì)數(shù)

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-比較輸出
    的頭像 發(fā)表于 11-09 17:39 ?858次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品Timer的基本使用<b class='flag-5'>方法</b>-比較輸出

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)操作

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)操作
    的頭像 發(fā)表于 11-09 17:41 ?620次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品Timer的基本使用<b class='flag-5'>方法</b>-定時(shí)操作

    MCU微課堂 | CKS32F4xx系列產(chǎn)品GPIO口配置

    MCU微課堂 | CKS32F4xx系列產(chǎn)品GPIO口配置
    的頭像 發(fā)表于 10-24 15:14 ?785次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品GPIO口<b class='flag-5'>配置</b>

    CKS32F4xx系列FSMC功能簡介

    本課講為大家講解CKS32F4xx系列產(chǎn)品的FSMC應(yīng)用實(shí)例,F(xiàn)SMC全稱是Flexible Static Memory Controller,讀作靈活的靜態(tài)存儲(chǔ)控制器,顧名思義,MCU可以通過FSMC擴(kuò)展靜態(tài)內(nèi)存
    的頭像 發(fā)表于 04-14 15:06 ?947次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>FSMC功能簡介

    CKS32F107xx系列時(shí)鐘組成介紹

    作為MCU運(yùn)行的基礎(chǔ),時(shí)鐘是MCU各個(gè)模塊工作時(shí)序的最小時(shí)間單位,推動(dòng)MCU的各指令執(zhí)行,是MCU選型的一個(gè)重要指標(biāo)。
    的頭像 發(fā)表于 05-20 14:04 ?463次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b><b class='flag-5'>時(shí)鐘</b>組成介紹

    CKS32F107xx系列MCU中ADC介紹

    CKS32F107xx系列產(chǎn)品提供2個(gè)12位的模擬/數(shù)字轉(zhuǎn)換器(ADC),每個(gè)ADC共用多達(dá)16個(gè)外部通道,各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。ADC的結(jié)果可以左對齊或右對齊方式存儲(chǔ)在16位數(shù)據(jù)寄存器中。
    的頭像 發(fā)表于 06-22 11:04 ?710次閱讀

    CKS32F107xx系列MCU的GPIO內(nèi)部硬件結(jié)構(gòu)和工作模式

    16個(gè)引腳,如型號為CKS2F107VET6型號的芯片有GPIOA、GPIOB、GPIOC至GPIOE共5組GPIO,芯片一共100個(gè)引腳,其中GPIO就占了一大部分,所有的GPIO引腳都有基本的輸入輸出功能。
    的頭像 發(fā)表于 07-22 09:23 ?701次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>MCU的GPIO內(nèi)部硬件結(jié)構(gòu)和工作模式

    詳解CKS32F107xx系列的定時(shí)器同步功能

    CKS32F107xx系列部分定時(shí)器在內(nèi)部是相連的,可用于定時(shí)器同步或鏈接,方便用戶配置不同的同步模式,以便在電機(jī)控制、數(shù)據(jù)采集和PWM信號生成等應(yīng)用中,實(shí)現(xiàn)復(fù)雜的時(shí)間序列和多通道的同步操作。本節(jié)課
    的頭像 發(fā)表于 11-26 17:51 ?369次閱讀
    詳解<b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>的定時(shí)器同步功能