打印
[应用相关]

STM32L系列低功耗调试《实用篇》

[复制链接]
1480|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wakayi|  楼主 | 2019-6-13 14:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原文:https://blog.csdn.net/yunjie167/article/details/80939794

不知道大家有没有和我一样的经历,看官方数据手册,什么休眠2uA, 停机多少nA,这么换成自己调试的时候就是上百uA

    了,差的不是一个数量级,有木有这样的感受~

           最近在做一个NB项目,用到了如下外设: 外部唤醒引脚,串口,SPI,DMA,ADC,RTC,模拟IIC等外设,可以说是一个综合型项

    目了吧,    最后调试下来整机<10uA 待机功耗(实测 8.2uA, RTC 1s 唤醒一次,NB模块待机 2uA );


使用特权

评论回复
沙发
wakayi|  楼主 | 2019-6-13 14:18 | 只看该作者

硬件介绍:

        单片机是STM32L151R8T6-100pin 的,外接一个SPI 数据存储器,2 个IIC 的传感器,NB 串口模块;

        系统直接采用3.2V磷酸铁锂电池供电;

        SPI存储器和IIC传感器的电源直接用IO 口来控制使能;


使用特权

评论回复
板凳
wakayi|  楼主 | 2019-6-13 14:18 | 只看该作者
低功耗调试技巧:

        ① 开机时候除了PA13 和PA14 不要初始化外,其他IO 口全部初始化成无上拉模拟输入;

            IO 口作为输出的话,Speed 建议设置成400KHz(对于串口115200 来说,400K 是足够了),SPI 速度稍微快点

        ② 可以设置成2M的速度;

        ③ 串口的Rxd引脚设置成模拟输入(有无上下拉看实际效果);

            Txd引脚设置开漏无上下拉;

        ④ SPI的4个脚全部配置成开漏无上下拉,然后输出低电平;

        ⑤ 如果一些IO口配置成上拉输出,睡眠的时候必须要拉低,这个时候一定要将该IO配置成开漏无上下拉的;


使用特权

评论回复
地板
wakayi|  楼主 | 2019-6-13 14:19 | 只看该作者
⑥ 睡眠之前要关闭ADC ,串口和SPI 等外设;

            关闭外设三部曲:

                    a) 先将开启的中断全部关闭掉;

                    b) xxx_Cmd(xxx,DISABLE);

                    c) xxx_Deinit(xxx);

                    ps: 网上说最后还需要关闭外部IO 总线时钟, 其实这个真没有必要!

⑦ 唤醒后记得将睡眠之前配置的IO 和外设全部再重新初始化一遍喔~


使用特权

评论回复
5
wakayi|  楼主 | 2019-6-13 14:19 | 只看该作者
按照我的建议调试,发现休眠后功耗依然很大,请仔细看看你的外设电是不是没有断彻底,mos管或者三极管上还有漏电

        什么的,用的DC-DC功耗比较大等等;

        当所有的外设都关闭完之后,功耗依然不理想,请检查每个IO口配置是否合理;

        对于IO口检查的原则就是不能形成回路(通俗的说就是不能有压差);

        当IO口内部形成回路的时候,外部是测不出来的 :

            例如配置成上拉输入,睡眠时候输出低电平这样的情况就只能在代码里找问题了;


使用特权

评论回复
6
八层楼| | 2019-7-5 09:47 | 只看该作者
后续应该会用到

使用特权

评论回复
7
观海| | 2019-7-5 09:55 | 只看该作者
非常宝贵的经验

使用特权

评论回复
8
wakayi|  楼主 | 2019-7-5 11:31 | 只看该作者
观海 发表于 2019-7-5 09:55
非常宝贵的经验

非常感谢您的支持

使用特权

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

本版积分规则

84

主题

4083

帖子

1

粉丝