[STM32U5] 实战经验 | STM32U5的LPTIM3在STOP2模式下无法唤醒问题解析

[复制链接]
1732|9
 楼主| STM新闻官 发表于 2024-7-31 09:44 | 显示全部楼层 |阅读模式
本帖最后由 STM新闻官 于 2024-7-31 10:03 编辑

01背景
客户在 STM32U575 的研发过程中发现了一个奇怪的问题,无法通过 LPTIM3 将 MCU 从 STOP2 模式唤醒。

0
2
问题分析

2.1. 查找芯片的资料
2.1.1. 查找芯片参考手册 找到芯片的参考手册 RM0456,查看 LPTIM3 是否可以将 MCU 从 STOP2 唤醒。如下图。
6426266a9973281d1d.png
图1. STM32U575/585 LPTIM 特性

从图中可以看到除了 LPTIM2 不能将 MCU 从 STOP2 唤醒,其余 LPTIM1/3/4 均可将 MCU 从 STOP2 唤醒。由此看来,客户提到的问题有可能是客户的设计问题。


2.1.2. 硬件检查
对照 AN5373 ( Getting started with STM32U5 MCU hardware development ) 检查客户的原理图和 PCB 设计并未发现问题。


2.1.3. 软件检查
在与客户交流中了解到,他们的代码是从其他项目中移植过来的,在之前的项目中已经批量生产了几年了。客户怀疑是芯片的 BUG。

查找芯片的勘误手册 ES0499 ( STM32U575xx and STM32U585xx device errata ), 并未找到相关的信息。

03复现客户的问题

3.1. 软件配置如下图
3.1.1. LPTIM3 配置如下
2869566a998a3718ba.png


启动 LPTIM3 :
5289666a998b4c0d53.png

在主循环中重复进入 STOP2 模式,由 LPTIM3 周期唤醒,这里需要注意一点的是在进入之前需 要先把滴答定时器关掉,否则有可能无法进入 STOP2模式。

3511566a998c1bda3d.png



3.1.2. 配置电源模式输出引脚
为了方便低功耗调试,STM32U5 提供了电源模式输出 pin 脚用于指示 MCU 所处的低功耗模式,具体引脚分别是 PA5/PA6/PA7
6268366a998e66e412.png

7142166a998ec5d9c4.png

▲ 图2. 电源模式输出状态

3.2. 测试
3.2.1. 波形图
9136766a999373d940.png
▲ 图3. 测试波形图
从图中看出 CSLEEP,CDSTOP,SRDSTOP 一直为高也就是 1,1,1 参照图 2 状态信息,可以看出 MCU 一直处于 STOP2 模式,无法通过 LPTIM3 唤醒,也就复现了客户所描述的问题。


查看参考手册 RM0456 REV2 的 50.4.20 Autonomous mode 小节的内容。当 LPTIM 使用振荡器提供的时钟时(参见 RCC),LPTIM 可以在自主模式下运行,能够在 停止模式下保持完全功能,其中 APB 时钟已停止。

查看 RCC 章节 11.4.20 Peripherals clock gating and autonomous mode 找到了更多的信息 。
7663966a99955b7ce0.png
▲ 图4. Autonomous 外设
看到下面的注意事项,对于 Autonomous 外设,若不能通过 EXTI 且想在 Stop 模式具有产生中断的能力需要将 AMEN 设置为 1。这就找到了问题的所在。也就是说在开发中 如果不注意这一点,对于其它的 SRD 域的外设也有可能无法将 MCU 从 STOP2 唤醒。
1006066a99964e5d65.png
▲ 图5. Autonomous 外设使用注意事项
继续追查,查找相应的寄存器。对于 LPTIM3 我们可以看到,其中 LPTIM3EN,LPTIM3SMEN,LPTIM3AMEN 均需要设置为 1:
9633166a9996f00c72.png
▲ 图6. LPTIM3 外设寄存器描述


在启动 LPTIM3 之前使能 Autonomous mode,添加如下代码
532666a9998a9d52b.png


再次测试,波形如下图所示:
9091166a9999fca929.png
▲ 图7. 添加代码后测试波形图

波形正确,正是我们的设置,循环进入 STOP2 模式。

0
4
小结
MCU 变得越来越复杂,外设功能丰富度不断提高,同一个外设在不同型号的 MCU 上可能大致相同,可能会有一些细节不是太一样。这就要求我们不断的刷新自己的认知,不能困在自己的固有思维中。
▼▼▼



 楼主| STM新闻官 发表于 2024-7-31 10:19 | 显示全部楼层
呐咯密密 发表于 2024-7-31 11:00 | 显示全部楼层
问题剖析的很细致,很重要的资源分享
shenxiaolin 发表于 2024-7-31 11:33 | 显示全部楼层
问题剖析的很细致,很重要的资源分享
tpgf 发表于 2024-8-9 13:03 | 显示全部楼层
都有哪些外设可以讲芯片从stop2的模式中唤醒呢
keaibukelian 发表于 2024-8-9 20:01 | 显示全部楼层
如果是两头的模式出现这个问题还比较好查一点 这个模式处在中间状态 实在不容易啊
heimaojingzhang 发表于 2024-8-9 20:09 | 显示全部楼层
之所以说奇怪 肯定是因为之前开发其他型号芯片的时候是没有问题的
八层楼 发表于 2024-8-11 14:32 | 显示全部楼层
就是说进入低功耗模式是不能强行关闭相关时钟的是吗
观海 发表于 2024-8-14 08:32 | 显示全部楼层
如果进入相应的低功耗模式的话 理论上应该关闭的外设如果不关闭的话 会导致工作异常吗
guanjiaer 发表于 2024-8-14 08:32 | 显示全部楼层
会根据型号不同而有完全不同的设置吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:意法半导体(中国)投资有限公司
简介:您的嵌入式应用将得益于意法半导体领先的产品架构、技术、多源产地和全方位支持。意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。

1398

主题

1716

帖子

25

粉丝
快速回复 在线客服 返回列表 返回顶部