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

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

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

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

CW32L083系列MCU系統(tǒng)時(shí)鐘詳解

武漢芯源半導(dǎo)體有限公司 ? 2022-10-25 13:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

時(shí)鐘單片機(jī)運(yùn)行的基礎(chǔ),是同步單片機(jī)各個(gè)模塊工作時(shí)序的最小時(shí)間單位。時(shí)鐘的速度取決于外部晶振或內(nèi)部RC振蕩電路。單片機(jī)擁有豐富的外設(shè),但實(shí)際使用的時(shí)候只會(huì)用到有限的外設(shè),且有的外設(shè)需要高速時(shí)鐘提升性能,有的外設(shè)需要低速時(shí)鐘降低功耗或提高抗干擾能力,因此單片機(jī)采用多種時(shí)鐘源來(lái)解決此問(wèn)題。

下面將詳細(xì)介紹如何配置CW32L083產(chǎn)品的系統(tǒng)時(shí)鐘。

CW32L083一共有5個(gè)系統(tǒng)時(shí)鐘來(lái)源LSI,LSE,HSI,HSE,PLL;可以按照時(shí)鐘頻率分為高速時(shí)鐘源和低速時(shí)鐘源,也可根據(jù)來(lái)源分為內(nèi)部時(shí)鐘源和外部時(shí)鐘源。

? 外部高速時(shí)鐘(HSE)

? 外部低速時(shí)鐘(LSE)

? 內(nèi)部高速時(shí)鐘(HSI)

? 內(nèi)部低速時(shí)鐘(LSI)

? 鎖相環(huán)時(shí)鐘(PLL)

鎖相環(huán)時(shí)鐘由HSE時(shí)鐘或HSI時(shí)鐘經(jīng)鎖相環(huán)PLL倍頻(2~12 倍)產(chǎn)生。

下圖為CW32L083的系統(tǒng)內(nèi)部時(shí)鐘樹(shù),由圖可以看到HSI時(shí)鐘是由內(nèi)部高速RC振蕩器HSIOSC經(jīng)過(guò)分頻后產(chǎn)生的,分頻系數(shù)是通過(guò)內(nèi)置高頻時(shí)鐘控制寄存器SYSCTRL_HSI的DIV位域進(jìn)行設(shè)置,有效分頻系數(shù)為1,2,4,6,8,10,12,14,16。系統(tǒng)時(shí)鐘SysClk可選的5個(gè)時(shí)鐘源如上文所示。

pYYBAGNXc2WAf4_wAALvuqeU3XI888.jpg

圖:CW32L083的系統(tǒng)內(nèi)部時(shí)鐘樹(shù)

SysClk分頻可以產(chǎn)生高級(jí)高性能總線時(shí)鐘HCLK,作為M0+內(nèi)核,SysTick,DMA,F(xiàn)LASH,CRC,GPIO等模塊的配置時(shí)鐘及工作時(shí)鐘,分頻系數(shù)是通過(guò)系統(tǒng)控制寄存器SYSCTRL_CR0的HCLKPRS位域設(shè)置,有效分頻系數(shù)為2^n(n = 0~7)。而外設(shè)時(shí)鐘PCLK,是由HCLK經(jīng)過(guò)分頻產(chǎn)生,通過(guò)配置系統(tǒng)控制器SYSCTRL_CR0的PCLKPRS位域設(shè)置,有效的分頻系數(shù)為2^n(n= 0~3),可作為GTIM,BTIM,ATIM等定時(shí)器以及SPI,I2CUART等外設(shè)的配置時(shí)鐘和工作時(shí)鐘。CW32L083還有兩個(gè)低速時(shí)鐘源,RC10K的時(shí)鐘可作為獨(dú)立看門(mén)狗的計(jì)數(shù)時(shí)鐘以及GPIO端口中斷輸入信號(hào)的濾波時(shí)鐘使用,RC150K時(shí)鐘可以作為L(zhǎng)VD和VC數(shù)字濾波模塊的濾波時(shí)鐘以及GPIO端口中斷輸入信號(hào)的濾波時(shí)鐘使用。

CW32L083默認(rèn)系統(tǒng)時(shí)鐘為HSIOSC的6分頻,即8MHz時(shí)鐘,下面介紹時(shí)鐘配置方法,CW32L083有豐富的時(shí)鐘配置函數(shù),內(nèi)部FLASH存儲(chǔ)器支持最快24MHz頻率的操作時(shí)鐘,當(dāng)配置HCLK頻率大于24MHz時(shí),需要通過(guò)FLASH控制寄存器FLASH_CR2的WAIT位域來(lái)配置插入等待HCLK周期個(gè)數(shù)。大于24MHz,小于等于48MHz時(shí),需要插入2個(gè)等待周期;大于48MHz時(shí),需要插入3個(gè)等待周期。


1.HSI的時(shí)鐘配置

在HSI小于等于24MHz的時(shí)候,可以不用配置FLASH等待周期

RCC_HSI_Enable( RCC_HSIOSC_DIV2 );

//內(nèi)部高速時(shí)鐘2分頻SysClk=24MHz

RCC_HSI_Enable( RCC_HSIOSC_DIV6 );

//內(nèi)部高速時(shí)鐘6分頻SysClk=8MHz,當(dāng)HSI配置大于24MHz的時(shí)候,需要配置FLASH等待周期

__RCC_FLASH_CLK_ENABLE();

//使能FLASH配置時(shí)鐘

FLASH_SetLatency(FLASH_Latency_2);

//頻率大于24MHz,小于48MHz需要配置FlashWait=2

RCC_HSI_Enable(RCC_HSIOSC_DIV1);

//內(nèi)部高速時(shí)鐘1分頻SysClk=48MHz

2.HSE的時(shí)鐘配置

RCC_HSE_Enable(RCC_HSE_MODE_OSC,16000000,RCC_HSE_DRIVER_NORMAL,RCC_HSE_FLT_CLOSE);

//開(kāi)啟HSE時(shí)鐘,HSE的頻率范圍為4MHz-32MHz

RCC_SysClk_Switch( RCC_SYSCLKSRC_HSE );

//切換系統(tǒng)時(shí)鐘為外部高速時(shí)鐘

3.LSI的時(shí)鐘配置

RCC_LSI_Enable();

//開(kāi)啟內(nèi)部低速時(shí)鐘LSI

RCC_SysClk_Switch( RCC_SYSCLKSRC_LSI );

//切換系統(tǒng)時(shí)鐘到LSI

4.LSE的時(shí)鐘配置

RCC_LSE_Enable(RCC_LSE_MODE_OSC,RCC_LSE_AMP_LARGER,RCC_LSE_DRIVER_LARGER);

//開(kāi)啟外部低速時(shí)鐘LSE

RCC_SysClk_Switch( RCC_SYSCLKSRC_LSE );

//切換系統(tǒng)時(shí)鐘到LSE

5.PLL的時(shí)鐘配置

CW32L083的PLL輸入可以是HSI和HSE,下面以HSE為例

RCC_HSE_Enable( RCC_HSE_MODE_OSC, 16000000, RCC_HSE_DRIVER_NORMAL, RCC_HSE_FLT_CLOSE );

//開(kāi)啟外部高速時(shí)鐘HSE,頻率需要根據(jù)實(shí)際晶體頻率進(jìn)行填寫(xiě)

RCC_AHBPeriphClk_Enable(RCC_AHB_PERIPH_FLASH,ENABLE); RCC_PLL_Enable(RCC_PLLSOURCE_HSEOSC,16000000,RCC_PLL_MUL_2);

//開(kāi)啟PLL,PLL輸入為HSE

FLASH_SetLatency(FLASH_Latency_2);

//頻率大于24MHz,小于等于48MHz需要配置FlashWait=2

RCC_SysClk_Switch( RCC_SYSCLKSRC_PLL );

//切換系統(tǒng)時(shí)鐘到PLL

上面所描述的是用庫(kù)函數(shù)來(lái)配置CW32L083的系統(tǒng)時(shí)鐘,接下來(lái)舉例用寄存器來(lái)配置64MHz的系統(tǒng)時(shí)鐘,思路是先將HSIOSC六分頻得到8MHz的HSI,然后通過(guò)PLL倍頻至64MHz。


//開(kāi)啟HSI時(shí)鐘
CW_SYSCTRL->HSI=(5HSI&SYSCTRL_HSI_STABLE_Msk)!=SYSCTRL_HSI_STABLE_Msk) 
//Wait stable
 {
        ;
 }

//設(shè)置PLL參數(shù)
    CW_SYSCTRL->PLL = (RCC_PLL_WAITCYCLE_16384 | \
      ((uint32_t)(0x07 << SYSCTRL_PLL_FREQOUT_Pos)) | \
      ((uint32_t)(0x08 << SYSCTRL_PLL_MUL_Pos)) | \
      ((uint32_t)(0x01 << SYSCTRL_PLL_FREQIN_Pos)) | \
      ((uint32_t)(0x03 << SYSCTRL_PLL_SOURCE_Pos)));

// SYSCTRL_PLL_FREQOUT_Pos是PLL輸出時(shí)鐘頻率范圍配置因?yàn)槭禽敵?4MHz,需要設(shè)置為1xx
// SYSCTRL_PLL_MUL_Pos是PLL倍頻系數(shù)配置位域,因?yàn)楸纠璞额l8倍,設(shè)置為0x08
// SYSCTRL_PLL_FREQIN_Pos是PLL輸入時(shí)鐘頻率范圍配置,本例HSI經(jīng)分頻之后為8MHz,設(shè)置為01
// SYSCTRL_PLL_SOURCE_Pos是PLL輸入時(shí)鐘來(lái)源選擇,HSI時(shí)鐘,設(shè)置為11


//使能PLL
    CW_SYSCTRL->CR1 |= SYSCTRL_BYPASS | SYSCTRL_CR1_PLLEN_Msk;    
//Enable PLL

//等待PLL時(shí)鐘穩(wěn)定


   while((CW_SYSCTRL->PLL&SYSCTRL_PLL_STABLE_Msk)!=SYSCTRL_PLL_STABLE_Msk)
    {
        ;
    }

    CW_SYSCTRL->AHBEN_f.FLASH = 1;
    CW_FLASH->CR2 = 0x5A5A0000 | ((uint32_t)0x00000002);
//頻率為64MHz,配置3個(gè)等待周期。

//轉(zhuǎn)換時(shí)鐘 
CW_SYSCTRL->CR0 = ((((CW_SYSCTRL->CR0 & (~SYSCTRL_BYPASS_MASK)) | SYSCTRL_BYPASS) & (~SYSCTRL_CR0_SYSCLK_Msk)) | ((0x00000002U)));

    RCC_SystemCoreClockUpdate(RCC_Sysctrl_GetHClkFreq());

配置完成之后,可以通過(guò)RCC_PLL_OUT(),看到輸出頻率。除了上述功能,CW32L083還可以通過(guò)配置GPIO口直接輸出時(shí)鐘端口,方便用戶(hù)進(jìn)行測(cè)試。

RCC_HCLK_OUT() //PA04輸出HCLK時(shí)鐘

RCC_PCLK_OUT() //PA03輸出PCLK時(shí)鐘

RCC_HSE_OUT() //PC15輸出HSE時(shí)鐘

RCC_HSI_OUT() //PB00輸出HSI時(shí)鐘

RCC_LSE_OUT() //PB12輸出LSE時(shí)鐘

RCC_LSI_OUT() //PD05輸出LSI時(shí)鐘

RCC_PLL_OUT() //PC13輸出PLL時(shí)鐘

以上是CW32L083時(shí)鐘部分的介紹,CW32其他型號(hào)亦可參考此篇文檔。

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

    關(guān)注

    48

    文章

    7953

    瀏覽量

    155079
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44992

    瀏覽量

    650518
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17984

    瀏覽量

    366975
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1901

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    堅(jiān)持繼續(xù)布局32位MCU,進(jìn)一步完善產(chǎn)品陣容,96Mhz主頻CW32L012新品發(fā)布!

    基于CW32L01x系列低功耗微控制器家族的全新成員:CW32L012系列產(chǎn)品。 CW32L012基于ARM? Cortex-M0+內(nèi)核,主
    發(fā)表于 07-16 16:32

    基于CW32L010的高性能溫控器方案

    武漢芯源半導(dǎo)體的明星產(chǎn)品CW32L010系列MCU憑借其ARM Cortex-M0+內(nèi)核、超低功耗特性以及豐富的外設(shè)接口,為溫控器設(shè)計(jì)提供了理想的解決方案。 本文將介紹無(wú)錫梓軒電子基于武漢芯源半導(dǎo)體低功耗
    的頭像 發(fā)表于 07-02 09:47 ?494次閱讀
    基于<b class='flag-5'>CW32L</b>010的高性能溫控器方案

    基于CW32L010的高性能溫控器方案

    溫控器作為環(huán)境控制系統(tǒng)中的核心設(shè)備,廣泛應(yīng)用于工業(yè)自動(dòng)化、智能家居、農(nóng)業(yè)溫室等諸多領(lǐng)域,正朝著智能化、精準(zhǔn)化和低功耗方向發(fā)展。武漢芯源半導(dǎo)體的明星產(chǎn)品CW32L010系列MCU憑借其A
    發(fā)表于 07-02 09:46

    CW32L010 MCU在VSCode+GCC+EIDE+JLink下的使用示例

    CW32L010 MCU 在VSCode+GCC+ EIDE + JLink 下的使用示例: 1、點(diǎn)擊VSCode左邊欄中的Extensions,在EXTENSIONS:MARKETPLACE搜索
    的頭像 發(fā)表于 07-01 14:52 ?169次閱讀
    <b class='flag-5'>CW32L</b>010 <b class='flag-5'>MCU</b>在VSCode+GCC+EIDE+JLink下的使用示例

    CW32L010 ESC Driver 電機(jī)控制套件使用

    Ω的分流電阻構(gòu)成母線電流檢測(cè)電路。 采用反電動(dòng)勢(shì)法,對(duì)各相來(lái)對(duì)電機(jī)的位置進(jìn)行檢測(cè),通過(guò)過(guò)零檢測(cè)確定轉(zhuǎn)子的位置,實(shí)現(xiàn)電機(jī)的無(wú)感閉環(huán)控制。 MCU使用的是CW32L010F8U6,片上有4KBSRAM
    發(fā)表于 06-13 18:12

    AS32X601驅(qū)動(dòng)系列教程 SMU_系統(tǒng)時(shí)鐘詳解

    在現(xiàn)代嵌入式系統(tǒng)中,時(shí)鐘與復(fù)位管理是確保系統(tǒng)穩(wěn)定運(yùn)行的關(guān)鍵。我們的SMU(系統(tǒng)管理單元)模塊專(zhuān)注于此核心任務(wù),通過(guò)精準(zhǔn)的時(shí)鐘配置和復(fù)位控制,
    的頭像 發(fā)表于 05-23 16:01 ?339次閱讀
    AS32X601驅(qū)動(dòng)<b class='flag-5'>系列</b>教程 SMU_<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>詳解</b>

    武漢芯源半導(dǎo)體CW32L010在兩輪車(chē)儀表的應(yīng)用介紹

    連接;通過(guò)GPIO模塊來(lái)控制大燈的顯示、并獲取硬件版本信息等。 另外基于不同CW32 MCU資源,還有藍(lán)牙+NFC 系列、單 NFC 系列、單藍(lán)牙
    發(fā)表于 05-13 14:06

    24CW16X/24CW32X/24CW64X/24CW128X系列數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《24CW16X/24CW32X/24CW64X/24CW128X系列數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 01-22 16:08 ?0次下載
    24<b class='flag-5'>CW</b>16X/24<b class='flag-5'>CW</b>32X/24<b class='flag-5'>CW</b>64X/24<b class='flag-5'>CW</b>128X<b class='flag-5'>系列</b>數(shù)據(jù)手冊(cè)

    STM32L151VCT6 STM32L083RZT6 IC MCU 32BIT 32位微控制器 LQFP

    STM32L151VCT6 微控制器采用Cortex-M3內(nèi)核和頻率32 MHz的CPU時(shí)鐘,擴(kuò)展了超低功耗的理念,并且不會(huì)降低性能。除了動(dòng)態(tài)運(yùn)行和低功耗運(yùn)行模式以外,該系列器件還提供另外2種超低
    發(fā)表于 01-04 16:17

    方案介紹|CW32L010安全低功耗MCU:驅(qū)動(dòng)高速風(fēng)筒新力量

    芯源半導(dǎo)體CW32L010系列MCU可支持低成本、高性能、低功耗、高度集成的高速風(fēng)筒方案,以滿足市場(chǎng)對(duì)高效、安全、智能的高速風(fēng)筒需求。 本文將介紹武漢芯源半導(dǎo)體CW32L010
    發(fā)表于 12-10 09:57

    CW32L010 Mini Board 測(cè)評(píng)】簡(jiǎn)介、點(diǎn)燈

    Board 是基于 CW32L010F8U6 的 QFN 封裝設(shè)計(jì)的最小系統(tǒng)核心板,產(chǎn)品規(guī)格與 CW32L010 芯片規(guī)格一致。便于客戶(hù)靈活快速的評(píng)估芯片性能和產(chǎn)應(yīng)用。 1.0mm的板厚、單面元器件
    發(fā)表于 11-17 06:39

    CW32L010學(xué)習(xí)筆記

    記錄CW32L010學(xué)習(xí)過(guò)程
    的頭像 發(fā)表于 11-15 17:40 ?3280次閱讀
    <b class='flag-5'>CW32L</b>010學(xué)習(xí)筆記

    CW32L010安全低功耗MCU,樹(shù)立M0+產(chǎn)品行業(yè)新標(biāo)桿!

    2024年9月26日,武漢芯源半導(dǎo)體CW32L010系列產(chǎn)品正式官方發(fā)布。這款產(chǎn)品以其卓越的產(chǎn)品性能,迅速在業(yè)界引起了廣泛關(guān)注,并成功樹(shù)立M0+產(chǎn)品行業(yè)的新標(biāo)桿。CW32L010系列
    的頭像 發(fā)表于 10-09 10:12 ?1142次閱讀
    <b class='flag-5'>CW32L</b>010安全低功耗<b class='flag-5'>MCU</b>,樹(shù)立M0+產(chǎn)品行業(yè)新標(biāo)桿!

    CW32L010安全低功耗MCU,樹(shù)立M0+產(chǎn)品行業(yè)新標(biāo)桿!

    尤為重要,這一指標(biāo)考驗(yàn)的是MCU內(nèi)置RC時(shí)鐘源的技術(shù)特性。CW32L010的內(nèi)置時(shí)鐘源,不論是HSI還是LSI,都大幅優(yōu)于競(jìng)品。 CW32L
    發(fā)表于 10-09 10:08

    MSPM0 L 系列 MCU硬件開(kāi)發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《MSPM0 L 系列 MCU硬件開(kāi)發(fā)指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-09 10:36 ?1次下載
    MSPM0 <b class='flag-5'>L</b> <b class='flag-5'>系列</b> <b class='flag-5'>MCU</b>硬件開(kāi)發(fā)指南