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

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 的特点。
( }: ^7 O6 Q/ ?) c
另外,LPBAM 需要 DMA 来进行配合,U5 系列的 DMA 有 Linked List 功能,也就是说DMA 可以完成链表设计好的任务。在初始化的时候,以链表模式设置好 DMA 相关寄存器,可以通过链表模式完成内存到内存,或者内存和外设寄存器之间的数据传输。
! Y7 W. W5 @* ?. w$ I9 T
由于 LBAM 的特性,在进行低功耗应用设计时,可以使用 LPBAM 大大减少功耗,提升产品的低功耗性能。比如,可以在 stop2 模式下进行串口收发,ADC 采集任务等等。

0 I: Y# h( j: r, |
本文将介绍如何使用 CubeMX,配置 DMA Linked List,在低功耗模式下,使用LPBAM 进行 GPIO Toggle。
% f& t8 w/ A8 a% t3 O- Y

7 {6 p6 ?2 ^+ L" U( R# P2 \5 T
2. 准备工作
2.1 环境准备
' N7 l( E% w* \  z6 y
测试硬件:B-U585I-IOT02A 开发板
测试开发环境:IAR 8.50.1
CubeMX 版本:6.30.0
640 (22).png
. Q* p$ d  r0 Y4 k  e$ A
2.2 设计思路
$ @1 V8 u8 X" }* W  [
如图所示,我们先在内存中定义好需要写入 GPIO 寄存器的数值,其中 Set GPIO 就将数据写入 BSRR 寄存器,Reset GPIO 就将数据写入 BRR 寄存器。LPDMA 设置两个节点,一个去 Set GPIO,另一个 Reset GPIO,然后由软件触发,由 LPTIM1 CH1 的上升沿触发 LPDMA 第一个节点进行动作,LPTIM1 CH1 的下降沿触发 LPDMA 第二个节点进行动作。
$ E2 R# X/ _7 }. D- O% g
LPTIM1 设置使用 LSI 32KHz 为时钟,频率为 32KHz,占空比为 50%的 PWM 波输出,也就是说 GPIO 会以 500ms 的频率进行 toggle。
640 (21).png

* J$ i9 ~8 x. p' h6 D2 v1 J7 x
3.Step By Step

; K7 q. p/ ?. R
640 (20).png
/ h/ |3 v. ^; l$ E% _
640 (19).png
9 l0 }# s, D1 s" d" {: x( H
640 (18).png

( k7 m1 _# D1 J1 O! \
640 (17).png
4 F  m) Q, \) l( b
640 (16).png

& A) @3 P. [- N+ [/ d
640 (15).png

3 o3 y& z( F; {- O$ ]+ f  W
640 (14).png

( A& W9 `7 c- ]$ O1 E5 X
640 (13).png

9 }: h7 u; ~/ h3 z' W# R
640 (12).png

# S, A3 Q) q; E( f; p7 P
640 (11).png

% |, w! |, ]6 h2 w% L; r; N
640 (10).png

0 i3 q1 H  N4 y, F. w  [8 H% P2 s, L
640 (9).png
7 R8 C; G, f2 |* I/ u
640 (8).png

6 |" N$ t7 Y, o: U2 O
640 (7).png

' M& |8 p1 r$ `$ P% E# [$ a0 I
640 (6).png
4 J3 ?. U6 O  i( Z8 m
STEP10-1:代码修改 main.c
3 }- `' U+ A* v0 x5 H0 g
640 (5).png
640 (4).png
STEP10-2:代码修改 main.h
640 (3).png
STEP10-3:代码修改 stm32u5xx_it.c
" |6 f6 f+ N' Y8 A3 t* W/ W
640 (2).png
STEP10-4:代码修改 linked_list.c8 N, W, D, V0 b5 ~
640 (1).png
STEP10-5:stm32u5xx_hal_msp.c
640 (24).png
640 (23).png
3 L$ u+ g/ R6 ^* t
STEP11:
link file 修改 : stm32u585xx_flash.icf
640.png
修改完后,编译工程,在按下 USER BUTTON 后,系统将进入 STOP2 模式, 板载 LED 会停止toggle,但是 LPGPIO 控制的 LED 仍然会继续 toggle。
3 A3 a" N- S9 ?9 Q

, Z3 g2 l# i0 O- K' P4 U! X* e/ ]5 a+ z5 }+ ~: l. o) Z
4、总结
本文介绍了 LPBAM 模式,以及如何使用 CubeMX 方便地配置 DMA Linked List,最后完成了在 CPU 进入 Stop2 模式下的 GPIO toggle 任务。LPBAM 模式将会在打造超低功耗的产品中发挥非常重要的作用。

5 I0 ?- _5 U2 j3 Y
赞 收藏 评论0 发布时间:2022-5-7 11:56

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版