在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

【GD32H757Z海棠派開發板使用手冊】第五講 PMU-低功耗實驗

聚沃科技 ? 2024-04-20 09:32 ? 次閱讀

5.1實驗內容

通過本實驗主要學習以下內容:

  • PMU原理;
  • 低功耗的進入以及退出操作;

5.2實驗原理

5.2.1PMU結構原理

PMU即電源管理單元,其內部結構下圖所示,由該圖可知,GD32H7XX系列MCU具有三個電源域,包括VDD/VDDA電源域、0.9V電源域以及電池備份域,其中,VDD /VDDA域由電源直接供電。0.9V由內部LDO或者外部Vcore供電。在備份域中有一個電源切換器,當VDD/VDDA電源關閉時,電源切換器可以將備份域的電源切換到VBAT引腳,此時備份域由VBAT引腳(電池)供電。

wKgZomYjGbiAVTCkAAIFuwJ-Jfc660.png
  1. VDD/VDDA電源域

VDD / VDDA 域包括VDD域和VDDA域兩部分。VDD域包括HXTAL(高速外部晶體振蕩器)、POR/ PDR(上電/掉電復位)、FWDGT(獨立看門狗定時器)和除PC13、PC14和PC15之外的所有PAD等等。VDDA域包括ADC / DAC(AD / DA轉換器)、LPIRC4M(內部4MHz RC振蕩器)、IRC64M(內部64M RC振蕩器)、IRC32K(內部32KHz RC振蕩器)PLLs(鎖相環)、LVD(低電壓檢測器)、VOVD(0.9V電壓檢測器)、VAVD(VDDA電壓檢測器)、TVD(溫度電壓檢測器)和BVD(VBAK電壓檢測器)等等。

POR / PDR(上電/掉電復位) 電路檢測VDD / VDDA并在電壓低于特定閾值時產生電源復位信號復位除備份域之外的整個芯片。下圖顯示了供電電壓和電源復位信號之間的關系。VPOR表示上電復位的閾值電壓,VPDR表示掉電復位的閾值電壓。遲滯電壓Vhyst值約為50mV。

wKgaomYjGc6ACCccAADsEL0Ipbg722.png

BOR 電路檢測VDD / VDDA并在BOR_TH不為0b11,同時電壓低于選項字節的BOR_TH定義的閾值時產生電源復位信號復位除備份域之外的整個芯片。POR / PDR(上電/掉電復位)電路處于檢測狀態,無論選項字節的BOR_TH是否為0b11。 下圖顯示了供電電壓和BOR復位信號之間的關系。VBOR表示BOR復位的閾值電壓,該值在選項字節BOR_TH中定義。遲滯電壓Vhyst值為100mV。

wKgZomYjGduAEUtBAADObIixivs179.png

LVD 的功能是檢測VDD / VDDA供電電壓是否低于低電壓檢測閾值,該閾值由電源控制寄存器0(PMU_CTL0)中的LVDT[2:0]位進行配置。LVD通過LVDEN置位使能,位于電源控制狀態寄存器(PMU_CS)中的LVDF位表示低電壓事件是否出現,該事件連接至EXTI的第16線,用戶可以通過配置EXTI的第16線產生相應的中斷。下圖顯示了VDD / VDDA 供電電壓和LVD輸出信號的關系。(LVD中斷信號依賴于EXTI第16線的上升或下降沿配置)。遲滯電壓Vhyst值為100mV。

wKgaomYjGfKADT6PAACtjHKfUtc300.png

為提高 ADC 和DAC的精度,可將獨立的外部參考電壓連接至ADC / DAC引腳VREF+ / VREF-。

VDDA模擬電壓檢測器(VAVD)用于檢測VDDA電源電壓是否低于電源控制寄存器(PMU_CTL0)中VAVDVC[1:0]位域選擇的編程閾值。通過置位VAVDEN位能夠使能VAVD,PMU_CS寄存器中的VAVDF位指示VDDA高于或低于指定的VAVD閾值,如果VAVDF置位能夠產生對應的事件,這個事件在內部連接到EXTI 16。如果通過EXTI寄存器使能,可以產生一個中斷。

wKgaomYjGiyAZuUBAACh6be6jxM984.png

和備份域電壓閾值監測類似,通過與溫度高、低兩個閾值水平比較可以來監測結溫。PMU_CTL1寄存器中TEMPH和TEMPL標志指示設備溫度是否高于或低于閾值。可以通過PMU_CTL1寄存器中的VBTMEN位使能/關閉溫度電壓閾值監測。使能后,溫度閾值監測將增加功耗。溫度閾值監測可以用來觸發執行溫度控制任務的相關的程序。只有PMU_CTL1寄存器中的VBTMEN位置位,溫度閾值監測才有效。

TEMPH 和TEMPL喚醒中斷可用于RTC觸發信號。

wKgZomYjGkWAapVLAACtYOYHCac136.png
  1. 0.9V電源域

主要功能包括 Cortex?-M7 內核邏輯、AHB / APB外設、備份域和VDD / VDDA域的APB接口。當0.9V電壓上電后,POR將在0.9V域中產生一個復位序列,復位完成后,如果要進入指定的省電模式,須先配置相關的控制位,之后一旦執行WFI或WFE指令,設備便進入該省電模式。

使用 SMPS 降壓穩壓器和LDO,可以設置0.9V電源域的供電電源。不同配置可提供七種有效的0.9V電源域供電模式。

注意:基于供電穩定性以及芯片散熱考慮,目前推薦采用模式6旁路模式進行供電。在旁路供電模式下內部SMPS和LDO是關閉狀態,內部Vcore由Vcore引腳進行供電,Vcore引腳外接0.9V電源。如下圖所示。

wKgaomYjGl2ARqtkAAEfiIGLW1A150.png
  1. 電池備份域

電池備份域由內部電源切換器來選擇 VDD 供電或VBAT(電池)供電,然后由VBAK為備份域供電,該備份域包含RTC(實時時鐘)、LXTAL(低速外部晶體振蕩器),BPOR(備份域上電復位)和BREG,以及PC13至PC15共3個BKP PAD。為了確保備份域中寄存器的內容及RTC正常工作,當VDD關閉時,VBAT引腳可以連接至電池或其他備份電源供電。電源切換器是由VDD / VDDA域掉電復位電路控制的。對于沒有外部電池的應用,建議將VBAT引腳通過100nF的外部陶瓷去耦電容連接到VDD引腳上。

注意: 由于PC13至PC15引腳是通過電源切換器供電的,電源切換器僅可通過小電流,因此當PC13至PC15的GPIO口在輸出模式時,其工作的速度不能超過2MHz(最大負載為30Pf)。

若讀者有在VDD掉電情況下RTC繼續工作的應用需求,需要VBAT引腳外接電池并使用LXTAL外部低頻晶振,這樣在VDD掉電的情況下,VBAT供電將會由VDD切換到VBAT,LXTAL和RTC均可正常工作,后續VDD上電后同步RTC寄存器即可獲取正確的RTC時間。

5.2.2低功耗模式

GD32H7xx系列MCU具有三種低功耗模式,分別為睡眠模式、深度睡眠模式和待機模式。

睡眠模式與 Cortex?-M7 的SLEEPING模式相對應。在睡眠模式下,僅關閉Cortex?-M7的時鐘。如需進入睡眠模式,只要清除Cortex?-M7系統控制寄存器中的SLEEPDEEP位,并執行一條WFI或WFE指令即可。如果睡眠模式是通過執行WFI指令進入的,任何中斷都可以喚醒系統。如果睡眠模式是通過執行WFE指令進入的,任何喚醒事件都可以喚醒系統(如果SEVONPEND為1,任何中斷都可以喚醒系統,請參考Cortex?-M7技術手冊)。由于無需在進入或退出中斷上消耗時間,該模式所需的喚醒時間最短。

深度睡眠模式與 Cortex?-M7 的SLEEPDEEP模式相對應。在深度睡眠模式下,0.9V域中的所有時鐘全部關閉,LPIRC4M、IRC64M、HXTAL及PLLs也全部被禁用。進入深度睡眠模式之前,先將Cortex?-M7系統控制寄存器的SLEEPDEEP位置1,再將PMU_CTL0寄存器的LPMOD位配置為0b1,然后執行WFI或WFE指令即可進入深度睡眠模式。如果睡眠模式是通過執行WFI指令進入的,任何來自EXTI的中斷可以將系統從深度睡眠模式中喚醒。如果睡眠模式是通過執行WFE指令進入的,任何來自EXTI的事件可以將系統從深度睡眠模式中喚醒(如果SEVONPEND為1,任何來自EXTI的中斷都可以喚醒系統,請參考Cortex?-M7技術手冊)。

待機模式是基于 Cortex?-M7 的SLEEPDEEP模式實現的。在待機模式下,整個0.9V域全部停止供電,LDO關閉,同時包括LPIRC4M、IRC64M、HXTAL和PLLs也會被關閉。進入待機模式前,先將Cortex?-M7系統控制寄存器的SLEEPDEEP位置1,再將PMU_CTL0寄存器的LPMOD位域配置為0b1,再清除PMU_CS寄存器的WUF位,然后執行WFI或WFE指令,系統進入待機模式,PMU_CS寄存器的STBF位狀態表示MCU是否已進入待機模式。待機模式有四個喚醒源,包括來自NRST引腳的外部復位,RTC鬧鐘,FWDGT復位,WKUP引腳的上升沿。待機模式可以達到最低的功耗,但喚醒時間最長。另外,一旦進入待機模式,SRAM和0.9V電源域寄存器的內容都會丟失。退出待機模式時,會發生上電復位,復位之后Cortex?-M7將從0x00000000地址開始執行指令代碼。

低功耗模式相關數據可參考下表,不同的低功耗模式是通過關閉不同時鐘以及電源來實現的,關閉的時鐘和電源越多,MCU所進入的睡眠模式將會越深,功耗也會越低,帶來的喚醒時間也會越長,其喚醒源也會越少。

wKgZomYjGnaANErDAAXkpBQs7TE987.png

各種睡眠模式下的功耗可以參考數據手冊描述,睡眠模式下相較于同主頻模式下的運行模式功耗減少約50%,深度睡眠和待機模式功耗更低,如下表所示,深度睡眠模式下功耗常溫典型值為2-3ma。

注意:由于深度睡眠模式具有較低的功耗,喚醒后繼續從斷點處執行,因而具有更廣泛的應用場景,但需注意若需達到較一致的MCU深度睡眠功耗,需要將系統中未使用的MCU引腳均配置為模擬輸入狀態,包括芯片內部未引出的pad。

wKgaomYjGqCAPShaAALv7uzxzLw638.png

5.3硬件設計

本例程stanby的喚醒使用到了PA0喚醒引腳,其電路如下所示。

wKgaomYjGrCATumWAAEjCRgyDDs797.png

5.4代碼解析

本例程實現deepsleep以及standby的進入以及喚醒測試,首先我們來看下主函數,如下所示。該主函數首先配置了驅動初始化、打印和LED函數,并打印Example of Low Power Test Demo。之后查詢是否進入過Standby模式,如果進入過Standby模式,表示當前狀態為standby喚醒后的復位,則打印A reset event from Standby mode has occurred,并翻轉LED2,因而驗證standby喚醒的時候,其現象可觀察到LED2的翻轉。之后使能wakeup引腳的喚醒以及USER按鍵的初始化,此時將wakeup KEY配置為中斷模式。在while(1)中,查詢USER KEY按下的時間,如果按下超過3S,則打印Entering Standby Mode.并進入standby模式,如果USER KEY按下不超過3S,則打印Enter Deepsleep mode.并進入Deepsleep模式,從deepsleep模式喚醒后需要重新配置時鐘,打印Exit Deepsleep mode.并翻轉LED1。Standby的喚醒使用PA0 wakeup引腳,deepsleep的喚醒可使用任何EXTI中斷,本實例中使用wakeup按鍵中斷喚醒。

C
int main(void)
{
rcu_periph_clock_enable(RCU_PMU);
driver_init();
//注冊按鍵掃描
driver_tick_handle[0].tick_value=10;
driver_tick_handle[0].tick_task_callback=key_scan_10ms_callhandle;


bsp_uart_init(&BOARD_UART); /* 板載UART初始化 */
printf_log("Example of Low Power Test Demo.\r\n");

delay_ms(2000);
bsp_led_group_init();

/* 判斷是否進入過Stanby模式 */
if(pmu_flag_get(PMU_FLAG_STANDBY)==SET)
{
printf_log("A reset event from Standby mode has occurred.\r\n");
bsp_led_toggle(&LED2);
pmu_flag_clear(PMU_FLAG_STANDBY);
}

/* 配置PA0 Wakeup喚醒功能 */
pmu_wakeup_pin_enable(PMU_WAKEUP_PIN0);
WKUP_KEY.key_gpio->gpio_mode = INT_HIGH;
WKUP_KEY.key_gpio->int_callback = WKUP_KEY_IRQ_callback;
bsp_key_group_init();
nvic_irq_enable(EXTI0_IRQn,0,0);

while (1)
{
/* 檢測KEY1按鍵是否被按下,如果按下,進入standby模式 */
if(USER_KEY.press_timerms >= PRESS_3000MS)
{
USER_KEY.press_timerms=PRESS_NONE;
printf_log("Entering Standby Mode.\r\n");
bsp_led_toggle(&LED2);
pmu_to_standbymode();
}
/* 檢測KEY2按鍵是否被按下,如果按下,進入Deepsleep模式 */
if(USER_KEY.press_timerms >= PRESS_50MS)
{
USER_KEY.press_timerms=PRESS_NONE;
printf_log("Enter Deepsleep mode.\r\n");
bsp_led_toggle(&LED1);

bsp_lcd_backlight_off();
pmu_to_deepsleepmode(WFI_CMD);
bsp_lcd_backlight_on();
printf_log("Exit Deepsleep mode.\r\n");
bsp_led_toggle(&LED1);
}
}
}

5.5實驗結果

將本實驗歷程燒錄到海棠派開發板中,按下user key按鍵超過3S,松開后MCU將進入standby模式,并打印Entering Standby Mode.,然后按下wakeup按鍵,將從stanby模式喚醒,打印A reset event from Standby mode has occurred.并翻轉LED2,之后短按USER KEY,將打印Enter Deepsleep mode.進入deepsleep模式,然后按下wakeup按鍵將從deepsleep模式下喚醒,喚醒后重新配置時鐘,打印Exit Deepsleep mode.并將LED1翻轉。

教程由GD32 MCU方案商聚沃科技原創發布,了解更多GD32 MCU教程,關注聚沃科技官網

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6065

    文章

    44934

    瀏覽量

    647631
  • 低功耗
    +關注

    關注

    10

    文章

    2748

    瀏覽量

    104592
  • 開發板
    +關注

    關注

    25

    文章

    5565

    瀏覽量

    102776
  • PMU
    PMU
    +關注

    關注

    1

    文章

    120

    瀏覽量

    22158
  • GD32
    +關注

    關注

    7

    文章

    419

    瀏覽量

    25214
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    GD32H757Z海棠開發板使用手冊】第四 FMC-片內Flash擦寫讀實驗

    FMC即Flash控制器,其提供了片上Flash操作所需要的所有功能,在GD32H7XX系列MCU中,具有高達3840KB字節的片上閃存可用于存儲指令或數據。FMC也提供了扇區擦除和整片擦除操作以及
    的頭像 發表于 04-19 10:09 ?1911次閱讀
    【<b class='flag-5'>GD32H757Z</b><b class='flag-5'>海棠</b><b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第四<b class='flag-5'>講</b> FMC-片內Flash擦寫讀<b class='flag-5'>實驗</b>

    GD32H757Z海棠開發板使用手冊】第十三講 SDIO-SD卡讀寫實驗

    通過本實驗主要學習以下內容: ?USB協議基本原理 ?GD32H7xx USBHS的使用 ?虛擬鍵盤的協議原理及使用
    的頭像 發表于 06-06 11:26 ?2759次閱讀
    【<b class='flag-5'>GD32H757Z</b><b class='flag-5'>海棠</b><b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第十三講 SDIO-SD卡讀寫<b class='flag-5'>實驗</b>

    迅為iMX6ULL開發板使用手冊資料下載

    開發板使用手冊》第一部分 開發板入門第二部分 開發環境搭建第三部分 Linux系統編譯第四部分 QT開發
    發表于 12-02 14:13

    YL-51開發板使用手冊

    YL-51開發板使用手冊,YL-51開發板使用手冊YL-51開發板使用手冊YL-51
    發表于 05-10 16:31 ?22次下載

    開發板燒寫測試使用手冊

    開發板燒寫測試使用手冊,有需要的下來看看
    發表于 06-03 14:30 ?0次下載

    51開發板使用手冊

    51開發板使用手冊,感興趣的小伙伴們可以瞧一瞧。
    發表于 11-23 15:45 ?11次下載

    KC705開發板英文使用手冊

    KC705開發板英文使用手冊
    發表于 11-01 10:19 ?5次下載

    iTOP-3399開發板使用手冊大更新

    iTOP-3399開發板使用手冊大更新
    的頭像 發表于 12-10 15:46 ?1666次閱讀
    iTOP-3399<b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>大更新

    GD32H757Z海棠開發板使用手冊】第二 GPIO-按鍵查詢檢測實驗

    2.1實驗內容通過本實驗主要學習以下內容:GPIO輸入功能原理;按鍵查詢輸入檢測原理;2.2實驗原理2.2.1GPIO輸入功能原理GD32H7XX系列MCUGPIO輸入配置結構如下圖所
    的頭像 發表于 04-17 10:42 ?1103次閱讀
    【<b class='flag-5'>GD32H757Z</b><b class='flag-5'>海棠</b><b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第二<b class='flag-5'>講</b> GPIO-按鍵查詢檢測<b class='flag-5'>實驗</b>

    GD32F470紫藤開發板使用手冊第五 PMU-低功耗實驗

    通過本實驗主要學習以下內容: PMU原理; 低功耗的進入以及退出操作
    的頭像 發表于 05-07 09:29 ?1145次閱讀
    【<b class='flag-5'>GD</b>32F470紫藤<b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】<b class='flag-5'>第五</b><b class='flag-5'>講</b>  <b class='flag-5'>PMU-</b><b class='flag-5'>低功耗</b><b class='flag-5'>實驗</b>

    GD32H757Z海棠開發板使用手冊】第八 ADC-規則組多通道采樣實驗

    通過本實驗主要學習以下內容: ADC的簡介 GD32FH757 ADC工作原理 DMA和DMAMUX的原理 規則組多通道循環采樣
    的頭像 發表于 05-14 09:39 ?1187次閱讀
    【<b class='flag-5'>GD32H757Z</b><b class='flag-5'>海棠</b><b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第八<b class='flag-5'>講</b> ADC-規則組多通道采樣<b class='flag-5'>實驗</b>

    GD32H757Z海棠開發板使用手冊】第九 USART-printf打印實驗

    通過本實驗主要學習以下內容: ?串口簡介 ?GD32H757串口工作原理 ?使用printf打印信息
    的頭像 發表于 05-15 11:39 ?1208次閱讀
    【<b class='flag-5'>GD32H757Z</b><b class='flag-5'>海棠</b><b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第九<b class='flag-5'>講</b> USART-printf打印<b class='flag-5'>實驗</b>

    GD32F303紅楓開發板使用手冊】第六 PMU-低功耗實驗

    PMU即電源管理單元,其內部結構下圖所示,由該圖可知,GD32F303系列MCU具有三個電源域,包括VDD/VDDA電源域、1.2V電源域以及電池備份域,其中,VDD /VDDA域由電源直接供電。在
    的頭像 發表于 06-02 10:12 ?1198次閱讀
    【<b class='flag-5'>GD</b>32F303紅楓<b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第六<b class='flag-5'>講</b> <b class='flag-5'>PMU-</b><b class='flag-5'>低功耗</b><b class='flag-5'>實驗</b><b class='flag-5'>講</b>

    GD32H757Z海棠開發板使用手冊】第十一講 SPI-SPI NOR FLASH讀寫實驗

    通過本實驗主要學習以下內容: ?SPI簡介 ?GD32H7 SPI簡介 ?SPI NOR FLASH——GD25Q128ESIGR簡介 ?使用GD32H7 SPI接口實現對
    的頭像 發表于 06-04 11:42 ?1790次閱讀
    【<b class='flag-5'>GD32H757Z</b><b class='flag-5'>海棠</b><b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第十一講 SPI-SPI NOR FLASH讀寫<b class='flag-5'>實驗</b>

    GD32F303紅楓開發板使用手冊】第二十 SPI-SPI NAND FLASH讀寫實驗

    通過本實驗主要學習以下內容: ?SPI通信協議,參考19.2.1東方紅開發板使用手冊 ?GD32F303 SPI操作方式,參考19.2.2東方紅
    的頭像 發表于 06-20 09:50 ?1713次閱讀
    【<b class='flag-5'>GD</b>32F303紅楓<b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第二十<b class='flag-5'>講</b> SPI-SPI NAND FLASH讀寫<b class='flag-5'>實驗</b>
    主站蜘蛛池模板: 好吊色视频988gao在线观看 | 天天躁夜夜躁狠狠躁2024 | 欧美成人在线网站 | 日本高清视频色www在线观看 | 热99精品 | 在线a亚洲老鸭窝天堂新地址 | 欧美成人鲁丝片在线观看 | 欧美日韩影院 | 偷偷狠狠的日日2020 | 亚洲综合久久久 | 黄色xxxx| 欧美人与动性行为网站免费 | 亚洲成人精品在线 | 最好看最新的中文字幕1 | 色综合小说天天综合网 | 国产乱子伦 | 4虎影视国产在线观看精品 4虎影院永久地址www | h视频国产| 天堂视频网 | 天堂在线中文字幕 | 老色皮 | 天天干天天色综合 | 婷婷丁香五月中文字幕 | 国产成人久视频免费 | 丁香在线视频 | 天天摸天天碰中文字幕 | 国产在线精品观看一区 | 欧美成人 色 图 | japan高清视频乱xxxxx | 天堂网中文字幕 | 美女被羞羞产奶视频网站 | 国产三级日产三级日本三级 | 久久这里只有精品任你色 | 特黄黄三级视频在线观看 | 免费黄色在线观看 | 视频色版 | 一级做a爱片特黄在线观看 一级做a爱片特黄在线观看免费看 | 亚洲一区二区三区首页 | 毛片多多 | 最近最新视频中文字幕4 | 成人的天堂视频一区二区三区 |