1、前言
LPBAM 全稱(chēng)為 low-power background autonomous mode,系統(tǒng)時(shí)鐘可以在進(jìn)入低功耗模式之后打開(kāi)或關(guān)閉,可以觸發(fā) DMA 請(qǐng)求,可以在 stop0,stop1,stop2 模式下使用。在 stop 模式下除了 LSI 和 LSE 以外其他時(shí)鐘都會(huì)關(guān)閉,但 MSIK 和 HSI16 可以被臨時(shí)使能,以支持 DMA 傳輸,這就是 LPBAM 的特點(diǎn)。
另外,LPBAM 需要 DMA 來(lái)進(jìn)行配合,U5 系列的 DMA 有 Linked List 功能,也就是說(shuō)DMA 可以完成鏈表設(shè)計(jì)好的任務(wù)。在初始化的時(shí)候,以鏈表模式設(shè)置好 DMA 相關(guān)寄存器,可以通過(guò)鏈表模式完成內(nèi)存到內(nèi)存,或者內(nèi)存和外設(shè)寄存器之間的數(shù)據(jù)傳輸。
由于 LBAM 的特性,在進(jìn)行低功耗應(yīng)用設(shè)計(jì)時(shí),可以使用 LPBAM 大大減少功耗,提升產(chǎn)品的低功耗性能。比如,可以在 stop2 模式下進(jìn)行串口收發(fā),ADC 采集任務(wù)等等。
本文將介紹如何使用 CubeMX,配置 DMA Linked List,在低功耗模式下,使用LPBAM 進(jìn)行 GPIO Toggle。
2. 準(zhǔn)備工作
2.1 環(huán)境準(zhǔn)備
測(cè)試硬件:B-U585I-IOT02A 開(kāi)發(fā)板
測(cè)試開(kāi)發(fā)環(huán)境:IAR 8.50.1
CubeMX 版本:6.30.0

2.2 設(shè)計(jì)思路
如圖所示,我們先在內(nèi)存中定義好需要寫(xiě)入 GPIO 寄存器的數(shù)值,其中 Set GPIO 就將數(shù)據(jù)寫(xiě)入 BSRR 寄存器,Reset GPIO 就將數(shù)據(jù)寫(xiě)入 BRR 寄存器。LPDMA 設(shè)置兩個(gè)節(jié)點(diǎn),一個(gè)去 Set GPIO,另一個(gè) Reset GPIO,然后由軟件觸發(fā),由 LPTIM1 CH1 的上升沿觸發(fā) LPDMA 第一個(gè)節(jié)點(diǎn)進(jìn)行動(dòng)作,LPTIM1 CH1 的下降沿觸發(fā) LPDMA 第二個(gè)節(jié)點(diǎn)進(jìn)行動(dòng)作。
LPTIM1 設(shè)置使用 LSI 32KHz 為時(shí)鐘,頻率為 32KHz,占空比為 50%的 PWM 波輸出,也就是說(shuō) GPIO 會(huì)以 500ms 的頻率進(jìn)行 toggle。

3.Step By Step















STEP10-1:代碼修改 main.c


STEP10-2:代碼修改 main.h

STEP10-3:代碼修改 stm32u5xx_it.c

STEP10-4:代碼修改 linked_list.c

STEP10-5:stm32u5xx_hal_msp.c


STEP11:
link file 修改 : stm32u585xx_flash.icf

修改完后,編譯工程,在按下 USER BUTTON 后,系統(tǒng)將進(jìn)入 STOP2 模式, 板載 LED 會(huì)停止toggle,但是 LPGPIO 控制的 LED 仍然會(huì)繼續(xù) toggle。
4、總結(jié)
本文介紹了 LPBAM 模式,以及如何使用 CubeMX 方便地配置 DMA Linked List,最后完成了在 CPU 進(jìn)入 Stop2 模式下的 GPIO toggle 任務(wù)。LPBAM 模式將會(huì)在打造超低功耗的產(chǎn)品中發(fā)揮非常重要的作用。
文檔中所用到的工具及版本
測(cè)試工具版本信息:
? IAR:8.50.1
? CubeMX:6.30.0
來(lái)源:STM32單片機(jī)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理
審核編輯 黃宇
-
STM32
+關(guān)注
關(guān)注
2309文章
11161瀏覽量
373395 -
模式
+關(guān)注
關(guān)注
0文章
65瀏覽量
13813 -
CubeMx
+關(guān)注
關(guān)注
0文章
32瀏覽量
2021
發(fā)布評(píng)論請(qǐng)先 登錄
LAT1199+TrustZone 架構(gòu)下使用 LPBAM 導(dǎo)致的 HardFault應(yīng)用筆記
【課程升級(jí)】STM32U5開(kāi)發(fā)板《TouchGFX 圖形界面開(kāi)發(fā)》,從快速入門(mén)到深度UI實(shí)戰(zhàn)教程
STM32U5A9J-DK探索套件技術(shù)解析與應(yīng)用指南
立即在GitHub上搶先體驗(yàn)面向STM32U5的最新STM32Cube HAL更新
STM32U5 IWDG的提前喚醒中斷無(wú)法在STOP模式下觸發(fā)怎么解決?
請(qǐng)問(wèn)STM32U3系列的定位是怎樣的?
STM32U5 IWDG的提前喚醒中斷無(wú)法在STOP模式下觸發(fā)怎么解決?
STM32U5驅(qū)動(dòng)庫(kù)從1.6.0更新至1.7.0本可以正常運(yùn)行的代碼出現(xiàn)問(wèn)題了,怎么處理?
請(qǐng)問(wèn)STM32U3系列的定位是怎樣的?
STM32U5 IWDG的提前喚醒中斷無(wú)法在STOP模式下觸發(fā)怎么解決?
STM32U5?(超低功耗MCU,支持TinyML)全面解析
STM32U5 LPBAM模式介紹
評(píng)論