M052电源管理及断电空闲模式 V100.pdf
《M052电源管理及断电空闲模式 V100.pdf》由会员分享,可在线阅读,更多相关《M052电源管理及断电空闲模式 V100.pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Application Note of NUVOTON 32-bit NuMicro Family AN_1010_SC 2010-3-9 -i-Rev.1.00 应应用用指指南南 32-bit Cortex-M0 MCU NuMicro Family 电源管理及断电电源管理及断电/空闲模式空闲模式 电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -1-Rev.1.00 目录 目录 1 简介.2 1.1 性能.2 2 代码部分.3 2.1 主函数.3 2.2 IpClockCtrlTest 函数.4 2.3 PowerDownAndId
2、leModeTest 函数.5 3 调用顺序.8 3.1 使能/禁止选定的IP时钟.8 3.2 进入断电/空闲模式并通过RTC唤醒.9 3.3 进入断电/空闲模式并通过GPIO唤醒.10 3.4 进入断电/空闲模式并通过UART唤醒.11 3.5 进入断电/空闲模式并通过USB唤醒.12 3.6 进入断电/空闲模式并通过CAN唤醒.13 4 运行环境设置和结果.14 4.1 电流消耗表.14 4.2 断电/空闲模式电流和唤醒方式.15 4.2.1 RTC报警唤醒.15 4.2.2 GPIO中断唤醒.15 4.2.3 UART CTS 唤醒.15 4.2.4 USB 插入唤醒.15 4.2.5
3、CAN RX 唤醒.15 4.2.6 唤醒时间.15 5 修订历史.16 电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -2-Rev.1.00 1 简介简介 空闲/断电模式下功耗是最低的,当系统不工作或者等待一个外部中断/事件的时候,软件使系统进入空闲/断电模式,在这种状态下,时钟源停止了所有的外围设备也进入睡眠模式。当检测到外部中断/事件的时候,系统退出空闲/断电模式。本文件说明了压缩文件AN_1001_EN.ZIP中的示例程序“Smpl_PowerManagement”,这个程序描述了怎样进入系统空闲/断电模式以及如何从空闲/断电
4、模式唤醒系统。断电模式控制表 寄存器寄存器/指令指令 模式模式 PWR_DOWN_ENPD_WAIT_CPUCPU run WFE/WFI instruction Clock Gating 正常运行模式正常运行模式 1b0 1b0 NO 根据时钟选择寄存器打开所有时钟 空闲模式空闲模式(CPU进入睡眠进入睡眠)1b0 1b0 YES 只有CPU时钟打开 断电模式断电模式 1b1 1b0 NO 除10K/32K时钟外所有时钟关闭,一些终端设备时钟仍然工作,例如:RTC/WDT/Timer/PWM/ADC断电模式断电模式(CPU进入深度睡眠进入深度睡眠)1b1 1b1 YES 除10K/32K时钟
5、外所有时钟关闭,一些终端设备时钟仍然工作,例如:RTC/WDT/Timer/PWM/ADC 1.1 性能性能 支持禁止选定的IP时钟以节省能量 支持系统空闲模式,可以通过RTC/GPIO/UART/USB/CAN 中断事件唤醒 支持系统断电模式,可以通过RTC/GPIO/UART/USB/CAN 中断事件唤醒 电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -3-Rev.1.00 2 代码部分代码部分 大部分函数定义在Smpl_PowerManagement.c文件中 详细调用顺序参考调用顺序部分 2.1 主函数主函数 在主函数中,我们
6、设置外部12MHz时钟为系统时钟以方便后续测设。硬件初始化完成后,打开UART0并配置波特率为115200来输出调试信息,然后你就可以输入你要测试的内容了。/Poll and handle USB events.DrvSYS_SetOscCtrl(E_SYS_XTL12M,1);.DrvUART_Open(UART_PORT0,&sParam);While(i32Loop)printf(|1 IP Clock Control Test|n);printf(|2 Idle Mode Test|n);printf(|3 Power Down Mode Test|n);switch(u8Item)c
7、ase 0:i32Loop=0;break;case 1:IpClockCtrlTest();break;case 2:PowerDownAndIdleModeTest(0);break;case 3:PowerDownAndIdleModeTest(1);break;电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -4-Rev.1.00 2.2 IpClockCtrlTest 函数函数 这个函数中,用户可以通过输入字符 a z 来使能或禁止选定的单个模块的时钟,字符 1来使能或禁止所有终端模块的时钟 if(u8Item=1)if(u3
8、2IPClkCfg=ALL_IP_CLOCK)u32IPClkCfg=0;else u32IPClkCfg=ALL_IP_CLOCK;printf(r%s all IP.nn,(u32IPClkCfg=0)?Disable:Enable);else if(u8Item=a)&(u8Item=z)u8IPIndex=u8Item-a;u32IPClkCfg=u32IPClkCfg (1u8IPIndex);printf(rIndex-%c IP is%s.nn,u8Item,(u32IPClkCfg&(1u8IPIndex)=0)?Disable:Enable);else continue;/*
9、Apply the stting*/DrvSYS_SetIPClock(E_SYS_WD_CLK,(u32IPClkCfg&WD_CLOCK)?1:0);DrvSYS_SetIPClock(E_SYS_RTC_CLK,(u32IPClkCfg&RTC_CLOCK)?1:0);DrvSYS_SetIPClock(E_SYS_TMR0_CLK,(u32IPClkCfg&TMR0_CLOCK)?1:0);DrvSYS_SetIPClock(E_SYS_TMR1_CLK,(u32IPClkCfg&TMR1_CLOCK)?1:0);DrvSYS_SetIPClock(E_SYS_TMR2_CLK,(u3
10、2IPClkCfg&TMR2_CLOCK)?1:0);电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -5-Rev.1.00 2.3 PowerDownAndIdleModeTest 函数函数 PowerDownAndIdleModeTest 函数的参数是0表示空闲模式测试,是1代表断电模式测试,选定了测试模式后,用户还必须输入 1 5来选择唤醒类型RTC,GPIO,UART,USB 或CAN中断.printf(|1 RTC wake up Test|n);printf(|2 GPIO wake up Test(GPA1 toggle)
11、|n);printf(|3 UART wake up Test(GPB3 toggle)|n);printf(|4 USB wake up Test|n);printf(|5 CAN0 wake up Test|n);switch(u8Item)case 1:if(InitRTCWakeupFunction()=FALSE)continue;break;case 2:if(InitGPIOWakeupFunction()=FALSE)continue;break;case 3:if(InitUARTWakeupFunction()=FALSE)continue;break;case 4:if(
12、InitUSBWakeupFunction()=FALSE)continue;break;case 5:if(InitCANWakeupFunction()=FALSE)continue;break;case 0:电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -6-Rev.1.00 return;default:continue;if(u8Type=1)/*For PowerDown Mode*/UNLOCKREG();DrvSYS_SetPowerDownWaitCPU(1);/*Disable crystal to enter p
13、ower down*/DrvSYS_EnablePowerDown(1);/*wait for interrupt,enter in Power Down mode*/_WFI();else if(u8Type=0)/*For IDLE Mode*/UNLOCKREG();DrvSYS_SetPowerDownWaitCPU(0);DrvSYS_EnablePowerDown(0);/*wait for interrupt,enter in Idle mode*/_WFI();switch(u8Item)case 1:电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_10
14、10_SC 2010-3-9 -7-Rev.1.00 UnInitRTCWakeupFunction();break;case 2:UnInitGPIOWakeupFunction();break;case 3:UnInitUARTWakeupFunction();break;case 4:UnInitUSBWakeupFunction();break;case 5:UnInitCANWakeupFunction();break;default:break;电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -8-Rev.1.00 3 调用
15、顺序调用顺序 3.1 使能使能/禁止选定的禁止选定的IP时钟时钟 Select an item to enable or disablethe chose IP clockCheck the chose IP clock is already enable?Enable the chose IP clockIf the chose IP is UART0?Disable the chose IP clockFrom mainNoNoYesYesDisable UART0 clockand hold CPUfor measure the currentEnable UART0 clock 电源管
16、理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -9-Rev.1.00 3.2 进入断电进入断电/空闲模式并通过空闲模式并通过RTC唤醒唤醒 From mainFrom wake upSelect IDLE or Power Down ModeInitRTCWakeupFunction()DrvRTC_Init()DrvRTC_Open()Set alarm callback function DrvRTC_AlarmISR()Set the alarm time RTC_Write()NVIC_EnableIRQ()_WFI()1.DrvS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- M052电源管理及断电空闲模式 V100 M052 电源 管理 断电 空闲 模式
限制150内