wu1169668869 发表于 2015-11-22 22:07:25

【NUCLEO-L476RG开发】+ 低功耗测试(雾)交作业!!!

本帖最后由 wu1169668869 于 2015-11-23 09:12 编辑

首先还是要感谢社区以及ST给了我这个机会免费试用到这么新的板子!
然而玩玩拿到板子不知道具体要怎么玩,
比如这个低功耗,简单的玩一玩肯定深入不了,何况何况最近作业还那么多:'(

所以从12号沐紫大大发邮件提醒,到今天拖了整整10天,,眼看着就要月底了,还是说正事吧。


低功耗测试,那怎么个测试法呢。。。
感觉多少要有个对照实验什么的,
呃...
当然都这么觉得了,事实上并没有;P(后续可能会有orz)

要测试,先找个顺手的仪器
发现实验室有个 N6705B 据说可以做功耗测试但是周末没人在,自己琢磨了一会
找到一个挺有意义的文档

是拿这个仪器测量某只能手表的功耗的,包括蓝牙连接前后,屏幕显示前后以及各种功能开关后的功耗变化
然而手头拿到的只是一个裸板,加外设,如6050,蓝牙等常见外设,功耗都会变得很大(因为平时使用没研究过休眠啊喂
然后这个仪器还有多个通道,用来供电测试整体功耗不错,但是精度最高的那一档不知道什么毛病数不出电压。。。。
也就作罢
更新:
昨晚乱七八糟写了一堆,总结一下做了些什么吧
1. 改了个跳线
试验中默认使用的串口2,或者说PA2 PA3实际上没有连接到外部的STMicroelectronics Morpho connector 或者 Arduino connector
(所以刚开始试了好久都收到打印数据...)
查了下手册,文档中也有说明怎样修改


2. 供电选择
因为板子裁掉了,所以只能使用E5V VIN 或者3V3进行供电
文档 UM1724 同样有说明
5.3 Power supply and power selection
就不截图了
5V连接到E5V,然后改下JP5上的跳线就OK了

3. 低功耗测试
如下文吧
(没做统计表格有点不太直观

能想到的一些问题:
1. 功耗的话,不只和电流大小有关系,还要考虑电压
下面的测试用的usb的5V作为E5V供电,经过3V3LDO后给单片机供电
理论上电压是3V3,实际会有一定偏差
忘了测了。。

2.关于低功耗的测试
虽然说L4的功耗能做到很低
但是外设的功耗也是很客观的,比如一个蓝牙在正常工作下需要20~40mA的电流
所以要怎么评估这个事情呢,
感觉还是要MCU来控制休眠,会多很多控制吧
然后再测试整体功耗?


wu1169668869 发表于 2015-11-22 22:07:43

本帖最后由 wu1169668869 于 2015-11-23 09:16 编辑

忘了说测试什么了
刚好刷论坛看到 @数码小叶 同学的测试帖
那就找个万用表测下不同工作模式下的功耗吧(实际上用的某源表的电流表功能)

忘了先把图放上来了
在用一楼那个神奇的仪器时不小心把ST-LINK烧点了
所以这成了我唯一一块裁掉的nucleo:'(


先烧了一个led


连接等待测试,蓝色usb是自己做的jlink v7的固件好像…有点久了但是还是能用
串口连接到uart2(注意要使用这个串口需要改跳线,详见UM1724STM32 Nucleo-64 boards User manual ->5.7 USART communication)
我这边是短路了SB62 SB63,ST-link上的连接我这边已经断开了。。。



然后是程序
用的官方cube包里的例程
stm32cubel4\Projects\STM32L476RG-Nucleo\Examples\PWR\PWR_ModesSelection
这个例程通过选择不同的低功耗模式,先给出一个直观的概念吧
实际有多低,还是测试一下。
(不知道官方有没有给测试输出?)

peter001 发表于 2015-11-22 22:22:14

:lol支持一下

wu1169668869 发表于 2015-11-22 22:39:57

本帖最后由 wu1169668869 于 2015-11-22 23:00 编辑

接着就是自己的测试了
直接上图好了

这里直接把代码里的东西拷上来了(改了点东西)。。
(串口每次选择一个模式,就会返回当前工作模式,但是我用的截图,发现截图一个个弄上来太难了。。
所以...大家将就着看吧:L)

printf("      0       (SHUTDOWN) \r\n");


printf("      1       (STANDBY) \r\n");


printf("      2       (STANDBY + RTC) \r\n");



printf("      3       (STANDBY + RTC + SRAM2) \r\n");



printf("      4       (STOP2) \r\n");



printf("      5       (STOP2   + RTC) \r\n");



printf("      6       (STOP1   + MR OFF) \r\n");



printf("      7       (STOP1   + MR OFF + RTC) \r\n");



printf("      8       (LPSLEEP 2MHz         - FLASH OFF) \r\n");



printf("      9       (LPRUN   2MHz         - with FLASH ART ON) \r\n");



printf("   10       (SLEEP Range 2, 24MHz - with FLASH ART ON) \r\n");



最后三种模式不知道为什么我一发模式选择,会提示在该模式运行,但是马上就复位跳会到选择项
也就不能进行测试,也没对程序进行修改,不知道是不是因为板子裁掉的原因(而且还焊接了外部晶振)
这个有待继续研究(更新:2015/11/22 22:59 单独运行没有发现问题,难道是仪器的问题?)
printf("   11       (SLEEP Range 1, 80MHz - with FLASH ART ON) \r\n");
printf("   12       (RUN   Range 2, 24MHz - with FLASH ART ON) \r\n");
printf("   13       (RUN   Range 1, 80MHz - with FLASH ART ON) \r\n");


昨天整了一个晚上
今天一整天,就为了测试这么简答的一点东西
当然仪器不会用也是很大的一个问题

说起来最早还没拿到板子的时候,看到cubemx里面时钟配置页密密麻麻的选项,就感觉到这个片子会很难搞
实际应用中一定存在着更多的问题,希望大家多多分享~

完。


wu1169668869 发表于 2015-11-22 22:46:51

说明一下
上面的数据感觉比较有参考价值的数据是下面的小字部分
包括了
最大最小均值、(标准差?那个standard dev?)

飞狼老大 发表于 2015-11-23 00:08:13

:lol不错!这样确定行吗?

Paderboy 发表于 2015-11-23 07:32:10

多谢分享。。。


wu1169668869 发表于 2015-11-23 09:19:16

飞狼老大 发表于 2015-11-23 00:08
不错!这样确定行吗?

确定什么行吗:o

wu1169668869 发表于 2015-11-23 09:19:41

Paderboy 发表于 2015-11-23 07:32
多谢分享。。。

发这么水的帖子真是不好意思;P

wu1169668869 发表于 2015-11-23 09:20:12

peter001 发表于 2015-11-22 22:22
支持一下

多谢支持,,,
#但是我还没发完啊
页: [1] 2
查看完整版本: 【NUCLEO-L476RG开发】+ 低功耗测试(雾)交作业!!!