你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F030低功耗问题,stop mode下电流好大。。。

[复制链接]
chaplin_0722 提问时间:2014-11-30 15:50 /
在做低功耗过程发现一个严重的问题,F030C8这块芯片在进入stop mode后电流居然在900uA左右。这与典型值相差甚远啊。测试用的是ST-Link供电,VDDA,只保留芯片工作,其他都拿掉了,工作在HSI。但是发现很奇怪的问题,拿掉外部晶振后电流
反而达到毫安级别,重新把外部晶振焊上就降下来了(SysInit根本没有选择外部晶振作为系统时钟)。
  1. NVIC_SystemLPConfig(NVIC_LP_SLEEPDEEP,ENABLE);
  2.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);
  3.        
  4.         PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);
复制代码
还有一个问题,关于NVIC_SystemLPConfig和RCC_APB1PeriphClockCmd的,加上这两个函数与不加上这两个函数的效果又是
不一样了。查了相关资料没有查到。
小弟低功耗这块之前没有搞过,但是问题摆在这,现在进行不了了。各位老师求指导...........

<
收藏 2 评论10 发布时间:2014-11-30 15:50

举报

10个回答
chaplin_0722 回答时间:2014-11-30 15:52:30
关于stop mode这一块有什么要注意的地方,还请各位大神指点。
巅峰残狼 回答时间:2014-12-1 12:56:33
使用内部时钟的话,确实会比使用外部时钟功耗要大
回答时间:2014-12-2 09:14:54
应该和晶振没关系,你不要在仿真状态进入休眠,在离线状态测试一下。JTAG口也可能会有漏电流。
hejian1 回答时间:2014-12-2 11:00:57
没有这么高,肯定是其他地方或是电路有问题。我用STM32F030R8T6实测,也就是官方八个discovery板,HSI,所有IO口设置下拉输入,停止模式31uA 。待机4.5uA.
hejian1 回答时间:2014-12-2 11:04:58
本帖最后由 hejian1 于 2014-12-2 11:08 编辑

复制代码
  1. void GPIO_Set()
  2. {
  3.    GPIO_InitTypeDef GPIO_InitStructure;
  4.          RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
  5.          RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
  6.          RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);
  7.          RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOD, ENABLE);
  8.          RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOF, ENABLE);
  9.         
  10.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
  11. //  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_3;
  12.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  13.   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  14.   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;//GPIO_PuPd_UP;  
  15.   GPIO_Init(GPIOA, &GPIO_InitStructure);
  16.         GPIO_Init(GPIOB, &GPIO_InitStructure);
  17.         GPIO_Init(GPIOC, &GPIO_InitStructure);
  18.         GPIO_Init(GPIOD, &GPIO_InitStructure);
  19.         GPIO_Init(GPIOF, &GPIO_InitStructure);
  20.         
  21. }
复制代码


hejian1 回答时间:2014-12-2 11:09:05
int main()
{
        GPIO_Set();
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);
//        PWR_EnterSTANDBYMode();
          PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);

        while(1)
        {

        }
        return 0;
}

好心情123 回答时间:2014-12-3 08:39:41
为什么内部振荡器会比外部晶振的功耗高呢,好奇怪
深圳小明 回答时间:2016-6-17 09:45:16
hejian1 发表于 2014-12-2 11:09
int main()
{
        GPIO_Set();

请问一下,这样一上电就进入STOP模式之后,怎样才能进行固件烧录?否则这个芯片就只能浪费了。
任风吹吹 回答时间:2016-6-17 10:37:23
深圳小明 发表于 2016-6-17 09:45
请问一下,这样一上电就进入STOP模式之后,怎样才能进行固件烧录?否则这个芯片就只能浪费了。 ...

12.png

看这图,就这么烧录的。

12下一页

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版