打印
[STM32F1]

STM32F103C8T6低功耗待机模式工作电流为10ma问题

[复制链接]
19913|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xialei8513|  楼主 | 2014-1-16 16:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
进入待机模式主要程序如下:
void Sys_Standby(void)
{   
      RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);  //使能 PWR 外设时钟
      PWR_WakeUpPinCmd(ENABLE);                 //使能唤醒管脚功能
      PWR_EnterSTANDBYMode();                 //进入待命(STANDBY)模式   
}
void Sys_Enter_Standby(void)
{  
      Befor_goto_Standby();
      RCC_APB2PeriphResetCmd(0X01FC,DISABLE);  //复位所有 IO 口
      Sys_Standby();
}
void Befor_goto_Standby(void)
{
       GPIO_InitTypeDef GPIO_InitStructure;

       GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
       GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
        
       GPIO_Init(GPIOB, &GPIO_InitStructure);
       GPIO_Init(GPIOC, &GPIO_InitStructure);

       RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB|RCC_APB2Periph_USART1|
                              RCC_APB2Periph_SPI1|RCC_APB2Periph_ADC1|RCC_APB2Periph_ADC2,
                              DISABLE);
       RCC_APB1PeriphClockCmd( RCC_APB1Periph_SPI2|RCC_APB1Periph_TIM2|RCC_APB1Periph_USART3,
                              DISABLE);
}
主函数中我已经将MCU未使用的管脚设置为模拟输入(或者浮空)
未关闭A口,由于我使用wakeup上升沿唤醒MCU。
MCU进入待机模式工作电流为10ma,我还需要关闭什么东西吗?各位大侠请指教
沙发
airwill| | 2014-1-16 16:49 | 只看该作者
呵呵, 这也太大了一些.
看看有 IO 口有在漏电流出去吗?
其他外部电路也在耗电吗?

使用特权

评论回复
板凳
dirtwillfly| | 2014-1-16 22:20 | 只看该作者
我猜有很多外围电路在耗电

使用特权

评论回复
地板
xialei8513|  楼主 | 2014-1-17 09:44 | 只看该作者
dirtwillfly 发表于 2014-1-16 22:20
我猜有很多外围电路在耗电

可是我重新搭建了一个SMT32F103C8T6最小系统。运行模式20ma,按照我的“操作”进入低功耗模式,功耗10ma!是不是板子没有进入真正的待机模式

使用特权

评论回复
5
airwill| | 2014-1-17 12:36 | 只看该作者
是不是板子没有进入真正的待机模式?

也很有可能, 测量一下晶振还有波形吗? 待机下晶振应该停止的

使用特权

评论回复
6
xialei8513|  楼主 | 2014-1-17 15:00 | 只看该作者
airwill 发表于 2014-1-17 12:36
是不是板子没有进入真正的待机模式?

也很有可能, 测量一下晶振还有波形吗? 待机下晶振应该停止的 ...

我用万用表测量晶振两管脚电压(一端接地一端接晶振任意端):工作模式电压都为2.5v;待机电压几乎为0

使用特权

评论回复
7
xialei8513|  楼主 | 2014-1-17 17:49 | 只看该作者
dirtwillfly 发表于 2014-1-16 22:20
我猜有很多外围电路在耗电

问题已经解决,感谢版主的意见,总结如下:
第一确保测量待机功耗时设备没有连接JTAG仿真器,JTAG仿真器会影响测量数据的真实性
第二焊接一块MCU最小系统测量。72M全速运行模式功耗3.3V*35mA;待机模式功耗:3.3V*2.5uA。没错就是uA级的功耗。
我原来的测试结果为10ma就是由于MCU外围芯片功耗引入的。

使用特权

评论回复
8
piginsky| | 2015-1-4 20:16 | 只看该作者
大神们  停机模式下 输出IO状态会维持么?

使用特权

评论回复
9
xialei8513|  楼主 | 2015-1-19 17:55 | 只看该作者
piginsky 发表于 2015-1-4 20:16
大神们  停机模式下 输出IO状态会维持么?

还真没测试过啊 ....

使用特权

评论回复
10
index219| | 2015-3-28 23:52 | 只看该作者
piginsky 发表于 2015-1-4 20:16
大神们  停机模式下 输出IO状态会维持么?

实际测试,停止模式下,IO口状态取决于你进入停止模式前是否关闭对应时钟,若没有,IO口状态会保持。

使用特权

评论回复
11
quray1985| | 2015-3-29 09:26 | 只看该作者
待机情况就有10ma,感觉有点大啊

使用特权

评论回复
12
搞IT的| | 2015-3-29 10:35 | 只看该作者
这个``耗电貌似很厉害啊。。。

使用特权

评论回复
13
cowboy2014| | 2015-3-30 17:06 | 只看该作者
这10ma确实大了点,不知道你是怎么测试的

使用特权

评论回复
14
xialei8513|  楼主 | 2015-4-1 10:26 | 只看该作者
cowboy2014 发表于 2015-3-30 17:06
这10ma确实大了点,不知道你是怎么测试的

是我自己测试时错误的连接仿真器的原因;

使用特权

评论回复
15
龙溪傲| | 2015-12-18 13:49 | 只看该作者
学习ing

使用特权

评论回复
16
hao_north| | 2016-3-22 14:51 | 只看该作者
你好,我用到待机模式,用RTC闹钟唤醒,但是唤醒后程序卡在一个地方,你能给我参考下你的程序配置么

使用特权

评论回复
17
752003446| | 2017-4-8 13:58 | 只看该作者
楼主请教一下你用什么方法测试功耗啊?

使用特权

评论回复
18
20124817| | 2017-6-13 19:21 | 只看该作者
我也出现了这个问题,我的是stm32L系列的,我的在STOP模式下都有6mA,我感觉和楼主情况一样,明天弄个最小系统板试一下,现在用的是核心板测试。

使用特权

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

本版积分规则

5

主题

98

帖子

0

粉丝