你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32U5 LPBAM模式介绍

[复制链接]
STMCU小助手 发布时间:2022-5-7 11:56
1、前言
LPBAM 全称为 low-power background autonomous mode,系统时钟可以在进入低功耗模式之后打开或关闭,可以触发 DMA 请求,可以在 stop0,stop1,stop2 模式下使用。在 stop 模式下除了 LSI 和 LSE 以外其他时钟都会关闭,但 MSIK 和 HSI16 可以被临时使能,以支持 DMA 传输,这就是 LPBAM 的特点。

另外,LPBAM 需要 DMA 来进行配合,U5 系列的 DMA 有 Linked List 功能,也就是说DMA 可以完成链表设计好的任务。在初始化的时候,以链表模式设置好 DMA 相关寄存器,可以通过链表模式完成内存到内存,或者内存和外设寄存器之间的数据传输。

由于 LBAM 的特性,在进行低功耗应用设计时,可以使用 LPBAM 大大减少功耗,提升产品的低功耗性能。比如,可以在 stop2 模式下进行串口收发,ADC 采集任务等等。

本文将介绍如何使用 CubeMX,配置 DMA Linked List,在低功耗模式下,使用LPBAM 进行 GPIO Toggle。


2. 准备工作
2.1 环境准备

测试硬件:B-U585I-IOT02A 开发板
测试开发环境:IAR 8.50.1
CubeMX 版本:6.30.0
640 (22).png

2.2 设计思路

如图所示,我们先在内存中定义好需要写入 GPIO 寄存器的数值,其中 Set GPIO 就将数据写入 BSRR 寄存器,Reset GPIO 就将数据写入 BRR 寄存器。LPDMA 设置两个节点,一个去 Set GPIO,另一个 Reset GPIO,然后由软件触发,由 LPTIM1 CH1 的上升沿触发 LPDMA 第一个节点进行动作,LPTIM1 CH1 的下降沿触发 LPDMA 第二个节点进行动作。

LPTIM1 设置使用 LSI 32KHz 为时钟,频率为 32KHz,占空比为 50%的 PWM 波输出,也就是说 GPIO 会以 500ms 的频率进行 toggle。
640 (21).png

3.Step By Step

640 (20).png

640 (19).png

640 (18).png

640 (17).png

640 (16).png

640 (15).png

640 (14).png

640 (13).png

640 (12).png

640 (11).png

640 (10).png

640 (9).png

640 (8).png

640 (7).png

640 (6).png

STEP10-1:代码修改 main.c
640 (5).png
640 (4).png
STEP10-2:代码修改 main.h
640 (3).png
STEP10-3:代码修改 stm32u5xx_it.c
640 (2).png
STEP10-4:代码修改 linked_list.c
640 (1).png
STEP10-5:stm32u5xx_hal_msp.c
640 (24).png
640 (23).png

STEP11:
link file 修改 : stm32u585xx_flash.icf
640.png
修改完后,编译工程,在按下 USER BUTTON 后,系统将进入 STOP2 模式, 板载 LED 会停止toggle,但是 LPGPIO 控制的 LED 仍然会继续 toggle。


4、总结
本文介绍了 LPBAM 模式,以及如何使用 CubeMX 方便地配置 DMA Linked List,最后完成了在 CPU 进入 Stop2 模式下的 GPIO toggle 任务。LPBAM 模式将会在打造超低功耗的产品中发挥非常重要的作用。

收藏 评论0 发布时间:2022-5-7 11:56

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版