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

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 的特点。
; W% p8 r& C" {+ t* Q
另外,LPBAM 需要 DMA 来进行配合,U5 系列的 DMA 有 Linked List 功能,也就是说DMA 可以完成链表设计好的任务。在初始化的时候,以链表模式设置好 DMA 相关寄存器,可以通过链表模式完成内存到内存,或者内存和外设寄存器之间的数据传输。
  G; G% ?9 y4 Y  m
由于 LBAM 的特性,在进行低功耗应用设计时,可以使用 LPBAM 大大减少功耗,提升产品的低功耗性能。比如,可以在 stop2 模式下进行串口收发,ADC 采集任务等等。
- j3 e: k4 F& \; d& D
本文将介绍如何使用 CubeMX,配置 DMA Linked List,在低功耗模式下,使用LPBAM 进行 GPIO Toggle。
+ i; r3 E% m! N2 ^
5 |; O1 W+ l& }) j
2. 准备工作
2.1 环境准备
0 b& D  `9 H/ m
测试硬件:B-U585I-IOT02A 开发板
测试开发环境:IAR 8.50.1
CubeMX 版本:6.30.0
640 (22).png

  k! \  u; W* L. _3 b% S* g" j9 n
2.2 设计思路

+ ?. M9 p; g" r2 k: V
如图所示,我们先在内存中定义好需要写入 GPIO 寄存器的数值,其中 Set GPIO 就将数据写入 BSRR 寄存器,Reset GPIO 就将数据写入 BRR 寄存器。LPDMA 设置两个节点,一个去 Set GPIO,另一个 Reset GPIO,然后由软件触发,由 LPTIM1 CH1 的上升沿触发 LPDMA 第一个节点进行动作,LPTIM1 CH1 的下降沿触发 LPDMA 第二个节点进行动作。
& \* }7 R9 }; g7 p8 I
LPTIM1 设置使用 LSI 32KHz 为时钟,频率为 32KHz,占空比为 50%的 PWM 波输出,也就是说 GPIO 会以 500ms 的频率进行 toggle。
640 (21).png

0 s3 W) S+ d" s8 ^/ q% l; Z; o2 c
3.Step By Step

" d! X  x4 ]. j* s& _- A
640 (20).png

& x" R( o) c) _9 b% a$ ?2 \
640 (19).png
2 ?- S0 ~# `! h# T4 Q0 P
640 (18).png
, V3 Y% O* ^8 r9 _$ }* g' V8 Z% N: {
640 (17).png
2 n2 J* v- `- b. L0 B6 t5 }0 e( h1 \
640 (16).png
. j) s) n* o6 o" t& n
640 (15).png

6 ~) J/ b& M4 P7 M
640 (14).png

/ a. p: i3 H( E. m! n3 q* O
640 (13).png
/ b/ j. s2 V& u6 V9 `8 I) ~' r9 c- r
640 (12).png

. J3 ]7 `; e: k2 h& {' d8 X
640 (11).png
3 R$ i$ r) ?- ?( ^, ~) E) {
640 (10).png
8 o) B% y( T* g' V4 p
640 (9).png

# C. w8 A- d, G1 H0 N
640 (8).png
# b1 q# S; K3 a6 F
640 (7).png

- M& V% ]8 ?, q9 ~
640 (6).png

+ y3 @: f: T7 P- F7 j3 M# o3 Q; o
STEP10-1:代码修改 main.c
- |2 Z' ^7 {8 `. z' @' g
640 (5).png
640 (4).png
STEP10-2:代码修改 main.h
640 (3).png
STEP10-3:代码修改 stm32u5xx_it.c
- W0 Z1 `8 G, O3 K  i4 R, i
640 (2).png
STEP10-4:代码修改 linked_list.c0 s6 v* g+ Y: {, {
640 (1).png
STEP10-5:stm32u5xx_hal_msp.c
640 (24).png
640 (23).png
2 m' p1 m0 v# l; L
STEP11:
link file 修改 : stm32u585xx_flash.icf
640.png
修改完后,编译工程,在按下 USER BUTTON 后,系统将进入 STOP2 模式, 板载 LED 会停止toggle,但是 LPGPIO 控制的 LED 仍然会继续 toggle。; F7 w3 [# t3 F2 p& z2 D
/ P" I/ W- Q: t" V

; [9 G0 l) I" `% N+ ?/ i
4、总结
本文介绍了 LPBAM 模式,以及如何使用 CubeMX 方便地配置 DMA Linked List,最后完成了在 CPU 进入 Stop2 模式下的 GPIO toggle 任务。LPBAM 模式将会在打造超低功耗的产品中发挥非常重要的作用。
- z: H' y" P* A8 a
收藏 评论0 发布时间:2022-5-7 11:56

举报

0个回答

所属标签

相似分享

官网相关资源

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