RA4M2-SENSOR开发板提供了电源管理,所提供的三种低功耗模式为:睡眠模式(Sleep Mode)、软件待机模式(Software Standby Mode)、贪睡模式(Snooze Mode)。进入低功耗模式,从而减少能耗、延长系统工作时长。 为进行低功耗模式下的功耗检测和对比,可通过按键来切换工作模式。 开发板上有3个按键,可选取其中的K3键来承担模式切换的作用。 图1 K3键电路 在RASC中,将K3键赋予中断处理功能的配置如图2和图3所示,此外还需添加串口通讯及低功耗模式功能入栈,并对属性加以设置,见图4和图5所示。 图2 引脚配置
图3属性配置
图4 添加低功耗模式
图5 属性配置
在生成项目工程后,需添加的相应函数为: - void LPM_Init()
- {
- R_LPM_Open (&g_lpm0_ctrl, &g_lpm0_cfg);
- }
- void EnterLowPowerMode()
- {
- if (!in_LPM)
- {
- printf ("进入低功耗模式\n");
- in_LPM = true;
- R_LPM_LowPowerModeEnter (&g_lpm0_ctrl);
- }
- }
其能耗测试的主程序为: - void hal_entry(void)
- {
- err = R_SCI_UART_Open(&g_uart9_ctrl, &g_uart9_cfg);
- assert(FSP_SUCCESS == err);
- R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_02, BSP_IO_LEVEL_LOW);
- LPM_Init ();
- IRQ_Init ();
- printf ("低功耗能耗检测: \r\n");
- while (1)
- {
- if (key_pressed == true)
- {
- key_pressed = false;
- if (!in_LPM)
- {
- EnterLowPowerMode ();
- printf ("退出待机模式\n");
- }
- else
- {
- in_LPM = false;
- }
- }
- }
- }
经程序的编译和下载,其测试结果如图6和图7所示,可见在2种工作模式下,其能耗相差近30mW。 图6 常规能耗
图7 低功耗模式下能耗
|