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

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

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

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

CW32 低功耗模式的特性介紹

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

掃碼添加小助手

加入工程師交流群

CW32系列芯片支持3種工作模式,運(yùn)行模式、休眠模式以及深度休眠模式,本文以CW32L083為例介紹低功耗模式的特性。MCU上電以后,系統(tǒng)自動(dòng)進(jìn)入運(yùn)行模式,可以通過軟件配置,進(jìn)入休眠或者深度休眠兩種低功耗模式,進(jìn)入低功耗運(yùn)行狀態(tài)后,可以通過外設(shè)中斷觸發(fā)喚醒機(jī)制,使得系統(tǒng)返回到運(yùn)行模式,三種工作模式的轉(zhuǎn)換機(jī)制如下圖所示:

poYBAGOuTwSAKUO3AAA1NDr3uj0735.jpg

三種模式下CPU時(shí)鐘及外設(shè)狀態(tài):

? 運(yùn)行模式(Active mode)

運(yùn)行模式下 CPU 正常運(yùn)行,所有模塊用戶均可正常使用。

? 休眠模式(Sleep mode)

休眠模式下,CPU 停止運(yùn)行,所有外設(shè)不受影響,所有I/O引腳保持狀態(tài)不變。

? 深度休眠模式(DeepSleep mode)

深度休眠模式下,CPU停止運(yùn)行,高速時(shí)鐘(HSE、HSIOSC)自動(dòng)關(guān)閉,低速時(shí)鐘(LSE、 LSI、RC10K、RC150K)保持原狀態(tài)不變。深度休眠模式的功耗遠(yuǎn)小于休眠模式。

CW32L083可以使用等待中斷專用指令,WFI(Wait for Interrupt),配合系統(tǒng)控制寄存器(SCR, System Control Register)的SLEEPONEXIT和SLEEPDEEP位域,可實(shí)現(xiàn)立即進(jìn)入或退出(中斷服務(wù)程序)時(shí)進(jìn)入休眠模式或深度休眠模式。

? 立即進(jìn)入

執(zhí)行WFI指令,MCU將立即進(jìn)入休眠模式(SLEEPDEEP為0時(shí))或深度休眠模式(SLEEPDEEP為1時(shí))

? 退出時(shí)進(jìn)入

將SLEEPONEXIT位置1,當(dāng)退出最低優(yōu)先級的中斷服務(wù)程序后,MCU會(huì)進(jìn)入休眠模式(SLEEPDEEP為0時(shí))或深度休眠模式(SLEEPDEEP為 1時(shí)),而不需執(zhí)行WFI指令 。

pYYBAGOuUiKADJYpAAC0GU7OciQ366.png

注:在深度休眠模式下,系統(tǒng)將自動(dòng)關(guān)閉高速時(shí)鐘,如果需要在深度休眠模式下使部分外設(shè)仍保持運(yùn)行,則需要在進(jìn)入深度休眠模式前,啟動(dòng)相應(yīng)的低速時(shí)鐘并將該外設(shè)時(shí)鐘設(shè)置為此低速時(shí)鐘。

在休眠模式或深度休眠模式下,均可通過中斷來喚醒CPU,返回到運(yùn)行模式。如果用戶在中斷服務(wù)程序中執(zhí)行WFI命令進(jìn)入休眠(包括深度休眠),則需要比此中斷更高優(yōu)先級的中斷才能喚醒CPU,因此,強(qiáng)烈建議在準(zhǔn)備進(jìn)入休眠前,應(yīng)先處理完所有中斷服務(wù)程序,并且清除所有中斷請求和中斷標(biāo)志,以下是配置進(jìn)入低功耗模式時(shí)所需注意的事項(xiàng)。

?建議在進(jìn)入低功耗模式前加一段時(shí)間的延遲,以免出現(xiàn)上電就進(jìn)入低功耗模式,無法燒錄程序。

?系統(tǒng)可以配置從Deepsleep喚醒后,系統(tǒng)時(shí)鐘來源是HSI還是進(jìn)入休眠前的時(shí)鐘。

?系統(tǒng)進(jìn)入低功耗模式,端口狀態(tài)不會(huì)發(fā)生改變,此時(shí)需要客戶根據(jù)實(shí)際應(yīng)用來配置端口狀態(tài)來達(dá)到理想的功耗值,未用端口建議配置為模擬模式。

?其他的RTC等低功耗運(yùn)行模塊因在深度休眠下高速時(shí)鐘停止運(yùn)行,所以如果需要在深度休眠模式下運(yùn)行RTC等模塊,需配置模塊時(shí)鐘源為LSI或LSE。

根據(jù)上述內(nèi)容,可以配置CW32L083的低功耗應(yīng)用的例程,具體的代碼可以查看CW32L083的固件庫中PWR_CurrentConsumption這一例程,配置PA04和PA05為引腳輸入,并開啟下降沿中斷,在中斷服務(wù)函數(shù)改變gKeyStatus的值,從而使得MCU在main中進(jìn)入低功耗休眠模式。


volatile uint8_t gKeyStatus; 
volatile uint32_t gFlagWakeUpIrq = 0; 
int main(void)
{
    RCC_HSI_Enable( RCC_HSIOSC_DIV6); //配置系統(tǒng)時(shí)鐘為HSI 8M
    InitTick(8000000ul); //初始化SysTick
    LED_Init();        //LED初始化
    BSP_PB_Init(); //按鍵初始化
    while (1)
    {
       gKeyStatus = 0;//在沒有進(jìn)入低功耗模式前,PC03每間隔1s翻轉(zhuǎn)一次狀態(tài)
       do
       {
     PC03_TOG();        //翻轉(zhuǎn)LED1
       SysTickDelay(1000);  //延遲1s.
       } while (gKeyStatus == 0);      
       PC03_SETLOW();        //PC03置低
       DeepSleepModeTest();   //進(jìn)入深度睡眠模式
     }
}

//按鍵初始化,設(shè)置PA05沿下降沿觸發(fā)中斷
void BSP_PB_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStructure = {0};
    //打開GPIOA時(shí)鐘
    REGBITS_SET(CW_SYSCTRL->AHBEN, SYSCTRL_AHBEN_GPIOA_Msk);
    GPIO_InitStructure.Pins = GPIO_PIN_5;
    GPIO_InitStructure.Mode = GPIO_MODE_INPUT_PULLUP;
    GPIO_InitStructure.IT = GPIO_IT_FALLING;
    GPIO_Init(CW_GPIOA, &GPIO_InitStructure);
    GPIO_ConfigFilter(CW_GPIOA, GPIO_PIN_5, GPIO_FLTCLK_RC10K);
    //設(shè)置GPIOA的中斷等級為3
    NVIC_SetPriority(GPIOA_IRQn, 0x03);
    GPIOA_INTFLAG_CLR(GPIOx_ICR_PIN5_Msk );
    NVIC_EnableIRQ(GPIOA_IRQn);
}

//LED I/O初始化
void LED_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStructure = {0};
    //打開GPIO時(shí)鐘
    REGBITS_SET(CW_SYSCTRL->AHBEN, SYSCTRL_AHBEN_GPIOC_Msk);
    GPIO_InitStructure.Pins = GPIO_PIN_2 | GPIO_PIN_3;
    GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_Init(CW_GPIOC, &GPIO_InitStructure);
    PC03_SETLOW();
}

void DeepSleepModeTest(void)
{
  GPIO_InitTypeDef GPIO_InitStructure = { 0 };
  PWR_InitTypeDef PWR_InitStructure = { 0 };

  //打開GPIO時(shí)鐘
  REGBITS_SET(CW_SYSCTRL->AHBEN,SYSCTRL_AHBEN_GPIOA_Msk|\
  SYSCTRL_AHBEN_GPIOB_Msk | \
  SYSCTRL_AHBEN_GPIOC_Msk | SYSCTRL_AHBEN_GPIOF_Msk);

  GPIO_InitStructure.Mode = GPIO_MODE_ANALOG;
  GPIO_InitStructure.IT = GPIO_IT_NONE;
  GPIO_InitStructure.Pins = GPIO_PIN_All;
  GPIO_Init(CW_GPIOA, &GPIO_InitStructure);
  GPIO_Init(CW_GPIOB, &GPIO_InitStructure);
  GPIO_Init(CW_GPIOC, &GPIO_InitStructure);
  GPIO_Init(CW_GPIOF, &GPIO_InitStructure);
  //關(guān)閉GPIO時(shí)鐘
  REGBITS_CLR(CW_SYSCTRL->AHBEN,SYSCTRL_AHBEN_GPIOA_Msk| \
  SYSCTRL_AHBEN_GPIOB_Msk | \
  SYSCTRL_AHBEN_GPIOC_Msk | SYSCTRL_AHBEN_GPIOF_Msk);
  BSP_PB_Init();            //按鍵初始化
  // 喚醒后自動(dòng)使用內(nèi)部高速時(shí)鐘(HSI)
  RCC_WAKEUPCLK_Config(RCC_SYSCTRL_WAKEUPCLKEN);
  PWR_InitStructure.PWR_Sevonpend = PWR_Sevonpend_Disable;
  PWR_InitStructure.PWR_SleepDeep = PWR_SleepDeep_Enable;
  PWR_InitStructure.PWR_SleepOnExit = PWR_SleepOnExit_Disable;
  PWR_Config(&PWR_InitStructure);
  PWR_GotoLpmMode();
  SYSCLKConfig_DeepSleep();
  LED_Init();
  SysTickDelay(200);
  PC02_SETHIGH();
  }
}
//GPIOA中斷服務(wù)函數(shù)
void GPIOA_IRQHandler(void)
{
 if(REGBITS_GET(CW_GPIOA->ISR, GPIOx_ISR_PIN5_Msk) > 0)
    {
        gKeyStatus = 1;
        GPIOA_INTFLAG_CLR(GPIOx_ICR_PIN5_Msk);//清除CW_GPIO中斷標(biāo)志
    }

}

上述代碼可以看到在未進(jìn)入低功耗模式之前,LED1每1s翻轉(zhuǎn)一次,通過按鍵KEY2進(jìn)入低功耗模式后,LED1燈滅,當(dāng)再次按下KEY2后,重新回到正常的運(yùn)行模式,LED1每一秒翻轉(zhuǎn)一次。通過測量可以得到,進(jìn)入到低功耗模式之后,功耗顯著降低。


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

    關(guān)注

    6067

    文章

    44992

    瀏覽量

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

    關(guān)注

    146

    文章

    17984

    瀏覽量

    367076
  • 微控制
    +關(guān)注

    關(guān)注

    1

    文章

    51

    瀏覽量

    14710
  • 32位MCU
    +關(guān)注

    關(guān)注

    8

    文章

    200

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

    Cortex-M0+內(nèi)核、超低功耗特性以及豐富的外設(shè)接口,為溫控器設(shè)計(jì)提供了理想的解決方案。 本文將介紹無錫梓軒電子基于武漢芯源半導(dǎo)體低功耗CW
    發(fā)表于 07-02 09:46

    如何使用新版本J-Flash編程CW32 MCU?

    CW32 MCU器件支持包JlinkDevices_WHXY.rar解壓到新建的JlinkDevices子目錄即可。 4、運(yùn)行JFlash.exe,通過Jlink連接CW32 MCU測試板,進(jìn)行編程測試
    的頭像 發(fā)表于 07-01 15:05 ?144次閱讀
    如何使用新版本J-Flash編程<b class='flag-5'>CW32</b> MCU?

    基于CW32L010單片機(jī)的掃振一體電動(dòng)牙刷應(yīng)用方案

    板 馬達(dá)空間(深圳) 科技有限公司開發(fā)的這款掃振一體電動(dòng)牙刷方案,憑借CW32L010高集成度、低功耗特性和豐富外設(shè)資源,可實(shí)現(xiàn)高效電機(jī)控制、多檔刷牙振動(dòng)切換、TFT 屏幕顯示等功能。 圖2:應(yīng)用框圖
    發(fā)表于 06-17 09:38

    藍(lán)牙低功耗模塊的原理和應(yīng)用介紹

    隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,藍(lán)牙低功耗模塊在連接各種設(shè)備和傳輸數(shù)據(jù)方面發(fā)揮著重要作用。今天將為您介紹藍(lán)牙低功耗模塊的工作原理以及其廣泛的應(yīng)用領(lǐng)域。 藍(lán)牙低功耗模塊的原理 藍(lán)牙
    的頭像 發(fā)表于 05-21 15:56 ?325次閱讀

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

    主控MCU芯片CW32L010介紹 CW32L010 是基于 eFlash 的單芯片低功耗微控制器,集成了主頻高達(dá) 48MHz 的 ARM? Cortex?-M0+ 內(nèi)核、高速嵌入式
    發(fā)表于 05-13 14:06

    新品發(fā)布 | 96MHz主頻 M0+內(nèi)核低功耗單片機(jī)CW32L011產(chǎn)品介紹

    PWM 定時(shí)器。 CW32L011 可以在 -40°C~+85°℃的溫度范圍內(nèi)工作,供電電壓寬達(dá) 1.7V~5.5V。支持 Sleep 和 DeepSleep 兩種低功耗工作模式。內(nèi)部框圖如下圖所
    發(fā)表于 05-07 15:55 ?4927次閱讀
    新品發(fā)布 | 96MHz主頻 M0+內(nèi)核<b class='flag-5'>低功耗</b>單片機(jī)<b class='flag-5'>CW</b>32L011產(chǎn)品<b class='flag-5'>介紹</b>

    代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開發(fā)實(shí)戰(zhàn)正式出版

    尊敬的各位電子工程師、嵌入式開發(fā)愛好者們:大家好!今天,我們懷著無比激動(dòng)與自豪的心情,向大家宣布一個(gè)重大喜訊——武漢芯源半導(dǎo)體的單片機(jī)CW32正式出書啦!《基于ARMCortex-M0+的CW32
    的頭像 發(fā)表于 03-03 15:15 ?695次閱讀
    代碼+案例+生態(tài):武漢芯源半導(dǎo)體<b class='flag-5'>CW32</b>嵌入式開發(fā)實(shí)戰(zhàn)正式出版

    代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開發(fā)實(shí)戰(zhàn)正式出版

    CW32 單片機(jī)的高級特性和應(yīng)用技巧,如低功耗設(shè)計(jì)、高速通信接口的優(yōu)化、實(shí)時(shí)操作系統(tǒng)的移植等。同時(shí),書中還分享了許多實(shí)際項(xiàng)目中的開發(fā)經(jīng)驗(yàn)和解決方案,這些寶貴的經(jīng)驗(yàn)將有助于開發(fā)者拓寬思路,提高開發(fā)效率,解決在
    發(fā)表于 03-03 15:14

    如何實(shí)現(xiàn)EEPROM的低功耗模式

    內(nèi)容進(jìn)行擦除和重寫。在許多應(yīng)用中,尤其是在電池供電的設(shè)備中,低功耗模式對于延長設(shè)備的使用壽命至關(guān)重要。以下是實(shí)現(xiàn)EEPROM低功耗模式的一些方法: 1. 選擇合適的EEPROM類型 選
    的頭像 發(fā)表于 12-16 16:54 ?1007次閱讀

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

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

    武漢芯源半導(dǎo)體CW32芯片重慶地區(qū)線下技術(shù)交流會(huì)成功舉辦

    2024年10月19日,武漢芯源半導(dǎo)體授權(quán)CW32生態(tài)社區(qū)主辦的“CW32芯片-重慶地區(qū)技術(shù)交流會(huì)”在重慶市科技工作者眾創(chuàng)之家成功舉辦。此次交流會(huì)匯聚重慶地區(qū)的嵌入式開發(fā)工程師和電子信息類企業(yè)代表,共同探討CW32芯片在儀器儀表
    的頭像 發(fā)表于 10-24 10:55 ?977次閱讀

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

    PWM 定時(shí)器。 CW32L010 可以在 -40℃到 85℃的溫度范圍內(nèi)工作,供電電壓寬達(dá) 1.62V ~ 5.5V。支持 Sleep 和 DeepSleep兩種低功耗工作模式CW
    發(fā)表于 10-09 10:08

    低功耗8位單片機(jī):技術(shù)特性與應(yīng)用前景!

    分享低功耗8位單片機(jī)的技術(shù)特性、應(yīng)用場景及其未來發(fā)展前景。 低功耗8位單片機(jī)的技術(shù)特性: 1. 低功耗設(shè)計(jì)
    發(fā)表于 09-26 14:09

    SD NAND SPI模式:如何實(shí)現(xiàn)低功耗運(yùn)行

    最近,收到客戶反饋,使用我們SD NAND過程中,使用SPI模式,對SD完成操作后,SD沒有進(jìn)入低功耗模式,未對SD進(jìn)行任何操作的情況下測得的功耗仍在20mA左右。經(jīng)過我們分析,發(fā)現(xiàn)S
    的頭像 發(fā)表于 09-02 11:06 ?837次閱讀
    SD NAND SPI<b class='flag-5'>模式</b>:如何實(shí)現(xiàn)<b class='flag-5'>低功耗</b>運(yùn)行