本帖最后由 wb_cool 于 2019-6-7 04:26 编辑

话不多说,直接开始测试
1.电源分析
如图,L4R5ZI的电压区域存在两种电源,VDD和VDD_MCU
电压.png
其中,电压来源,VDD由电源芯片而来,VDD_MCU其实可以由芯片而来也可以由VDD直连过来,如下图
vdd.png vdd_mcu.png
实际上看电路板,U10芯片是没有焊接的,SB122位置是个0欧姆电阻。
所以,其实单片机的电压就是VDD了,而官方的板子也确实在JP5位置预留了跳线帽,方便接入万用表测试电流(P=UI=3.3I)
但是注意,VDD_MCU部分电压也给其他地方供电了,如图
VDD_MCU_1.png
这个是个电平匹配芯片(大家有兴趣可以自己查阅使用方法,这里我只是觉得两边怎么都是3.3V,匹配的意义呢),它的功耗应该很低很低,暂时放着吧
以上就是本次的电源分析了

2.软件分析
本来想搞得低功耗唤醒的,随便试了下,我的代码只有stanby模式能正常RTC唤醒,真尴尬,以前做过L0系列的低功耗,两者低功耗接口区别还是蛮大的,于是楼主偷懒了,在官方库里找到了L4的低功耗代码
我自己其实使用的应该是最新的库,STM32Cube_FW_L4_V1.14.0,大概看了下,里面貌似没有参考代码
本次的测试代码我是在STM32Cube_FW_L4_V1.10.0找到的,真实路径\STM32Cube\Repository\STM32Cube_FW_L4_V1.10.0\Projects\STM32L4R5ZI-Nucleo\Examples\PWR\PWR_ModesSelection
如图
lujing.png
各种低功耗模式应有尽有,真是方便,其中PWR_ModesSelection包含所有的低功耗可供选择
2.1 代码展示
直接分析main里面的
1.png 2.png
配置信息+串口接收(选择要调试的模式)
随便选个模式的代码进去(stanby+rtc),如图
3.png
分析:步骤无非就是RTC配置,设置IO管脚模拟,使能PWR时钟,进入低功耗(测试代码不具有唤醒,唤醒事件需要额外处理,例如中断啥的)
关于,IO管脚模拟配置,这个可以进一步降低功耗,但是实际中可能会降低产品的抗干扰能力,反正我以前开发的低功耗也是IO管脚配置成模拟。
RTC系统低功耗下,内部的RTC其实不太精确,也可以用;如果考虑精确性,请使用外部RTC(32.768Khz)

3.测试
如图初始上电状态,如果没错的话,开机电流0.96mA(才发现淘宝套装的电流表垃圾啊,档位貌似不够,最小20mA档)
4.png
测试数据如下,单位mA:电流表可能有问题啊,打算淘宝一个稍微好的了
NR59IIG]Q@I7[C_U4G7G8~I.png
因为之前L0系列大概64管脚的芯片吧,stop/stanby模式下的电流应该是uA级的,这里0.02mA=20uA,有点点点高,可能管脚和配置内核不太一样搞得吧
反正,在低功耗产品中,一般都是电池供电,这款单片机最好是工作在stop模式下较好的,印象中stop模式略小于stanby模式吧(也有可能记错啦,请指正下啊)
3.stm32cube简单使用
详细就不说了,直接看附件代码吧
本来是想给大家呈现个各种传感器采集数据,通过NB模组上传数据,配合低功耗唤醒的高大尚代码的,还是因为懒。。。
楼主的代码是配置了freertos,串口用的全局中断(当然只是壳子,因为懒,后面有空再搞吧),代码里创了好几个任务(裸任务啦),随便搞了个点灯程序,和低功耗rtc唤醒(直接平移的L0系列代码,不知道有没有搞乱,目前可怜只有stanby可以直接使用,stop和sleep模式唤醒不了,还没检查内部代码)
(代码里其实预留了好多没搞,所以可能有点乱)
因为点灯是1s闪烁,正常工作电流大概4-7mA,stanby下也是0.02左右(有时显示0.01)
关于cube新手不懂的话要务必仿着配置,简单来说就是找不同,注意和大佬的细节一样就好了
忘了个事情,关于编译,本次必须选择flash如图,否则编译出错 V[L{Y5TMKWW``@V}JP50R9S.png Drivers.rar解压后直接放入L4_test,如图
d.png


L4_test.rar (11.55 MB, 下载次数: 0)
举报
内容系网友发布,其中涉及到安全隐患的内容系网友个人行为,不代表面包板社区观点
请点击举报理由
关闭 站长推荐上一条 /3 下一条
  • 返回顶部