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

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

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

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

CKS32F4xx系列低功耗模式SLEEP模式

jf_pJlTbmA9 ? 來源:中科芯MCU ? 作者:中科芯MCU ? 2023-11-06 16:59 ? 次閱讀

本課講為大家講解CKS32F4xx系列產(chǎn)品的低功耗模式之睡眠(Sleep)模式。MCU為滿足某些應(yīng)用場景:如小型化低容量設(shè)備,長期監(jiān)測設(shè)備等,低功耗應(yīng)運而生,其中根據(jù)需求,用戶可以選擇睡眠模式、停止模式及待機模式,今天本課將帶大家一起配置睡眠模式。

電源系統(tǒng)及低功耗

首先,MCU要做到低功耗,必須要知道電源是怎么分配的,CKS32F4xx系列的電源系統(tǒng)框圖如下所示:

wKgaomUDwZCAISyXAAInpyUp7M8543.png

電源框圖中,第1部分是備份域電路,由VDD或Vbat電池供電,接入3V紐扣電池后,可保證VDD掉電時,能夠保留關(guān)鍵數(shù)據(jù)。

第2部分為電壓調(diào)壓器供電,由于其輸出約為1.2V,又稱1.2V域。1.2V域給除備份域和待機電路以外的所有數(shù)字電路供電,在低功耗的三種模式中,1.2V域也對應(yīng)三種狀態(tài):正常開啟、低功耗和關(guān)閉。

第3部分為A/D轉(zhuǎn)換器及參考電壓供電,故為VDDA供電區(qū),目的是使用獨立電源能更好的濾波,從而提高精度,也可以在Vref上外接高精度電源,進一步提高進度。

所謂低功耗,即是關(guān)閉相應(yīng)功耗路線,1)睡眠模式僅關(guān)閉第二部分中的內(nèi)核時鐘;2)停止模式關(guān)閉所有時鐘,且調(diào)壓器可選擇正常開啟或低功耗運行;3)待機模式關(guān)閉所有時鐘以及調(diào)壓器,僅保留備份域及待機電路;

外部中斷喚醒睡眠模式驗證

接下來舉一個低功耗睡眠模式且由外部中斷喚醒的例子,睡眠模式比較簡單,直接調(diào)用編譯器內(nèi)置函數(shù)__WFE()或__WFI(),取決于使用事件喚醒還是中斷喚醒;另外默認SCR(系統(tǒng)控制寄存器)的SLEEPDEEP位和SLEEPONEXIT位置0,效果是立即觸發(fā)睡眠,如果將SLEEPONEXIT置1可以設(shè)置成中斷退出后觸發(fā)睡眠,也就是說內(nèi)核將會只在中斷內(nèi)工作。

驗證流程如下圖,電源串聯(lián)萬用表電流檔,直觀比較睡眠模式開啟前后的電流大小。

wKgZomUDwZGAQFOLAAAqDbc-2EQ480.png

程序配置及中斷服務(wù)函數(shù)

1)開啟時鐘及GPIO初始化如下,按鍵直連PE10,按下為低電平。

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE,ENABLE);
//開啟按鍵GPIO口的時鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);
//由于使用外部中斷需要使能SYSCFG時鐘
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;//選擇按鍵PE10的引腳
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;//設(shè)置引腳為輸入模式
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;//不上拉也不下拉
GPIO_Init(GPIOE, GPIO_InitStructure);//使用上面的結(jié)構(gòu)體初始化按鍵

2)總中斷NVIC初始化如下,GPIO外部中斷源一共對應(yīng)7個通道,PX0~PX4分別對應(yīng)EXTI0~EXTI4的5個通道,PX5~PX9對應(yīng)通道EXTI_9_5,PX10~PX15 對應(yīng)通道EXTI_15_10,故PE10對應(yīng)中斷服務(wù)函數(shù)EXTI15_10_IRQHandler()。

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);//配置NVIC為優(yōu)先級組1
NVIC_InitStructure.NVIC_IRQChannel=EXTI15_10_IRQn;//按鍵PE10使用中斷源EXTI15_10
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;//配置搶占優(yōu)先級:1
NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;//配置子優(yōu)先級:1
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//使能中斷通道
NVIC_Init( NVIC_InitStructure);//使用上面的結(jié)構(gòu)體初始化總中斷

3)外部中斷配置如下,主要在初始化中對中斷屏蔽寄存器EXTI_IMR及下降沿觸發(fā)選擇寄存器EXTI_FTSR配置,將EXTI_IMR的MR10位置1,可開放相應(yīng)通道中斷請求。

SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE,EXTI_PinSource10);//連接外部中斷源到PE10
EXTI_InitStructure.EXTI_Line=EXTI_Line10;//選擇EXTI中斷源
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;//選擇為中斷模式
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising;//下降沿觸發(fā)
EXTI_InitStructure.EXTI_LineCmd=ENABLE;//使能中斷/事件線
EXTI_Init( EXTI_InitStructure);//使用上面的結(jié)構(gòu)體初始化外部中斷:EXTI_IMR的MR10位置1等

4)中斷服務(wù)函數(shù)如下,觸發(fā)后驗證標志位,確保發(fā)生的是外部線中斷;其次外部中斷線發(fā)生事件后,中斷掛起寄存器EXTI_PR會置1,通過 EXTI_ClearITPendingBit再次在PR寫入1,從而清除它,進入下一次外部中斷等待。

voidEXTI15_10_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line10)!=RESET)//驗證是否產(chǎn)生了外部線中斷
{
Delay(0x1FFFFFF);//簡單延時驗證電流
EXTI_ClearITPendingBit(EXTI_Line10);//清除標志位
}
}

主函數(shù)及現(xiàn)象

Main函數(shù)首先初始化GPIO、NVIC中斷、外部中斷,進入主循環(huán)后先延遲觀測電流,測得19.3mA,延遲后,__WFI()自動觸發(fā)睡眠模式,電流測得13.3mA,如果不進行按鍵操作,MCU將一直睡眠,不再執(zhí)行任何代碼,此時按下輕觸開關(guān),觸發(fā)外部中斷,電流回升至19.3mA,睡眠模式喚醒時間無延遲,執(zhí)行完中斷服務(wù)程序后,會回到代碼睡眠時的句段,繼續(xù)執(zhí)行。PS:如果需要設(shè)置成中斷退出后觸發(fā)睡眠模式,則將SLEEPONEXIT置1。

intmain(void)
{
EXTI_Config();//配置及初始化GPIO、NVIC中斷、外部中斷
while(1)
{
Delay(0x1FFFFFF);
//SCB->SCR|=SCB_SCR_SLEEPONEXIT_Msk;//如需設(shè)置成中斷退出后觸發(fā)睡眠模式
__WFI();//進入睡眠模式,電流從19.3mA降至13.3mA
}
}

來源:中科芯MCU

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

    關(guān)注

    146

    文章

    17718

    瀏覽量

    358363
  • 轉(zhuǎn)換器
    +關(guān)注

    關(guān)注

    27

    文章

    8885

    瀏覽量

    150189
  • 低功耗
    +關(guān)注

    關(guān)注

    10

    文章

    2652

    瀏覽量

    104398
  • 電源系統(tǒng)
    +關(guān)注

    關(guān)注

    3

    文章

    662

    瀏覽量

    38263
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    CKS32F4xx系列MCU的低功耗模式之睡眠模式

    本課講為大家講解CKS32F4xx系列產(chǎn)品的低功耗模式之睡眠(Sleep)模式。MCU為滿足某些
    發(fā)表于 06-26 10:02 ?741次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>MCU的<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>之睡眠<b class='flag-5'>模式</b>

    CKS32F4xx系列DSP功能介紹

    CKS32F4xx系列使用高性能的32位內(nèi)核,支持浮點運算單元(FPU),同時還支持DSP指令以及存儲保護(MPU)用來加強應(yīng)用的安全性。
    的頭像 發(fā)表于 03-04 13:43 ?1929次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DSP功能介紹

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

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

    CKS32F4xx系列低功耗模式之STANDBY模式

    本章中,我們主要對CKS32F4xx系列的待機模式(STANDBY)做詳細介紹。在該模式下,芯片功耗最低,1.2V供電區(qū)域、PLL、HSI和
    的頭像 發(fā)表于 07-07 09:41 ?1412次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b><b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>之STANDBY<b class='flag-5'>模式</b>

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

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

    CKS32F4xx系列DAC功能

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

    CKS32F4xx系列ADC多通道DMA電壓采集

    CKS32F4xx系列ADC多通道DMA電壓采集
    的頭像 發(fā)表于 11-06 16:53 ?1280次閱讀

    CKS32F4xx系列ADC單通道電壓采集

    CKS32F4xx系列ADC單通道電壓采集
    的頭像 發(fā)表于 11-06 16:54 ?1131次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>ADC單通道電壓采集

    CKS32F4xx系列低功耗模式STANDBY模式

    CKS32F4xx系列低功耗模式STANDBY模式
    的頭像 發(fā)表于 11-06 16:57 ?665次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b><b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>STANDBY<b class='flag-5'>模式</b>

    CKS32F4xx系列低功耗模式STOP模式

    CKS32F4xx系列低功耗模式STOP模式
    的頭像 發(fā)表于 11-06 17:08 ?784次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b><b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>STOP<b class='flag-5'>模式</b>

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

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

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

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

    MCU微課堂 | CKS32F4xx系列產(chǎn)品SPI通信

    MCU微課堂 | CKS32F4xx系列產(chǎn)品SPI通信
    的頭像 發(fā)表于 10-24 17:12 ?913次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品SPI通信

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

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