基本信息
文件名称:Microchip 系列:SAM E 系列_(5).SAM E系列的电源管理.docx
文件大小:25.35 KB
总页数:19 页
更新时间:2025-06-12
总字数:约1.11万字
文档摘要

PAGE1

PAGE1

SAME系列的电源管理

1.电源管理概述

电源管理是嵌入式系统设计中的一个重要方面,特别是在电池供电的设备中。SAME系列单片机提供了多种电源管理功能,包括不同的低功耗模式、电压调节器、以及电源管理模块(PowerManagementController,PMC)。这些功能可以帮助开发人员优化功耗,延长设备的运行时间,同时确保系统的稳定性和可靠性。

2.低功耗模式

SAME系列单片机支持多种低功耗模式,包括空闲模式(IdleMode)、掉电模式(Power-downMode)和待机模式(StandbyMode)。这些模式通过关闭不必要的硬件模块和降低系统时钟频率来减少功耗。

2.1空闲模式

空闲模式(IdleMode)是一种低功耗模式,其中CPU停止运行,但外设和时钟继续工作。这种模式适用于需要保持外设活动但不需要CPU进行处理的情况。

//进入空闲模式

voidenter_idle_mode(void){

//关闭CPU,但保留时钟和外设

SCB-SCR|=SCB_SCR_SLEEPDEEP_Msk;

__WFI();//WaitForInterrupt

}

2.2掉电模式

掉电模式(Power-downMode)是一种更深的低功耗模式,其中CPU和大多数外设停止工作,但RAM中的数据仍然保留。这种模式适用于需要长时间低功耗但需要快速恢复的情况。

//进入掉电模式

voidenter_power_down_mode(void){

//配置PMC以进入掉电模式

PMC-PMC_FSMR=~PMC_FSMR_PLoading...//清除所有快速启动位

PMC-PMC_SCER|=PMC_SCER_PWD;//使能掉电模式

SCB-SCR|=SCB_SCR_SLEEPDEEP_Msk;//进入掉电模式

__WFI();//WaitForInterrupt

}

2.3待机模式

待机模式(StandbyMode)是最深的低功耗模式,其中CPU、外设和RAM都停止工作,只有RTC(实时时钟)和一些基本的唤醒源保持活动。这种模式适用于需要长时间低功耗且对恢复时间要求不高的情况。

//进入待机模式

voidenter_standby_mode(void){

//配置RTC以保持活动

PMC-PMC_SCER|=PMC_SCER_RTCON;//使能RTC

//配置PMU以进入待机模式

PMU-PMU_MODE=PMU_MODE_STDBY;

SCB-SCR|=SCB_SCR_SLEEPDEEP_Msk;//进入待机模式

__WFI();//WaitForInterrupt

}

3.电源管理模块(PMC)

电源管理模块(PMC)是SAME系列单片机中的一个关键组件,负责管理系统的时钟和电源配置。PMC提供了多种时钟源和配置选项,可以帮助开发人员根据应用需求优化功耗。

3.1时钟源配置

SAME系列单片机支持多种时钟源,包括内部RC振荡器、外部晶振、PLL(锁相环)等。通过合理配置时钟源,可以显著降低系统的功耗。

//配置内部RC振荡器作为主时钟源

voidconfigure_internal_rc_oscillator(void){

PMC-PMC_SCER|=PMC_SCER_OSC12;//使能12MHz内部RC振荡器

PMC-PMC_MOR=PMC_MOR_KEY_PASSWD|PMC_MOR_OSC12BYP|PMC_MOR_OSC12EN;

while(!(PMC-PMC_SRPMC_SR_MOSC12RDY));//等待时钟就绪

PMC-PMC_MCKR=PMC_MCKR_CSS_SLOW_CLK|PMC_MCKR_PRES_CLK_1;//选择慢时钟作为主时钟

while(!(PMC-PMC_SRPMC_SR_MCKRDY));//等待主时钟就绪

}

3.2电源管理控制

PMC还提供了电源管理控制功能,可以动态调整系统的电源状态。通过关闭不必要的外设和调整时钟频率,可以进一步优化功耗。

//关闭未使用的外设时钟

voiddisable_unused_peripheral_clocks(void){

PMC-PMC_PCDR0=(15)|(17