关于lpc1112深睡眠(低功耗)的调试报告
由于产品为移动设备,所以功耗要求是比较严格的。目前采用了大MCU+小MCU的方式实现,小MCU主要是控制大MCU的电源,以实现系统的最低功耗。当然也就要求小单片机也在不工作的时候,进入低功耗状态。
大MCU目前采用的是LPC1788,掉电模式理论最低功耗为65uA,但是实际调试并没有达到那么小(因为外设没有完全断电)。所以用小MCU来控制大MCU的电源,在需要的时候,在给大MCU供电。
小MCU采用的是LPC111x(lpc1112/28pin),深睡眠模式的理论值约为6uA(这个。)。
Lpc1112在不接外设的情况下,首先对深睡眠功耗进行测试,目前达到了5uA左右。
以下为源代码:
#include "nxplpc11xx.h"
#include "pmu.h"
#define NVIC_LP_SLEEPDEEP 1<<2
extern int key_value;
void WAKEUP6_IRQHandler(void)
{
//PMU->PCON = (1<<8); //清除标志
SYSCON->STARTRSRP0CLR = 1<<6; /*清除唤醒中断标志 */
__nop();
key_value=2;
}
void WAKEUP5_IRQHandler(void)
{
//PMU->PCON = (1<<8); //清除标志
SYSCON->STARTRSRP0CLR = 1<<5; /*清除唤醒中断标志 */
__nop();