打印
[STM32F0]

STM32F030停机模式功耗与手册不符

[复制链接]
1772|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
donsbin|  楼主 | 2017-4-17 18:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
想用030C4的片子做低功耗的产品,发现电源在3.3V的时候电流消耗60uA
然后把电源电压调整到2.8V,电流变成了5uA。最小系统板,外围没接任何东西
static void Goip_Init(void)
{
    GPIO_InitTypeDef        GPIO_InitStructure;

    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA|RCC_AHBPeriph_GPIOB|RCC_AHBPeriph_GPIOC, ENABLE);
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
    GPIO_Init(GPIOA, &GPIO_InitStructure);  
    GPIO_Init(GPIOB, &GPIO_InitStructure);  
    GPIO_Init(GPIOC, &GPIO_InitStructure);   
}

int main(void)
{
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);
        Goip_Init();
    PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);
        while(1);
}
看了下数据手册,电流偏大这么多。简直了

沙发
xmshao| | 2017-4-17 22:43 | 只看该作者
ST数据手册的参数相对都是比较保守的,实测是可以达到的数据。
测试过的人都知道这点。

你注意不用的管脚处理下,让其电平固定,不要浮空。
另外你目标板测试时接好,不要出现蜘蛛网似的连线局面。

使用特权

评论回复
板凳
zhuomuniao110| | 2017-4-17 22:57 | 只看该作者
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
这个原因吧,设置为输入试试。

使用特权

评论回复
地板
zhuomuniao110| | 2017-4-17 22:58 | 只看该作者
//定义IO初始化结构体  
GPIO_InitTypeDef GPIO_InitStructure;  
      
//设置zigbee模块进入低功耗模式  
inf_zigbee_sleep();  
      
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |   
                       RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD ,ENABLE);  
      
//管脚初始化   
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;  
//选择GPIO响应速度  
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;      
//设置为输出            
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;   
//初始化                 
GPIO_Init(GPIOA, &GPIO_InitStructure);   
GPIO_Init(GPIOB, &GPIO_InitStructure);   
GPIO_Init(GPIOC, &GPIO_InitStructure);   
GPIO_Init(GPIOD, &GPIO_InitStructure);   
      
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |   
                           RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD ,DISABLE);  
      
ADC_Cmd(ADC1,DISABLE);  
//进入低功耗模式  
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);

使用特权

评论回复
5
zhuomuniao110| | 2017-4-17 22:59 | 只看该作者
上面是网上找的,参考参考,没用过不太懂。

使用特权

评论回复
6
donsbin|  楼主 | 2017-4-18 14:50 | 只看该作者
本帖最后由 donsbin 于 2017-4-18 14:57 编辑


根据手册,把电压调到3.6V,电流消耗25uA。 个人对上图理解 I = IDDA + IDD (数字与模拟)
调了几个固定的电压值,测量了下电流消耗

        

使用特权

评论回复
7
东方教主| | 2017-4-18 22:57 | 只看该作者
3.3V的激励电压,整个系统功耗小于10uA。我用的而是030c8的片子。我用的外部时钟

使用特权

评论回复
8
donsbin|  楼主 | 2017-4-20 16:07 | 只看该作者
问题已经找到。
关闭LSI HSE时钟,并屏蔽所有引脚。ABCDEF,目前整个系统功耗在3uA

使用特权

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

本版积分规则

个人签名:思亘七险,点落九宫,神游八极,纵横十方。

20

主题

96

帖子

2

粉丝