打印

深度睡眠功耗问题

[复制链接]
3029|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
iEye|  楼主 | 2011-12-27 10:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在弄深度睡眠发现功耗实在降不下来,高手能否指点下。使用的LM3S5T36, 进入深度睡眠状态时候功耗为6.674mA ,测试代码如下:

void main()
{
      //
    // Set the clocking to run directly from the external crystal/oscillator.
    // TODO: The SYSCTL_XTAL_ value must be changed to match the value of the
    // crystal on your board.
    //
    SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
                   SYSCTL_XTAL_16MHZ);

   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_GPIOA);
   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_GPIOC);   
   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_GPIOD);
   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_GPIOE);
   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_I2C0);
   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_I2C1);
   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_PWM0);
   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_CAN0);
   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_UART0);
   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_UART1);
   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_UART2);
   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_SSI0);
   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_SSI1);
   SysCtlPeripheralPowerOff(SYSCTL_PERIPH_USB0);

    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);  


GPIOPinTypeGPIOInput (GPIO_PORTB_BASE, GPIO_PIN_7);                 /*  设置PJ0为输入               */

GPIOIntTypeSet(GPIO_PORTB_BASE, GPIO_PIN_7, GPIO_HIGH_LEVEL);     /*  配置下降沿触发中断          */
    GPIOPinIntEnable(GPIO_PORTB_BASE, GPIO_PIN_7);                      /*  使能PJ0中断                 */

IntEnable(INT_GPIOB);                                               /*  使能PJ口中断                */

IntMasterEnable();                                                  /*  使能总中断                  */  


    SysCtlPeripheralClockGating(true);                                         //置位ACG,开启自动时钟门控
    // Shutdown the USB PHY   
    HWREG(0x40050001) = 0x21;  
   SysCtlPeripheralDeepSleepEnable(SYSCTL_PERIPH_GPIOB);

   SysCtlDeepSleepClockSet(0x00000030);
   SysCtlDelay(500000);
   SysCtlDeepSleep();                                                                       //等待定时器溢出中断唤醒处理器

    while(1)
    {
         SysCtlDelay(50000);
    }
}

相关帖子

沙发
tl5324260| | 2011-12-27 13:03 | 只看该作者
等高手吧

使用特权

评论回复
板凳
TI_MCU| | 2011-12-27 15:06 | 只看该作者
SysCtlPeripheralPowerOff针对LM3S5T36不适用的,5T36中系统控制不含Power Control功能。也就是说这些外设的电源并没有关掉,楼主也可以好好检查下I/O外部电路是否有消耗过多电流

使用特权

评论回复
地板
爱之翼V| | 2011-12-27 18:30 | 只看该作者
功耗确实是个问题,等待高手

使用特权

评论回复
5
iEye|  楼主 | 2011-12-28 11:39 | 只看该作者
3# TI_MCU
板子上只焊了串口RS232电路, 我已经把RS232IC的电源引脚给切了,没有其他电路了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

23

帖子

1

粉丝