欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    M052电源管理及断电空闲模式 V100.pdf

    • 资源ID:69631384       资源大小:255.99KB        全文页数:18页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    M052电源管理及断电空闲模式 V100.pdf

    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 PowerDownAndIdleModeTest 函数.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 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”,这个程序描述了怎样进入系统空闲/断电模式以及如何从空闲/断电模式唤醒系统。断电模式控制表 寄存器寄存器/指令指令 模式模式 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时钟外所有时钟关闭,一些终端设备时钟仍然工作,例如: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 主函数主函数 在主函数中,我们设置外部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)case 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(u32IPClkCfg=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;/*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,(u32IPClkCfg&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)|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(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 power 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_1010_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 调用顺序调用顺序 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 电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 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.DrvSYS_SetPowerDownWaitCPU(1)2.DrvSYS_EnablePowerDown(1)3._WFI()1.DrvSYS_SetPLLPowerDown(0)2.DrvSYS_EnablePowerDown(0)3.DrvSYS_SetPowerDownWaitCPU(0)UnInitRTCWakeupFunction()IDLE modeWake upPower Down modeIDLE modePower Down modeDrvRTC_Close()RTC alarm interrupt 电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -10-Rev.1.00 3.3 进入断电进入断电/空闲模式并通过空闲模式并通过GPIO唤醒唤醒 From mainFrom wake upSelect IDLE or Power Down ModeInitGPIOWakeupFunction()DrvGPIO_Open(GPA,1,IO_INPUT)DrvGPIO_SetIntCallback(GP_INTCallback,NULL)DrvGPIO_EnableInt(GPA,1,IO_FALLING,MODE_EDGE)_WFI()1.DrvSYS_SetPowerDownWaitCPU(1)2.DrvSYS_EnablePowerDown(1)3._WFI()1.DrvSYS_SetPLLPowerDown(0)2.DrvSYS_EnablePowerDown(0)3.DrvSYS_SetPowerDownWaitCPU(0)UnInitGPIOWakeupFunction()IDLE modeWake upPower Down modeIDLE modePower Down modeDrvGPIO_SetDebounceTime(3,DBCLKSRC_HCLK)DrvGPIO_EnableDebounce(GPA,1)DrvGPIO_DisableInt(GPA,1)DrvGPIO_Close(GPA,1)GPA-1 Low interrupt 电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -11-Rev.1.00 3.4 进入断电进入断电/空闲模式并通过空闲模式并通过UART唤醒唤醒 From mainFrom wake upSelect IDLE or Power Down ModeInitUARTWakeupFunction()Configure GPA6&7 for turn on LEDEnable UART0 CTS(GPB3)for wake up DrvUART_EnableInt(UART_PORT0,DRVUART_WAKEUPINT,NULL)_WFI()1.DrvSYS_SetPowerDownWaitCPU(1)2.DrvSYS_EnablePowerDown(1)3._WFI()1.DrvSYS_SetPLLPowerDown(0)2.DrvSYS_EnablePowerDown(0)3.DrvSYS_SetPowerDownWaitCPU(0)UnInitUARTWakeupFunction()IDLE modeWake upPower Down modeIDLE modePower Down modeTurn of LEDDrvGPIO_Close()UART0 CTS interrupt 电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -12-Rev.1.00 3.5 进入断电进入断电/空闲模式并通过空闲模式并通过USB唤醒唤醒 From mainFrom wake upSelect IDLE or Power Down ModeInitUSBWakeupFunction()Configure GPA6&7 for turn on LEDEnable USB engine clock and wake up function_WFI()1.DrvSYS_SetPowerDownWaitCPU(1)2.DrvSYS_EnablePowerDown(1)3._WFI()1.DrvSYS_SetPLLPowerDown(0)2.DrvSYS_EnablePowerDown(0)3.DrvSYS_SetPowerDownWaitCPU(0)UnInitUSBWakeupFunction()IDLE modeWake upPower Down modeIDLE modePower Down modeTurn of LEDNVIC_EnableIRQ(USBD_IRQn)NVIC_DisableIRQ(USBD_IRQn)and disable USB engine clockUSB interrupt 电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -13-Rev.1.00 3.6 进入断电进入断电/空闲模式并通过空闲模式并通过CAN唤醒唤醒 From mainFrom wake upSelect IDLE or Power Down ModeInitCANWakeupFunction()Configure GPA6&7 for turn on LED_WFI()1.DrvSYS_SetPowerDownWaitCPU(1)2.DrvSYS_EnablePowerDown(1)3._WFI()1.DrvSYS_SetPLLPowerDown(0)2.DrvSYS_EnablePowerDown(0)3.DrvSYS_SetPowerDownWaitCPU(0)UnInitCANWakeupFunction()IDLE modeWake upPower Down modeIDLE modePower Down modeTurn of LEDDisable CAN_RX0(GPD6),CAN_TX0(GPD7)CAN_RX0interruptDrvCAN_Init()DrvCAN_Open()and enable CAN wake up function DrvCAN_EnableInt()Enable CAN_RX0(GPD6),CAN_TX0(GPD7)DrvCAN_DisableInt()and DrvCAN_Close()电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -14-Rev.1.00 4 运行环境设置和结果运行环境设置和结果 4.1 电流消耗表电流消耗表 IP Enable/Disable 电流消耗电流消耗(毫安毫安)Watch Dog Timer 0.08 RTC 0.45 Timer 0 0.2 Timer 1 0.2 Timer 2 0.29 Timer 3 0.24 I2C 0 0.29 I2C 1 0.29 SPI 0 0.81 SPI 1 0.84 SPI 2 0.84 SPI 3 0.83 UART 0 0.94 UART 1 0.94 UART 2 x PWM 10 0.23 PWM 32 0.24 PWM 54 x PWM 76 x CAN 1.11 USB 1.94 ADC 1.23 ACMP 0.17 PS2 0.59 PDMA 0.79 Flash ISP 0.4 电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -15-Rev.1.00 4.2 断电断电/空闲模式电流和唤醒方式空闲模式电流和唤醒方式 使用外部12MHz晶振系统时钟是48MHz3.3V 系统模式系统模式 电流消耗电流消耗 空闲模式 15.47 毫安 断电模式 15.2 微安 断电模式下使能UART0打印调试信息 34.8 微安 4.2.1 RTC报警唤醒报警唤醒 设置新的RTC日期/时间以及10秒报警时间然后进入断电/空闲模式,10秒后,系统将通过RTC警报中断退出断电/空闲模式然后进入正常模式 4.2.2 GPIO中断唤醒中断唤醒 设置GPIOA-1为输入模式(引脚状态为高)下降沿触发中断,然后进入断电/空闲模式,当GPIOA-1由高变低时,系统将通过GPIO中断退出断电/空闲模式然后进入正常模式 4.2.3 UART CTS 唤醒唤醒 使能UART0唤醒功能,配置GPB3为CTS0然后进入断电/空闲模式,当CTS0(GPB3)电平转换时系统将退出断电/空闲模式然后进入正常模式 4.2.4 USB 插入唤醒插入唤醒 使能USB模块时钟和唤醒功能然后进入断电/空闲模式,当USB线插入PC时,系统将退出断电/空闲模式然后进入正常模式 4.2.5 CAN RX 唤醒唤醒 使能相关CAN及CAN唤醒功能并设置GPIOD-6为CAN_RX输入脚然后进入断电/空闲模式,当GPIOD-6(CAN_RX)脚电平转换时,系统将退出断电/空闲模式然后进入正常模式 4.2.6 唤醒时间唤醒时间 系统退出断电模式需要2微秒,这段时间指的是从唤醒事件触发到中断事件发生的时间 电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -16-Rev.1.00 5 修订历史修订历史 版本版本 日期日期 描述描述 0.01 2010-3-9 1.初次发布 电源管理及断电电源管理及断电/空闲模式空闲模式 应用指南应用指南 AN_1010_SC 2010-3-9 -17-Rev.1.00 Important Notice Nuvoton products are not designed,intended,authorized or warranted for use as components in systems or equipment intended for surgical implantation,atomic energy control instruments,airplane or spaceship instruments,transportation instruments,traffic signal instruments,combustion control instruments,or for other applications intended to support or sustain life.Further more,Nuvoton products are not intended for applications wherein failure of Nuvoton products could result or lead to a situation wherein personal injury,death or severe property or environmental damage could occur.Nuvoton customers using or selling these products for use in such applications do so at their own risk and agree to fully indemnify Nuvoton for any damages resulting from such improper use or sales.Please note that all data and specifications are subject to change without notice.All the trademarks of products and companies mentioned in this datasheet belong to their respective owners.

    注意事项

    本文(M052电源管理及断电空闲模式 V100.pdf)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开