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

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

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

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

第十九章 W55MH32的電源控制(PWR)功能

W55MH32 ? 來源:W55MH32 ? 作者:W55MH32 ? 2025-05-29 11:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單芯片解決方案,開啟全新體驗(yàn)——W55MH32 高性能以太網(wǎng)單片機(jī)

W55MH32是WIZnet重磅推出的高性能以太網(wǎng)單片機(jī),它為用戶帶來前所未有的集成化體驗(yàn)。這顆芯片將強(qiáng)大的組件集于一身,具體來說,一顆W55MH32內(nèi)置高性能Arm? Cortex-M3核心,其主頻最高可達(dá)216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲(chǔ)與數(shù)據(jù)處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協(xié)議棧、內(nèi)置MAC以及PHY,擁有獨(dú)立的32KB以太網(wǎng)收發(fā)緩存,可供8個(gè)獨(dú)立硬件socket使用。如此配置,真正實(shí)現(xiàn)了All-in-One解決方案,為開發(fā)者提供極大便利。

在封裝規(guī)格上,W55MH32 提供了兩種選擇:QFN68和QFN100。

W55MH32Q采用QFN68封裝版本,尺寸為8x8mm,它擁有36個(gè)GPIO、3個(gè)ADC、12通道DMA、17個(gè)定時(shí)器、2個(gè)I2C、3個(gè)串口、2個(gè)SPI接口(其中1個(gè)帶I2S接口復(fù)用)、1個(gè)CAN以及1個(gè)USB2.0。在保持與同系列其他版本一致的核心性能基礎(chǔ)上,僅減少了部分GPIO以及SDIO接口,其他參數(shù)保持一致,性價(jià)比優(yōu)勢顯著,尤其適合網(wǎng)關(guān)模組等對空間布局要求較高的場景。緊湊的尺寸和精簡化外設(shè)配置,使其能夠在有限空間內(nèi)實(shí)現(xiàn)高效的網(wǎng)絡(luò)連接與數(shù)據(jù)交互,成為物聯(lián)網(wǎng)網(wǎng)關(guān)、邊緣計(jì)算節(jié)點(diǎn)等緊湊型設(shè)備的理想選擇。 同系列還有QFN100封裝的W55MH32L版本,該版本擁有更豐富的外設(shè)資源,適用于需要多接口擴(kuò)展的復(fù)雜工控場景,軟件使用方法一致。更多信息和資料請進(jìn)入http://www.w5500.com/網(wǎng)站或者私信獲取。

此外,本W(wǎng)55MH32支持硬件加密算法單元,WIZnet還推出TOE+SSL應(yīng)用,涵蓋TCP SSL、HTTP SSL以及MQTT SSL等,為網(wǎng)絡(luò)通信安全再添保障。

為助力開發(fā)者快速上手與深入開發(fā),基于W55MH32Q這顆芯片,WIZnet精心打造了配套開發(fā)板。開發(fā)板集成WIZ-Link芯片,借助一根USB C口數(shù)據(jù)線,就能輕松實(shí)現(xiàn)調(diào)試、下載以及串口打印日志等功能。開發(fā)板將所有外設(shè)全部引出,拓展功能也大幅提升,便于開發(fā)者全面評估芯片性能。

若您想獲取芯片和開發(fā)板的更多詳細(xì)信息,包括產(chǎn)品特性、技術(shù)參數(shù)以及價(jià)格等,歡迎訪問官方網(wǎng)頁:http://www.w5500.com/,我們期待與您共同探索W55MH32的無限可能。

wKgZO2gbOfaAVPzkACJSygzv-rI600.png

第十九章 PWR

本章介紹了W55MH32的電源控制(PWR)功能,其工作電壓2.0~3.6V,含電源管理器,有POR/PDR、PVD等。低功耗模式包括睡眠、停止、待機(jī),介紹了相關(guān)例程,用于測試低功耗模式及喚醒功能。

1 電源介紹

W55MH32 的工作電壓(VDD)為 2.0~3.6V。通過內(nèi)置的電壓調(diào)節(jié)器提供所需的 1.8V 電源。當(dāng)主電源 VDD 掉電后,通過 VBAT 腳為實(shí)時(shí)時(shí)鐘(RTC)和備份寄存器提供電源。

wKgZO2gxeqmAHrp9AAGfAIUISRU225.png

電源框圖

注:VDDA 和 VSSA 必須分別聯(lián)到 VDD 和 VSS。

1.1 獨(dú)立的 A/D 轉(zhuǎn)換器供電和參考電壓

為了提高轉(zhuǎn)換的精確度,ADC 使用一個(gè)獨(dú)立的電源供電,過濾和屏蔽來自印刷電路板上的毛刺干擾。

?ADC 的電源引腳為 VDDA

?獨(dú)立的電源地 VSSA

如果有 VREF-引腳(根據(jù)封裝而定),它必須連接到 VSSA。為了確保輸入為低壓時(shí)獲得更好精度,用戶可以連接一個(gè)獨(dú)立的外部參考電壓 ADC 到 VREF+和VREF-腳上。在 VREF+的電壓范圍為 2.4V~VDDA。

1.2 電池備份區(qū)域

使用電池或其他電源連接到 VBAT 腳上,當(dāng) VDD 斷電時(shí),可以保存?zhèn)浞菁拇嫫鞯膬?nèi)容和維持 RTC的功能。

VBAT 腳為 RTC、LSE 振蕩器和 PC13 至 PC15 端口供電,可以保證當(dāng)主電源被切斷時(shí) RTC 能繼續(xù)工作。切換到 VBAT 供電的開關(guān),由復(fù)位模塊中的掉電復(fù)位功能控制。

警告:在 VDD 上升階段(tRSTTEMPO)或者探測到 PDR(掉電復(fù)位)之后,VBAT 和 VDD 之間的電源開關(guān)仍會(huì)保持連接在 VBAT。

在 VDD 上升階段,如果 VDD 在小于 tRSTTEMPO 的時(shí)間內(nèi)達(dá)到穩(wěn)定狀態(tài)(關(guān)于 tRSTTEMPO 數(shù)值可參考數(shù)據(jù)手冊中的相關(guān)部分),且 VDD>VBAT+0.6V 時(shí),電流可能通過 VDD 和 VBAT 之間的內(nèi)部二極管注入到 VBAT。

如果與 VBAT 連接的電源或者電池不能承受這樣的注入電流,強(qiáng)烈建議在外部 VBAT 和電源之間連接一個(gè)低壓降二極管。如果在應(yīng)用中沒有外部電池,建議 VBAT 在外部連接到 VDD 并連接一個(gè) 100nF 的陶瓷濾波電容。

當(dāng)備份區(qū)域由 VDD(內(nèi)部模擬開關(guān)連到 VDD)供電時(shí),下述功能可用:

?PC14 和 PC15 可以用于 GPIO 或 LSE 引腳

?PC13 可以作為通用 I/O 口、TAMPER 引腳、RTC 校準(zhǔn)時(shí)鐘、RTC 鬧鐘或秒輸出

注: 因?yàn)槟M開關(guān)只能通過少量的電流(3mA),在輸出模式下使用 PC13 至 PC15 的 I/O 口功能是有限制的:速度必須限制在 2MHz 以下,最大負(fù)載為 30pF,而且這些 I/O 口絕對不能當(dāng)作電流源(如驅(qū)動(dòng) LED)。

當(dāng)后備區(qū)域由 VBAT 供電時(shí)(VDD 消失后模擬開關(guān)連到 VBAT),可以使用下述功能:

?PC14 和 PC15 只能用于 LSE 引腳

?PC13 可以作為 TAMPER 引腳、RTC 鬧鐘或秒輸出

1.3 電壓調(diào)節(jié)器

復(fù)位后調(diào)節(jié)器總是使能的。根據(jù)應(yīng)用方式它以 3 種不同的模式工作。

?運(yùn)轉(zhuǎn)模式:調(diào)節(jié)器以正常功耗模式提供 1.8V 電源(內(nèi)核,內(nèi)存和外設(shè))。

?停止模式:調(diào)節(jié)器以低功耗模式提供 1.8V 電源,以保存寄存器和 SRAM 的內(nèi)容。

?待機(jī)模式:調(diào)節(jié)器停止供電。除了備用電路和備份域外,寄存器和 SRAM 的內(nèi)容全部丟失。

2 電源管理器

2.1 上電復(fù)位(POR)和掉電復(fù)位(PDR)

W55MH32 內(nèi)部有一個(gè)完整的上電復(fù)位(POR)和掉電復(fù)位(PDR)電路,當(dāng)供電電壓達(dá)到 2V 時(shí)系統(tǒng)既能正常工作。

當(dāng)VDD/VDDA低于指定的限位電壓VPOR/VPDR時(shí),系統(tǒng)保持為復(fù)位狀態(tài),而無需外部復(fù)位電路。關(guān)于上電復(fù)位和掉電復(fù)位的細(xì)節(jié)請參考數(shù)據(jù)手冊的電氣特性部分。

wKgZPGgxeqiAKIdYAACv4CjTazw731.png

上電復(fù)位和掉電復(fù)位的波形圖

2.2 可編程電壓監(jiān)測器(PVD)

用戶可以利用 PVD對 VDD電壓與電源控制寄存器(PWR_CR)中的 PLS[2:0]位進(jìn)行比較來監(jiān)控電源,這幾位選擇監(jiān)控電壓的閥值。通過設(shè)置 PVDE 位來使能 PVD。

電源控制/狀態(tài)寄存器(PWR_CSR)中的 PVDO 標(biāo)志用來表明 VDD 是高于還是低于 PVD 的電壓閥值。該事件在內(nèi)部連接到外部中斷的第 16 線,如果該中斷在外部中斷寄存器中是使能的,該事件就會(huì)產(chǎn)生中斷。當(dāng) VDD 下降到 PVD 閥值以下和(或)當(dāng) VDD 上升到 PVD 閥值之上時(shí),根據(jù)外部中斷第16 線的上升/下降邊沿觸發(fā)設(shè)置,就會(huì)產(chǎn)生 PVD 中斷。例如,這一特性可用于用于執(zhí)行緊急關(guān)閉任務(wù)。

wKgZO2g30i2ABj3JAACVhFhUkSw546.png

PVD的門限

3 低功耗模式

在系統(tǒng)或電源復(fù)位以后,微控制器處于運(yùn)行狀態(tài)。當(dāng) CPU 不需繼續(xù)運(yùn)行時(shí),可以利用多種低功耗模式來節(jié)省功耗,例如等待某個(gè)外部事件時(shí)。用戶需要根據(jù)最低電源消耗、最快速啟動(dòng)時(shí)間和可用的喚醒源等條件,選定一個(gè)最佳的低功耗模式。

三種低功耗模式:

?睡眠模式(Cortex?-M3 內(nèi)核停止,所有外設(shè)包括 Cortex-M3 核心的外設(shè),如 NVIC、系統(tǒng)時(shí)鐘(SysTick)等仍在運(yùn)行)

?停止模式(所有的時(shí)鐘都已停止)

?待機(jī)模式(1.8V 電源關(guān)閉)

此外,在運(yùn)行模式下,可以通過以下方式中的一種降低功耗:

?降低系統(tǒng)時(shí)鐘

?關(guān)閉 APB 和 AHB 總線上未被使用的外設(shè)時(shí)鐘。

低功耗模式一覽

模式 進(jìn)入 喚醒 對 1.8V 區(qū)域時(shí)鐘的影響 對 VDD區(qū)域時(shí)鐘的影響 電壓調(diào)節(jié)器
睡眠 (SLEEP - NOW 或 SLEEP - ON - EXIT) WFI
WFE
任一中斷
喚醒事件
CPU 時(shí)鐘關(guān),對其他時(shí)鐘和 ADC 時(shí)鐘無影響
停機(jī) PDDS 和 LPDS 位 + SLEEPDEEP 位 + WFI 或 WFE 任一外部中斷 (在外部中斷寄存器中設(shè)置) 關(guān)閉所有 1.8V 區(qū)域的時(shí)鐘 HSI 和 HSE 的振蕩器關(guān)閉 開啟或處于低功耗模式 (依據(jù)電源控制寄存器 (PWR_CR) 的設(shè)定)
待機(jī) PDDS 位 + SLEEPDEEP 位 + WFI 或 WFE WKUP 引腳上的上升沿、RTC 鬧鐘事件、NRST 引腳上的外部復(fù)位、IWDG 復(fù)位 - - 關(guān)

3.1 降低系統(tǒng)時(shí)鐘

在運(yùn)行模式下,通過對預(yù)分頻寄存器進(jìn)行編程,可以降低任意一個(gè)系統(tǒng)時(shí)鐘(SYSCLK、HCLK、PCLK1、PCLK2)的速度。進(jìn)入睡眠模式前,也可以利用預(yù)分頻器來降低外設(shè)的時(shí)鐘。

3.2 外部時(shí)鐘的控制

在運(yùn)行模式下,任何時(shí)候都可以通過停止為外設(shè)和內(nèi)存提供時(shí)鐘(HCLK 和 PCLKx)來減少功耗。為了在睡眠模式下更多地減少功耗,可在執(zhí)行 WFI 或 WFE 指令前關(guān)閉所有外設(shè)的時(shí)鐘。

通過設(shè)置 AHB 外設(shè)時(shí)鐘使能寄存器(RCC_AHBENR)、APB2 外設(shè)時(shí)鐘使能寄存器(RCC_APB2ENR)和APB1 外設(shè)時(shí)鐘使能寄存器(RCC_APB1ENR)來開關(guān)各個(gè)外設(shè)模塊的時(shí)鐘。

3.3 睡眠模式

進(jìn)入睡眠模式通過執(zhí)行 WFI 或 WFE 指令進(jìn)入睡眠狀態(tài)。根據(jù) Cortex?-M3 系統(tǒng)控制寄存器中的 SLEEPONEXIT 位的值,有兩種選項(xiàng)可用于選擇睡眠模式進(jìn)入機(jī)制:

?SLEEP-NOW:如果 SLEEPONEXIT 位被清除,當(dāng) WRI 或 WFE 被執(zhí)行時(shí),微控制器立即進(jìn)入睡眠模式。

?SLEEP-ON-EXIT:如果 SLEEPONEXIT 位被置位,系統(tǒng)從最低優(yōu)先級的中斷處理程序中退出時(shí),微控制器就立即進(jìn)入睡眠模式。

在睡眠模式下,所有的 I/O 引腳都保持它們在運(yùn)行模式時(shí)的狀態(tài)。

退出睡眠模式如果執(zhí)行 WFI 指令進(jìn)入睡眠模式,任意一個(gè)被嵌套向量中斷控制器響應(yīng)的外設(shè)中斷都能將系統(tǒng)從睡眠模式喚醒。如果執(zhí)行 WFE 指令進(jìn)入睡眠模式,則一旦發(fā)生喚醒事件時(shí),微處理器都將從睡眠模式退出。喚醒事件可以通過下述方式產(chǎn)生:

?在外設(shè)控制寄存器中使能一個(gè)中斷,而不是在 NVIC(嵌套向量中斷控制器)中使能,并且在Cortex-M3 系統(tǒng)控制寄存器中使能 SEVONPEND 位。當(dāng) MCU 從 WFE 中喚醒后,外設(shè)的中斷掛起位和外設(shè)的 NVIC 中斷通道掛起位(在 NVIC 中斷清除掛起寄存器中)必須被清除。

配置一個(gè)外部或內(nèi)部的 EXIT 線為事件模式。當(dāng) MCU 從 WFE 中喚醒后,因?yàn)榕c事件線對應(yīng)的掛起位未被設(shè)置,不必清除外設(shè)的中斷掛起位或外設(shè)的 NVIC 中斷通道掛起位。該模式喚醒所需的時(shí)間最短,因?yàn)闆]有時(shí)間損失在中斷的進(jìn)入或退出上。

SLEEP-NOW 模式

SLEEP-NOW 模式 說明
進(jìn)入 在以下條件下執(zhí)行 WFI (等待中斷) 或 WFE (等待事件) 指令:
- SLEEPDEEP=0 和
- SLEEPONEXIT=0
參考 Cortex-M3 系統(tǒng)控制寄存器。
退出 如果執(zhí)行 WFI 進(jìn)入睡眠模式:
中斷:參考中斷向量表 (表 51)
如果執(zhí)行 WFE 進(jìn)入睡眠模式:
喚醒事件:參考喚醒事件管理 (第 8.2.3 節(jié))

SLEEP-ON-EXIT 模式

SLEEP-ON_EXIT 模式 說明
進(jìn)入 在以下條件下執(zhí)行 WFI 指令:
- SLEEPDEEP=0 和
- SLEEPONEXIT=1
參考 Cortex?-M3 系統(tǒng)控制寄存器
退出 中斷:參考中斷向量表 (表 51)
喚醒延時(shí)

3.4 停止模式

停止模式是在 Cortex?-M3 的深睡眠模式基礎(chǔ)上結(jié)合了外設(shè)的時(shí)鐘控制機(jī)制,在停止模式下電壓調(diào)節(jié)器可運(yùn)行在正?;虻凸哪J健4藭r(shí)在 1.8V 供電區(qū)域的的所有時(shí)鐘都被停止,PLL、HSI 和HSERC 振蕩器的功能被禁止,SRAM 和寄存器內(nèi)容被保留下來。

在停止模式下,所有的 I/O 引腳都保持它們在運(yùn)行模式時(shí)的狀態(tài)。

進(jìn)入停止模式

在停止模式下,通過設(shè)置電源控制寄存器(PWR_CR)的 LPDS 位使內(nèi)部調(diào)節(jié)器進(jìn)入低功耗模式,能夠降低更多的功耗。如果正在進(jìn)行閃存編程,直到對內(nèi)存訪問完成,系統(tǒng)才進(jìn)入停止模式。如果正在進(jìn)行對 APB 的訪問,直到對 APB 訪問完成,系統(tǒng)才進(jìn)入停止模式??梢酝ㄟ^對獨(dú)立的控制位進(jìn)行編程,可選擇以下功能:

?獨(dú)立看門狗(IWDG):可通過寫入看門狗的鍵寄存器或硬件選擇來啟動(dòng) IWDG。一旦啟動(dòng)了獨(dú)立看門狗,除了系統(tǒng)復(fù)位,它不能再被停止。

?實(shí)時(shí)時(shí)鐘(RTC):通過備份域控制寄存器(RCC_BDCR)的 RTCEN 位來設(shè)置。

?內(nèi)部 RC 振蕩器(LSIRC):通過控制/狀態(tài)寄存器(RCC_CSR)的 LSION 位來設(shè)置。

?外部 32.768kHz 振蕩器(LSE):通過備份域控制寄存器(RCC_BDCR)的 LSEON 位設(shè)置。

在停止模式下,如果在進(jìn)入該模式前 ADC 和 DAC 沒有被關(guān)閉,那么這些外設(shè)仍然消耗電流。通過設(shè)置寄存器 ADC_CR2 的 ADON 位和寄存器 DAC_CR 的 ENx 位為 0 可關(guān)閉這 2 個(gè)外設(shè)。

退出停止模式

關(guān)于如何退出停止模式,詳見下表。

當(dāng)一個(gè)中斷或喚醒事件導(dǎo)致退出停止模式時(shí),HSIRC 振蕩器被選為系統(tǒng)時(shí)鐘。

當(dāng)電壓調(diào)節(jié)器處于低功耗模式下,當(dāng)系統(tǒng)從停止模式退出時(shí),將會(huì)有一段額外的啟動(dòng)延時(shí)。如果在停止模式期間保持內(nèi)部調(diào)節(jié)器開啟,則退出啟動(dòng)時(shí)間會(huì)縮短,但相應(yīng)的功耗會(huì)增加。

停止模式

停止模式 說明
進(jìn)入 在以下條件下執(zhí)行 WFI (等待中斷) 或 WFE (等待事件) 指令:
- 設(shè)置 Cortex-M3 系統(tǒng)控制寄存器中的 SLEEPDEEP 位
- 不清除電源控制寄存器 (PWR_CR) 中的 PDDS 位
- 通過設(shè)置 PWR_CR 中 LPDS 位選擇電壓調(diào)節(jié)器的模式
注:為了進(jìn)入停止模式,所有的外部中斷的請求位 (掛起寄存器 (EXTI_PR)) 和 RTC 的鬧鐘標(biāo)志都必須被清除,否則停止模式的進(jìn)入流程將會(huì)被跳過,程序繼續(xù)運(yùn)行。
退出 如果執(zhí)行 WFI 進(jìn)入停止模式:
設(shè)置任一外部中斷線為中斷模式 (在 NVIC 中必須使能相應(yīng)的外部中斷向量)。參見中斷向量表 (表 51)。
如果執(zhí)行 WFE 進(jìn)入停止模式:
設(shè)置任一外部中斷線為事件模式。參見喚醒事件管理 (第 8.2.3 節(jié))。
喚醒延時(shí) HSIRC 喚醒時(shí)間 + 電壓調(diào)節(jié)器從低功耗喚醒的時(shí)間。

3.5 待機(jī)模式

待機(jī)模式可實(shí)現(xiàn)系統(tǒng)的最低功耗。該模式是在 Cortex-M3 深睡眠模式時(shí)關(guān)閉電壓調(diào)節(jié)器。整個(gè)1.8V 供電區(qū)域被斷電。PLL、HSI 和 HSE 振蕩器也被斷電。SRAM 和寄存器內(nèi)容丟失。只有備份的寄存器和待機(jī)電路維持供電。

進(jìn)入待機(jī)模式

可以通過設(shè)置獨(dú)立的控制位,選擇以下待機(jī)模式的功能:

?獨(dú)立看門狗(IWDG):可通過寫入看門狗的鍵寄存器或硬件選擇來啟動(dòng) IWDG。一旦啟動(dòng)了獨(dú)立看門狗,除了系統(tǒng)復(fù)位,它不能再被停止。

?實(shí)時(shí)時(shí)鐘(RTC):通過備用區(qū)域控制寄存器(RCC_BDCR)的 RTCEN 位來設(shè)置。

?內(nèi)部 RC 振蕩器(LSIRC):通過控制/狀態(tài)寄存器(RCC_CSR)的 LSION 位來設(shè)置。

?外部 32.768kHz 振蕩器(LSE):通過備用區(qū)域控制寄存器(RCC_BDCR)的 LSEON 位設(shè)置。

退出待機(jī)模式

當(dāng)一個(gè)外部復(fù)位(NRST 引腳)、IWDG 復(fù)位、WKUP 引腳上的上升沿或 RTC 鬧鐘事件的上升沿發(fā)生時(shí),微控制器從待機(jī)模式退出。從待機(jī)喚醒后,除了電源控制/狀態(tài)寄存器(PWR_CSR),所有寄存器被復(fù)位。從待機(jī)模式喚醒后的代碼執(zhí)行等同于復(fù)位后的執(zhí)行(采樣啟動(dòng)模式引腳、讀取復(fù)位向量等)。電源控制/狀態(tài)寄存器(PWR_CSR)(見第 4.4.2 節(jié))將會(huì)指示內(nèi)核由待機(jī)狀態(tài)退出。

關(guān)于如何退出待機(jī)模式,詳見下表:

待機(jī)模式

待機(jī)模式 說明
進(jìn)入 在以下條件下執(zhí)行 WFI (等待中斷) 或 WFE (等待事件) 指令:
- 設(shè)置 Cortex?-M3 系統(tǒng)控制寄存器中的 SLEEPDEEP 位
- 設(shè)置電源控制寄存器 (PWR_CR) 中的 PDDS 位
- 清除電源控制 / 狀態(tài)寄存器 (PWR_CSR) 中的 WUF 位
退出 WKUP 引腳的上升沿、RTC 鬧鐘事件的上升沿、NRST 引腳上外部復(fù)位、IWDG 復(fù)位。
喚醒延時(shí) 復(fù)位階段時(shí)電壓調(diào)節(jié)器的啟動(dòng)。

待機(jī)模式下的輸入/輸出端口狀態(tài)

在待機(jī)模式下,所有的 I/O 引腳處于高阻態(tài),除了以下的引腳:

?復(fù)位引腳(始終有效)

?當(dāng)被設(shè)置為防侵入或校準(zhǔn)輸出時(shí)的 TAMPER 引腳

?被使能的喚醒引腳

調(diào)試模式

默認(rèn)情況下,如果在進(jìn)行調(diào)試微處理器時(shí),使微處理器進(jìn)入停止或待機(jī)模式,將失去調(diào)試連接。這是因?yàn)?Cortex?-M3 的內(nèi)核失去了時(shí)鐘。然而,通過設(shè)置 DBGMCU_CR 寄存器中的某些配置位,可以在使用低功耗模式下調(diào)試軟件。

3.6 低功耗模式下的自動(dòng)喚醒(AWU)

RTC可以在不需要依賴外部中斷的情況下喚醒低功耗模式下的微控制器(自動(dòng)喚醒模式)。RTC提供一個(gè)可編程的時(shí)間基數(shù),用于周期性從停止或待機(jī)模式下喚醒。通過對備份區(qū)域控制寄存器(RCC_BDCR)的RTCSEL[1:0]位的編程,三個(gè) RTC 時(shí)鐘源中的二個(gè)時(shí)鐘源可以選作實(shí)現(xiàn)此功能。

?低功耗 32.768kHz 外部晶振(LSE)該時(shí)鐘源提供了一個(gè)低功耗且精確的時(shí)間基準(zhǔn)。(在典型情形下消耗小于 1μA)

?低功耗內(nèi)部 RC 振蕩器(LSIRC)

使用該時(shí)鐘源,節(jié)省了一個(gè) 32.768kHz 晶振的成本。但是 RC 振蕩器將少許增加電源消耗。為了用 RTC 鬧鐘事件將系統(tǒng)從停止模式下喚醒,必須進(jìn)行如下操作:

?配置外部中斷線 17 為上升沿觸發(fā)。

?配置 RTC 使其可產(chǎn)生 RTC 鬧鐘事件。

如果要從待機(jī)模式中喚醒,不必配置外部中斷線 17。

4 例程設(shè)計(jì)

4.1 PWR_Standby

1. 初始化階段

(1)使能電源和備份域時(shí)鐘

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);

開啟電源控制(PWR)和備份域(BKP)的時(shí)鐘,為后續(xù)的電源管理操作做準(zhǔn)備。

(2)延時(shí)函數(shù)和串口初始化

delay_init();
UART_Configuration(115200);

?delay_init():初始化延時(shí)函數(shù),方便后續(xù)使用延時(shí)操作。

?UART_Configuration(115200):配置串口 1,波特率為 115200,用于后續(xù)的信息輸出和命令接收。

(3)獲取并打印時(shí)鐘信息

RCC_GetClocksFreq(&clocks);
printf("n");
printf("SYSCLK: %3.1fMhz, HCLK: %3.1fMhz, PCLK1: %3.1fMhz, PCLK2: %3.1fMhz, ADCCLK: %3.1fMhzn",
       (float)clocks.SYSCLK_Frequency / 1000000, (float)clocks.HCLK_Frequency / 1000000,
       (float)clocks.PCLK1_Frequency / 1000000, (float)clocks.PCLK2_Frequency / 1000000, (float)clocks.ADCCLK_Frequency / 1000000);

獲取系統(tǒng)各時(shí)鐘頻率,并通過串口打印出來,方便調(diào)試和查看系統(tǒng)時(shí)鐘配置情況。

(4)打印提示信息并使能喚醒引腳

printf("PWR Standby Test.n");
printf("Enable WakeUp Pin - PA0n");
printf("Please Input 's', Come Standby Moden");
PWR_WakeUpPinCmd(ENABLE);

?打印測試信息和提示用戶輸入's' 以進(jìn)入待機(jī)模式。

?使能喚醒引腳 PA0,用于后續(xù)從待機(jī)模式喚醒系統(tǒng)。

2. 等待用戶輸入

while (GetCmd() != 's');

?通過GetCmd()函數(shù)不斷檢查串口接收的數(shù)據(jù),當(dāng)接收到字符's' 時(shí),跳出循環(huán),準(zhǔn)備進(jìn)入待機(jī)模式。

3. GPIO 配置

GPIO_Configuration();

?對所有 GPIO 端口(GPIOA - GPIOG)進(jìn)行配置,將所有引腳設(shè)置為模擬輸入模式,以降低功耗。

4. 進(jìn)入待機(jī)模式

PWR_EnterSTANDBYMode();

?調(diào)用該函數(shù)使系統(tǒng)進(jìn)入待機(jī)模式,此時(shí)系統(tǒng)大部分功能停止工作,功耗極低。綜上所述,該程序的主要流程是初始化系統(tǒng),提示用戶輸入's',接收到指定字符后配GPIO,然后使系統(tǒng)進(jìn)入待機(jī)模式,等待喚醒信號。

4.2 PWR_Stop

該程序是一個(gè)基于 W55MH32 的低功耗停止模式(STOP Mode)測試程序,主要用于驗(yàn)證系統(tǒng)進(jìn)入停止模式以及通過外部中斷喚醒的功能。以下是程序的主要工作流程總結(jié):

1. 初始化階段

(1)使能電源和備份域時(shí)鐘

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);

開啟電源控制(PWR)和備份域(BKP)的時(shí)鐘,為后續(xù)的電源管理操作做準(zhǔn)備。

(2)延時(shí)函數(shù)和串口初始化

delay_init();
UART_Configuration(115200);

?delay_init():初始化延時(shí)函數(shù)。

?UART_Configuration(115200):配置串口 1,波特率為 115200,用于調(diào)試信息輸出和命令接收。

(3)獲取并打印時(shí)鐘信息

RCC_GetClocksFreq(&clocks);
printf("SYSCLK: %3.1fMhz, HCLK: %3.1fMhz, PCLK1: %3.1fMhz, PCLK2: %3.1fMhz, ADCCLK: %3.1fMhzn", ...);

獲取并打印系統(tǒng)各總線時(shí)鐘頻率,便于調(diào)試。

(4)打印提示信息并配置喚醒引腳

printf("PWR Stop Test.n");
printf("Enable WakeUp Pin - PA0n");
printf("Please Input 's', Come Stop Moden");
WAKEUP_Configuration();

?提示用戶輸入字符's' 觸發(fā)進(jìn)入停止模式。

?調(diào)用WAKEUP_Configuration() 配置喚醒引腳 PA0 為外部中斷觸發(fā)(上升沿)。

2. 等待用戶輸入

while (GetCmd() != 's');

通過GetCmd() 函數(shù)持續(xù)檢測串口輸入,直到接收到字符's'。

3. GPIO 配置

GPIO_Configuration();

?將所有 GPIO 引腳(除 PA0 外)設(shè)置為模擬輸入模式(GPIO_Mode_AIN),以降低功耗。

?PA0 保持上拉輸入,用于喚醒中斷。

4. 進(jìn)入停止模式

PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);

?選擇低功耗調(diào)節(jié)器(PWR_Regulator_LowPower)以進(jìn)一步降低功耗。

?通過 **WFI(Wait For Interrupt)** 指令進(jìn)入停止模式。

5. 喚醒后處理

(1)系統(tǒng)復(fù)位與重新初始化

SystemInit();  // 復(fù)位系統(tǒng)時(shí)鐘到默認(rèn)配置
UART_Configuration(115200);  // 重新初始化串口
printf("WakeUp Successn");

?喚醒后,系統(tǒng)從復(fù)位向量啟動(dòng),需重新初始化串口才能繼續(xù)輸出。

(2)無限循環(huán)

while (1);

程序保持運(yùn)行狀態(tài),等待其他操作。

6. 喚醒中斷處理(EXTI0_IRQHandler

?當(dāng) PA0 檢測到上升沿時(shí)觸發(fā)中斷。

?清除中斷標(biāo)志位并打印調(diào)試信息(示例中僅打印EXTI->PR寄存器值)。

5 下載驗(yàn)證

5.1 PWR_Standby

wKgZPGg30i2AXa2YAAGocWTuH3I350.png

5.2 PWR_Stop

wKgZO2g30i2AZJdRAAHrlfCVdOk579.png

WIZnet 是一家無晶圓廠半導(dǎo)體公司,成立于 1998 年。產(chǎn)品包括互聯(lián)網(wǎng)處理器 iMCU?,它采用 TOE(TCP/IP 卸載引擎)技術(shù),基于獨(dú)特的專利全硬連線 TCP/IP。iMCU? 面向各種應(yīng)用中的嵌入式互聯(lián)網(wǎng)設(shè)備。

WIZnet 在全球擁有 70 多家分銷商,在香港、韓國、美國設(shè)有辦事處,提供技術(shù)支持和產(chǎn)品營銷。

香港辦事處管理的區(qū)域包括:澳大利亞、印度、土耳其、亞洲(韓國和日本除外)。

審核編輯 黃宇

聲明:本文內(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)注

    2

    文章

    143

    瀏覽量

    26945
  • PWR
    PWR
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    第十W55MH32中斷應(yīng)用概覽

    本章講述了W55MH32中斷應(yīng)用,涵蓋異常類型、NVIC介紹、優(yōu)先級定義與分組,闡述中斷編程三要點(diǎn)(使能中斷、配置 NVIC、編寫服務(wù)函數(shù)),并強(qiáng)調(diào)優(yōu)先級分組設(shè)置注意事項(xiàng)。
    的頭像 發(fā)表于 05-22 17:07 ?1036次閱讀
    <b class='flag-5'>第十</b>章 <b class='flag-5'>W55MH32</b>中斷應(yīng)用概覽

    第十九章 ADC——電壓采集

    本章介紹W55MH32的12位逐次逼近型ADC,含18個(gè)通道(16外部+2內(nèi)部),支持多種轉(zhuǎn)換模式。剖析功能框圖,涉及電壓范圍、通道分類、轉(zhuǎn)換順序等,詳解初始化結(jié)構(gòu)體及單通道、雙重ADC等代碼配置與驗(yàn)證。
    的頭像 發(fā)表于 06-19 17:08 ?859次閱讀
    <b class='flag-5'>第十九章</b> ADC——電壓采集

    第二十九章 讀寫內(nèi)部FLASH

    本文介紹了W55MH32內(nèi)部FLASH,其含主存儲(chǔ)、系統(tǒng)存儲(chǔ)等,可存儲(chǔ)代碼及掉電保存數(shù)據(jù)。讀寫需解鎖、擦除頁等步驟,標(biāo)準(zhǔn)庫提供相關(guān)函數(shù)。還展示了擦除編程測試及模擬EEPROM讀寫的實(shí)驗(yàn)。
    的頭像 發(fā)表于 06-20 14:09 ?587次閱讀
    第二<b class='flag-5'>十九章</b> 讀寫內(nèi)部FLASH

    【MangoTree】芒果樹將參加第十九屆中國國際工業(yè)博覽會(huì)

    `芒果樹將參加第十九屆中國國際工業(yè)博覽會(huì) 簡稱:2017中國工博會(huì)展會(huì)將在國家會(huì)展中心(上海)(崧澤大道333號)舉行展覽時(shí)間:2017年11月7日-11日我們的展位在機(jī)器人展館8.1H F177屆時(shí)將展出我們強(qiáng)實(shí)力的演示,期待的人員趕快來看看吧我們的參展號:8.1H_F177,圖中標(biāo)出的位置`
    發(fā)表于 08-24 17:56

    「正點(diǎn)原子STM32Mini板資料連載」第十九章 待機(jī)喚醒實(shí)驗(yàn)

    1)實(shí)驗(yàn)平臺:正點(diǎn)原子STM32mini開發(fā)板2)摘自《正點(diǎn)原子STM32 不完全手冊(HAL 庫版)》關(guān)注官方微信號公眾號,獲取更多資料:正點(diǎn)原子第十九章 待機(jī)喚醒實(shí)驗(yàn)本章我們將向大家介紹
    發(fā)表于 04-09 11:30

    第十九屆臺灣電路板展覽會(huì)即將開幕

    TPCA Show 2018 新產(chǎn)品發(fā)表,展現(xiàn)5G生態(tài)新鏈結(jié),落實(shí)AI應(yīng)用新思維第十九屆臺灣電路板展覽會(huì)
    的頭像 發(fā)表于 09-15 11:17 ?5369次閱讀

    喜!聯(lián)誠發(fā)成功入選第十九屆“深圳知名品牌”

    深圳知名品牌評價(jià)委員會(huì)召開第十九屆“深圳知名品牌”評審會(huì)議,會(huì)議審核發(fā)布了第八屆“國際信譽(yù)品牌”和第十九屆“深圳知名品牌”。 深圳市聯(lián)誠發(fā)科技股份有限公司(以下簡稱“聯(lián)誠發(fā)”)旗下品牌 LCF 憑借
    的頭像 發(fā)表于 04-06 15:13 ?3118次閱讀
    喜!聯(lián)誠發(fā)成功入選<b class='flag-5'>第十九</b>屆“深圳知名品牌”

    WIZnet高性能以太網(wǎng)單片機(jī)W55MH32重磅發(fā)布!

    WIZnet高性能以太網(wǎng)單片機(jī)W55MH32重磅發(fā)布!本文詳細(xì)解析了W55MH32芯片的高性能網(wǎng)絡(luò)處理能力與硬件資源,以及兩款開發(fā)板(L/Q-EVB)。芯片憑借TOE引擎、豐富外設(shè)及加密單元,為物
    的頭像 發(fā)表于 05-07 16:17 ?395次閱讀
    WIZnet高性能以太網(wǎng)單片機(jī)<b class='flag-5'>W55MH32</b>重磅發(fā)布!

    即刻啟程,踏上W55MH32高性能以太網(wǎng)單片機(jī)學(xué)習(xí)之路!

    即刻啟程,踏上W55MH32高性能以太網(wǎng)單片機(jī)學(xué)習(xí)之路!即刻開啟W55MH32學(xué)習(xí)之旅!本教系列程配套官方手冊與W55MH32L開發(fā)板,從外設(shè)功能框圖解析到代碼實(shí)操,助你掌握高性能以太
    的頭像 發(fā)表于 05-07 18:51 ?376次閱讀
    即刻啟程,踏上<b class='flag-5'>W55MH32</b>高性能以太網(wǎng)單片機(jī)學(xué)習(xí)之路!

    第一章 W55MH32 高性能以太網(wǎng)單片機(jī)的學(xué)習(xí)方法概述

    本章介紹W55MH32的學(xué)習(xí)方法,建議先了解硬件資源,按基礎(chǔ)篇、入門篇循序漸進(jìn)學(xué)習(xí)。參考兩份手冊,提供例程資料,還給出官網(wǎng)、github 等學(xué)習(xí)資料查找渠道。讓我們一起踏上W55MH32高性能以太網(wǎng)單片機(jī)的學(xué)習(xí)之路!
    的頭像 發(fā)表于 05-26 09:07 ?107次閱讀
    第一章 <b class='flag-5'>W55MH32</b> 高性能以太網(wǎng)單片機(jī)的學(xué)習(xí)方法概述

    第二章 開發(fā)板與芯片介紹 詳解W55MH32芯片及開發(fā)板

    本章介紹了W55MH32芯片及開發(fā)板。該芯片采用Cortex-M3內(nèi)核,主頻216MHz,集成以太網(wǎng)功能,有L和Q兩種型號。配套開發(fā)板L-EVB功能豐富、Q-EVB為最小系統(tǒng)板,均含仿真器。
    的頭像 發(fā)表于 05-26 09:19 ?399次閱讀
    第二章 開發(fā)板與芯片介紹  詳解<b class='flag-5'>W55MH32</b>芯片及開發(fā)板

    W55MH32高性能以太網(wǎng)單片機(jī)教程 第九章 窗口看門狗(WWDG)

    本章介紹了W55MH32的窗口看門狗(WWDG),其用于監(jiān)測軟件故障,具可編程遞減計(jì)數(shù)器等特性。從寄存器、中斷喂狗和復(fù)位測試兩個(gè)程序例程進(jìn)行講解。
    的頭像 發(fā)表于 05-27 10:26 ?344次閱讀
    <b class='flag-5'>W55MH32</b>高性能以太網(wǎng)單片機(jī)教程 第<b class='flag-5'>九章</b> 窗口看門狗(WWDG)

    WIZnet W55MH32以太網(wǎng)單片機(jī)開發(fā)教程 第十一章 通用定時(shí)器(上篇)

    本章介紹了W55MH32的通用定時(shí)器TIM2~TIM5,其由 16 位計(jì)數(shù)器等構(gòu)成,具輸入捕獲等功能,有多種計(jì)數(shù)模式及時(shí)鐘選擇。對例程進(jìn)行了講解并下載驗(yàn)證,TIM9~14功能類似,詳見《W55
    的頭像 發(fā)表于 05-28 10:12 ?350次閱讀
    WIZnet <b class='flag-5'>W55MH32</b>以太網(wǎng)單片機(jī)開發(fā)教程 <b class='flag-5'>第十</b>一章 通用定時(shí)器(上篇)

    WIZnet W55MH32以太網(wǎng)單片機(jī)開發(fā)教程第十一章 通用定時(shí)器(下篇)

    本章為W55MH32通用定時(shí)器的下篇,介紹了TIM_InputCapture 等 4 個(gè)程序設(shè)計(jì)例程,涉及輸入捕獲、PWM 輸出、中斷測試、觸摸檢測等功能和例程下載驗(yàn)證情況,如串口輸出、波形檢測等。
    的頭像 發(fā)表于 05-28 10:48 ?436次閱讀
    WIZnet <b class='flag-5'>W55MH32</b>以太網(wǎng)單片機(jī)開發(fā)教程<b class='flag-5'>第十</b>一章 通用定時(shí)器(下篇)

    W55MH32高性能以太網(wǎng)單片機(jī)開發(fā)課件 第十四章 ADC(上篇)

    本章介紹了W55MH32的12位ADC(上篇),其有18通道,支持單次、連續(xù)等轉(zhuǎn)換模式,具有自校準(zhǔn)、模擬看門狗等功能。還含ADC_AnalogWatchdog 例程,可監(jiān)測電壓超閾值并觸發(fā)中斷。
    的頭像 發(fā)表于 05-28 13:52 ?183次閱讀
    <b class='flag-5'>W55MH32</b>高性能以太網(wǎng)單片機(jī)開發(fā)課件 <b class='flag-5'>第十</b>四章 ADC(上篇)