一款高性能的低功耗芯片STM32 L4

1.引言
stm32 l4 系列作为一款高性能的低功耗芯片,具有强大的运算处理性能和极低的运行和待机功耗,广泛应用于各种需要节能设备上。
2. 问题描述
客户使用 stm32l431 作为主控项目开发电子烟产品,使用了 st 的 hal 软件库开发。各种驱动功能正常。空闲时进入待机状态。在研发阶段测试时一切正常,但是批量生产时发现产品无法进入低功耗或者说表现为耗电过大。
3. 问题分析与定位
首先查找软件设计本身,包括各种外设的配置以及进入低功耗前的各种处理,并未发现任何异常,随即简化软件在评估板上烧录代码,然后连接电流表,功耗一切正常。经过多次验证,每次都能进入低功耗。
这样看起来就非常奇怪了,客户的硬件也没什么特殊地方。后来再次检查客户的整个流程发现,客户的烧录和测试是一直带电的,因为是电子烟产品,上面的电池是一直连接的。设计调查实验发现,客户的产品只要经过一次断电过程,再次上电就全部正常。而我们平时因测试低功耗电流需求,通常都是去掉烧录器的连接,避免额外电流消耗,所以都经过了断电过程,没有发现任何异常。而这种带有电池的产品,才会有机会发现。基于生产效率和产品终身带电池的特殊性,进行断电工序很难,不利于大规模生产。
那么问题来了,究竟是什么原因引起烧录完不能正常进入低功耗模式呢?带着问题进行查找原因。外设的查找比较容易,都是标准的并且简化掉了很多外设,那么会不会是传统外设之外的因素呢?
按照这个方向查找,想到了调试模块。
进一步查看发现烧录器将 dbg_stop 位置 1。如上图。
如手册所描述,如果该位被置位的话,那么在低功耗下时钟并没有关闭,并且可以继续执行代码,所以芯片不能进入低功耗模式。于是对应的解决办法也出来了,进入低功耗前增加语句清除代码即可。
4. 问题解决
找到了线索后,针对问题解决起来就不复杂了,简单说,打一个补丁。
从调试界面上看,增加一句清除该位的函数即可禁止在低功耗模式下的调试功能,进而解决该问题。实际测量不需要断电也可正常进入期望的低功耗模式。
小结
由于低功耗调试位被置 1,引起超低功耗芯片 stm32l431 在不断电情况下不能正常进入低功耗模式,引起电流偏大。由于该产品特殊,从生产一直到用户手中,产品始终与电池连接(固定),才有可能导致此类问题发生,需要早研发阶段软件增加补丁的方式解决,使产品生产不用增加工序。
另外,笔者使用的 stm32 st-link utility 工具会引起该问题,而另一款常用的烧录软件 stm32cubeprogrammer v2.7.0 并未发现此问题,因此与用户采用的烧录软件有直接关系。市面上支持 stm32 低功耗产品烧录软件很多,如遇到此类问题,可以参考以上方式查找原因是否一致。


英众科技各场景化智慧PC解决方案收获众多合作意向和客户订单
三大技巧教你采用物联网的数据流技术
中国移动正式发布了2019年普通光缆产品集中采购中标结果
中芯国际周三宣布人事调整 传大唐电信将增资
“物”兴云涌,“智”造升级!AIoT如何打造智联工厂新时代?
一款高性能的低功耗芯片STM32 L4
让普通人化身“钢铁侠”!外骨骼机器人能否撬动千亿级工业场景?
联发科与海思双双抢攻,IC企业竞争局势或将改变
苹果AR再升级,推专属AR开发者工具
电容式触摸屏的控制器电路设计
最受欢迎的新型传感器之一:单芯片雷达片上系统
全新ColorOS 7新增功能,将于11月20日举行发布会
视美泰M6A拥抱Android绿色机器人 应用无限大!
一文解析ptn与sdh的区别
几种常用的低压电器类型 常用的控制电路图有哪些
两台三相异步电动机交替工作控制电路接线图
代码质量:需求可追溯性同样重要
FDMA1024NZ 有效延长电池寿命的MicroFET M
华为荣耀Note9什么时候上市?荣耀Note9最新消息:荣耀V9、荣耀9开胃菜,荣耀Note9放大招?
余承东发话:华为P10双版本春季发布,麒麟965+莱卡双摄