高级会员
- 积分
- 821
- 金钱
- 821
- 注册时间
- 2013-6-5
- 在线时间
- 141 小时
|
发表于 2017-3-21 10:49:14
|
显示全部楼层
给你个参考
停机状态(无唤醒)
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,显示均衡 |
|