打印
[STM8]

关于STM8L低功耗设计测试分享

[复制链接]
44336|95
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liuguobing|  楼主 | 2014-1-6 20:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 liuguobing 于 2014-3-15 13:20 编辑

很多年没有发过贴了,最近在使用 stm8l152 做一款遥控器产品,刚用这个,还不太熟,发现stm8l的资料也比较少,官方中文资料几乎没有。所以花了点时间,把功耗部分测试了一下,在此分享。如有问题,可跟帖讨论。至于与MSP430的比较,发现自动唤醒功耗比MSP430(G2553)更大。在测试时,感觉STM8L更不省心,也可能是还不太熟加上资料有限吧,不过做完所有的功耗测试,基本都达到官方指标。

停机状态(无唤醒)
        1. PCB仅焊接MCU,电源3.3V,复位电容(10nF)和一个退偶电容(0.1uF), 程序中将所有GPIO确定输出低电平,主函数中直接halt(),电流约 1.730uA
        2. 在1的基础上,增加一条语句,PWR_UltraLowPowerCmd(ENABLE),或者 PWR->CSR2 = 0x2,再执行halt,电流下降至最低,0.400uA,达到官方指标
        3. 在实际产品上的测试(电路上增加了LCD,LSE晶振等),GPIO确定电平,超低功耗开启,停机状态 halt(),电流约 0.38uA
        4. 在3的基础上,开启RTC日历,电流约 1.3uA
        5. 初始化并开启LCD(未显示),最低电流约 2.25uA (LCD显示参数: 死区时间 7, 持续周期 0, HD=0,LCD外部电源)
        6. LCD正常工作,电流约 5.95uA (LCD显示参数: 死去时间 3, 持续周期 5, HD=0,LCD外部电源),显示效果均衡,LCD电流与LCD玻璃相关
        7. 在6的基础上,HD=1 电流约 18uA

低功耗运行状态      
        1. 将主时钟切换为 LSI,所有GPIO确定电平,开超低功耗,关RTC、LCD、LSE等,主函数执行 while(1), 电流约 95uA
        2. 在1的基础上,关电压调节器(默认开启),电流约 3.75uA;  达到标称电流值。
        3. 在2的基础上,将主时钟切换为 LSE,电流约为 4.32uA
        4. 在3的基础上,开启RTC,电流约为 4.59uA
        5. 在4的基础上,开启LCD(不显示),电流约为 8.8uA,LCD显示,电流约为 9.25uA

正常工作状态
        1. PCB仅焊接MCU,电源3.3V,复位电容(10nF)和一个退偶电容(0.1uF),程序中将所有GPIO确定输出低电平
        2. 在1的基础上,主函数直接执行 while(1),功耗在 930~950uA 波动 (默认2MHz)
        3. 在2的基础上,while(1) 中加入5个 nop(),功耗降低 200uA(即在730~750uA波动)
        4. 在3的基础上,将时钟配置位16MHz,功耗约为 3.7mA
        5. 在4的基础上,在while(1)中加入 wfi()/wfe(),功耗约为 720uA
        6. 在5的基础上,将时钟配置位1MHz,功耗约为 325uA

说明: 对于 stm8l 这类低功耗芯片,多数时候应该工作在停止或者等待状态,全速运行功耗意义不大,以下两个实际工作模拟
        1. 在一般定时显示程序中(主函数中延时500ms刷新显示),16MHz时钟,延时函数使用wfe功耗约1mA, 使用while(flag)功耗约4.5mA
        2. 在实际低功耗项目中,RTC和LCD一直工作,CPU脉冲工作,RTC约500ms唤醒一次,刷新显示,其电池寿命主要取决于LCD显示效果,正常一般可做到6uA,显示均衡
        3. 以上测试所用的LCD均为4*34段,如果更小的LCD,可能功耗更小




沙发
liuguobing|  楼主 | 2014-1-7 08:47 | 只看该作者
自顶一下,也寻求帮助

使用特权

评论回复
板凳
qwert1213131| | 2014-1-7 09:16 | 只看该作者
应该是时间的问题吧

使用特权

评论回复
评论
liuguobing 2014-1-10 14:18 回复TA
就给你吧 
地板
liuguobing|  楼主 | 2014-1-7 12:58 | 只看该作者
qwert1213131 发表于 2014-1-7 09:16
应该是时间的问题吧

不知道您说的是哪个时间的问题? 可否具体点,谢谢1

使用特权

评论回复
5
liuguobing|  楼主 | 2014-1-7 14:40 | 只看该作者
问题已解决,结贴了

使用特权

评论回复
6
qwert1213131| | 2014-1-10 21:21 | 只看该作者
liuguobing 发表于 2014-1-7 14:40
问题已解决,结贴了

恭喜你解决了,

使用特权

评论回复
7
ZRJ8951| | 2014-1-14 14:46 | 只看该作者
STM8L152低功耗讲的很详细。顶一下!

使用特权

评论回复
8
tianli1980| | 2014-1-14 19:16 | 只看该作者
想玩STM8L,就是中文资料太少,不如STM32F103.

使用特权

评论回复
9
nienianhong| | 2014-2-7 16:55 | 只看该作者
贴主很牛

使用特权

评论回复
10
samniuniu| | 2014-2-14 09:57 | 只看该作者
楼主,我现在也在做stm8l的低功耗测试,想请教一下,在Active_Halt模式下,怎么才能实现LCD和RTC正常工作,电流是多大,可否给个例程参考一下,谢谢~

使用特权

评论回复
11
jxmzzr| | 2014-2-14 21:42 | 只看该作者
低功耗是未来发展的趋势,各个半导体厂商都在这场竞争中使出浑身解数呢。

使用特权

评论回复
12
FAQ| | 2014-2-19 15:52 | 只看该作者
楼主你用的什么测试设备测试的。有型号么。我是说电流表。

使用特权

评论回复
13
FAQ| | 2014-2-19 19:17 | 只看该作者
此贴可以置顶了

使用特权

评论回复
14
xiaox314| | 2014-2-27 14:30 | 只看该作者

使用特权

评论回复
15
liuguobing|  楼主 | 2014-3-14 15:07 | 只看该作者
FAQ 发表于 2014-2-19 15:52
楼主你用的什么测试设备测试的。有型号么。我是说电流表。

FLUK 8808A 台式万用表,精度没问题:)

使用特权

评论回复
16
liuguobing|  楼主 | 2014-3-14 15:12 | 只看该作者
samniuniu 发表于 2014-2-14 09:57
楼主,我现在也在做stm8l的低功耗测试,想请教一下,在Active_Halt模式下,怎么才能实现LCD和RTC正常工作, ...

开启LCD,RTC,执行halt(),进入的就是 Active_Halt模式,具体配置,参照帖子上面的介绍即可,我做的项目是约 6uA,有 LCD, RTC。 具体程序你可以参考官方例程。

使用特权

评论回复
17
liuguobing|  楼主 | 2014-3-14 15:16 | 只看该作者
tianli1980 发表于 2014-1-14 19:16
想玩STM8L,就是中文资料太少,不如STM32F103.

是的,我几乎没有找到stm8l的官方中文资料,只有慢慢啃E文,如果不是要求低功耗,stm8s资料是比较多的,当然,stm32也很好用。

使用特权

评论回复
18
liuguobing|  楼主 | 2014-3-14 15:23 | 只看该作者
qwert1213131 发表于 2014-1-10 21:21
恭喜你解决了,

项目去年已开发完毕,上次结贴忘了附上结果,在初始化部分加上下面这句问题解决,供参考。
CLK_HaltConfig(CLK_Halt_FastWakeup, ENABLE);        // 时钟低功耗快速唤醒,如不使能,唤醒后马上操作LCD将出BUG,需延时25us

使用特权

评论回复
19
FAQ| | 2014-3-14 16:04 | 只看该作者
liuguobing 发表于 2014-3-14 15:07
FLUK 8808A 台式万用表,精度没问题

受益匪浅,多谢

使用特权

评论回复
20
FAQ| | 2014-3-14 16:09 | 只看该作者
楼主能否说下你的供电方案,我用STM8L+LCD+无线收发。遥控器是双向的,需要不断的接收被控机发来的数据。想用3V纽扣电池供电。感觉有点困难。

使用特权

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

本版积分规则

14

主题

86

帖子

4

粉丝