1.概述
本應(yīng)用筆記適用于 STM32U575/585 微控制器,這些微控制器是基于 Arm Cortex核心的器件。
提示: Arm 是 Arm Limited(或其子公司)在美國(guó)和/或其他地區(qū)的注冊(cè)商標(biāo)。
參考文檔:
? 參考手冊(cè)基于 Arm的 STM32U575/585 32 位 MCU(RM0456)
? STM32U585xx 數(shù)據(jù)手冊(cè)(DS13086)
? STM32U575xx 數(shù)據(jù)手冊(cè)(DS13737)
2.GPDMA 通用指南
2.1GPDMA 概述
在減載 CPU 的控制下,GPDMA 控制器通過(guò)鏈表執(zhí)行存儲(chǔ)器映射外設(shè)和/或存儲(chǔ)器之間的可編程數(shù)據(jù)傳輸。
GPDMA 是雙端口 AHB 主設(shè)備和系統(tǒng)外設(shè)。大多數(shù)外設(shè)和存儲(chǔ)器都與之建立連接。在需要數(shù)據(jù)傳輸時(shí),這一點(diǎn)提 供了很大的靈活性并提高了系統(tǒng)性能。鏈表是存儲(chǔ)器中程序化的數(shù)據(jù)結(jié)構(gòu),旨在讓每個(gè) GPDMA 通道為鏈接和安排 DMA 數(shù)據(jù)傳輸做好準(zhǔn)備。GPDMA 有 16 個(gè)通道。
2.2 GPDMA 通道分配
用戶(hù)必須分配一個(gè)通道用于 GPDMA 傳輸。為了能夠同時(shí)處理來(lái)自源的 GPDMA 傳輸(讀訪(fǎng)問(wèn))和到達(dá)目標(biāo)的GPDMA 傳輸(寫(xiě)訪(fǎng)問(wèn)),GPDMA 對(duì)給定 GPDMA 通道使用專(zhuān)用 FIFO。FIFO 單元的單位是一個(gè)字節(jié)。
FIFO 的大小決定了通道能夠有效處理的最大 DMA 突發(fā)大小(突發(fā)長(zhǎng)度與數(shù)據(jù)寬度的乘積)。注意,通常突發(fā)越大,系統(tǒng)總體性能越好:更高吞吐率/帶寬傳輸,更低系統(tǒng)總線(xiàn)占用率。
鑒于系統(tǒng)總線(xiàn)為 32 位字寬,建議將 DMA 源/目標(biāo)數(shù)據(jù)寬度設(shè)定為 32 位(GPDMA_CxTR1 中的 S/DDW_LOG2[1:0]),以便最大限度減少總線(xiàn)使用量。
如下表所示,有兩類(lèi)通道,分別具有不同的 FIFO 大小和尋址模式:
? 通道 0 至 11:
– FIFO 大小為 8 字節(jié)(2 字)。
– 尋址限于線(xiàn)性模式:固定尋址(通常用于外設(shè)寄存器訪(fǎng)問(wèn))或連續(xù)數(shù)據(jù)增量尋址(通常用于存儲(chǔ)器訪(fǎng)問(wèn))。
? 通道 12 至 15:
– FIFO 大小為 32 字節(jié)(8 字)。
– 支持線(xiàn)性和二維尋址模式:二者均適用于源和目標(biāo),可設(shè)定兩個(gè)地址跳轉(zhuǎn)/偏移量:
? 每個(gè)編程突發(fā)后
? 每個(gè)編程塊后
建議將通道 0 至 11 分配用于從 AHB/APB 外設(shè)到 SRAM 的傳輸或從 SRAM 到 AHB/APB 外設(shè)的傳輸,除非存儲(chǔ)器需要二維尋址或外設(shè)是支持突發(fā)請(qǐng)求的 AHB 外設(shè)。
然后,建議將突發(fā)設(shè)定為 1 字(FIFO 大小的一半),除非應(yīng)用需要處理 8 或 16 位數(shù)據(jù)寬度。建議將通道 12 至 15 分配用于存儲(chǔ)器之間的傳輸。然后,出于性能方面的考慮,建議將突發(fā)設(shè)定為默認(rèn)的 4 字(FIFO 大小的一半)。
同樣地,將通道 12 至 15 優(yōu)先用于始于支持突發(fā)請(qǐng)求的 AHB 外設(shè),比如 OCTOSPI、HASH 和 ADC。然后,通常將始于/止于外設(shè)的半傳輸設(shè)定為突發(fā)。建議將始于/止于存儲(chǔ)器的(半)傳輸設(shè)定為 4 字突發(fā)。
對(duì)于具有更高帶寬要求的 AHB 外設(shè)的始于/止于一些外設(shè)的傳輸,同樣優(yōu)先選擇通道 12 至 15。建議將始于/止于存儲(chǔ)器的(半)傳輸也設(shè)定為 4 字突發(fā)。
2.3 GPDMA 端口選擇
用戶(hù)必須為始于源(GPDMA_CxTR1 中的 SAP)的傳輸分配一個(gè)端口,并且為止于目標(biāo)(GPDMA_CxTR1 中的 DAP)的傳輸分配一個(gè)端口。在執(zhí)行下一次數(shù)據(jù)傳輸之前,會(huì)通過(guò)下一個(gè)鏈表項(xiàng)和數(shù)據(jù)結(jié)構(gòu)動(dòng)態(tài)更新此分配。
關(guān)于 GPDMA 的總線(xiàn)拓?fù)淇煽偨Y(jié)如下(參見(jiàn)第 4 節(jié) 了解更多信息):
? GPDMA 端口 0 直接連接到 APB1 和 APB2 外設(shè),不穿過(guò) AHB 矩陣(參見(jiàn)圖 2 和圖 4)。
? AHB 矩陣的默認(rèn)從設(shè)備(參見(jiàn)圖 2 和第 4.3.2 節(jié) )為:
– GPDMA 端口 0 的 AHB1 外設(shè)(MDF、FMAC 和 CORDIC)
– GPDMA 端口 1 的 SRAM1
建議按照以下方式使用 GPDMA 的兩個(gè)主設(shè)備端口:
? 將端口 0 分配用于始于/止于外設(shè)的(半)傳輸,無(wú)論是 AHB 還是 APB 外設(shè)。將端口 1 分配用于其他(半) 傳輸(分別止于/始于存儲(chǔ)器)。對(duì)于 APB1 和 APB2 外設(shè),端口 0 避免穿過(guò)互連矩陣,減少了相應(yīng)通道上的 總體延遲。這也減少了互連總線(xiàn)矩陣包含的和之后的 AHB 總線(xiàn)活動(dòng)。
? 端口 1 被分配用于存儲(chǔ)器至存儲(chǔ)器的傳輸(特別是訪(fǎng)問(wèn) SRAM1 時(shí),但不僅限于此)。對(duì)外設(shè)使用端口 0 并 對(duì)任何存儲(chǔ)器使用端口 1 的優(yōu)勢(shì)在于:
– 外設(shè)至存儲(chǔ)器和存儲(chǔ)器至外設(shè)的傳輸過(guò)程中兩個(gè)端口上的帶寬平衡
– 避免至存儲(chǔ)器的突發(fā)直接影響外設(shè)訪(fǎng)問(wèn)的延遲
這是針對(duì)性能的典型和推薦配置。當(dāng)然,用戶(hù)可以自由地選擇任何可以訪(fǎng)問(wèn)源位置的端口,以及任何可以訪(fǎng)問(wèn)目標(biāo) 位置的端口。
當(dāng)通道未激活時(shí),GPDMA 為加載下一個(gè)鏈表項(xiàng)而分配的鏈接端口由用戶(hù)在通道層面進(jìn)行定義(GPDMA_CxCR 中 的 LAP)。下一個(gè)鏈接列表項(xiàng)已準(zhǔn)備就緒并存儲(chǔ)在內(nèi)存中。然后,建議將端口 1 分配用于加載下一個(gè)鏈表項(xiàng)。
本文檔以 GPDMA 和可能受到 GPDMA 協(xié)助的外設(shè)的組合功能為基礎(chǔ),為系統(tǒng)開(kāi)發(fā)人員提供一些以性能為導(dǎo)向的編程指南
上一篇:如何才能移植一個(gè)AC6例子到STM32CubeIDE
下一篇:使用STM32WL系列Sub-GHz無(wú)線(xiàn)驅(qū)動(dòng)程序的應(yīng)用示例
推薦閱讀最新更新時(shí)間:2025-07-02 20:37








設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 【下載】LAT1526 利用SPI的下溢實(shí)現(xiàn)回顯功能
- 【下載】LAT1509 STM32G0B1的FDCAN進(jìn)行通信丟包和多包案例分享
- 【下載】LAT1511 運(yùn)行Ux_Host_HUB_HID_MSC通過(guò)Hub連接U盤(pán)讀寫(xiě)不穩(wěn)定問(wèn)題分析
- 【下載】LAT1466 USB x Device HID Standalone的移植
- 【下載】LAT1488 STM32 USBxDevice MSC standalone移植示例
- 【下載】LAT1482 STM32G0單線(xiàn)串口通信幀錯(cuò)誤問(wèn)題解析
- Microchip 升級(jí)數(shù)字信號(hào)控制器(DSC)產(chǎn)品線(xiàn) 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無(wú)線(xiàn)微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開(kāi)發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹(shù)莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲(chǔ)html,css,js文件,以及網(wǎng)頁(yè)和arduino的通訊
- ESP32 freeRTOS使用測(cè)試
- MC33174DR2G 有源高 Q 陷波濾波器的典型應(yīng)用
- 使用 Analog Devices 的 LTC1159CG-3.3 的參考設(shè)計(jì)
- LTC1727IS8-5、3.3V 和 5V 雙電源監(jiān)視器的典型應(yīng)用
- 使用 LT6202 將 ±10V 雙極性信號(hào)轉(zhuǎn)換為 0V 至 5V 輸入信號(hào)到 LTC2370CMS-16 的典型應(yīng)用
- LT3724 的典型應(yīng)用 - 高電壓、電流模式開(kāi)關(guān)穩(wěn)壓控制器
- TS9010ACX5 RF 150mA, 1.5V CMOS LDO with Enable 典型應(yīng)用電路
- L5150GJ 5 V 低壓差穩(wěn)壓器的典型應(yīng)用
- MPC86XADS、XPC8xx 參考板,基于 XPC860EN MPU PowerQUICC MPC8xx 處理器
- OP249GSZ-REEL 失調(diào)調(diào)整的典型應(yīng)用電路,用于同相放大器配置
- 使用 Microchip Technology 的 MAX3221ECAE 的參考設(shè)計(jì)
- ZDS2022示波器百集實(shí)操特輯之12:探頭低頻補(bǔ)償
- 瑞薩電子推出35款以上包含Dialog產(chǎn)品的成功產(chǎn)品組合
- 2021年智能座艙設(shè)計(jì)趨勢(shì)研究:邁進(jìn)第三生活空間
- 英特爾瞄準(zhǔn)車(chē)用晶片商機(jī),擬在歐投資800億歐元擴(kuò)產(chǎn)
- 聞泰科技:安世開(kāi)發(fā)了100v以上MOSFET新產(chǎn)品
- 歐洲處理器計(jì)劃第二期公布,選擇了Arm與RISC-V
- 技術(shù)變革關(guān)口下,顯示面板技術(shù)及市場(chǎng)走勢(shì)將怎樣
- 貿(mào)澤電子與Amphenol推出介紹新型連接解決方案的Plugged In視頻系列
- 線(xiàn)控技術(shù)是自動(dòng)駕駛落地的必要條件嗎?
- 探索高鎳正極——未來(lái)電池技術(shù)的關(guān)鍵
- AEC-Q解讀:車(chē)規(guī)級(jí)芯片的“入場(chǎng)券”與技術(shù)門(mén)檻
- 出圈or出局?AI汽車(chē)“急速駛來(lái)”,市場(chǎng)淘汰賽一觸即發(fā)
- 車(chē)載以太網(wǎng)技術(shù)及其EAVB和TSN技術(shù)
- 自動(dòng)駕駛中域控制器有何作用?
- 利用與硬件無(wú)關(guān)的方法簡(jiǎn)化嵌入式系統(tǒng)設(shè)計(jì):驅(qū)動(dòng)程序?qū)崿F(xiàn)
- 英飛凌將CAPSENSE?集成至PSOC? HV微控制器, 賦能先進(jìn)觸控傳感應(yīng)用等智能傳感器和執(zhí)行器
- 如何部署流媒體服務(wù)實(shí)現(xiàn)監(jiān)控功能--基于米爾TI AM62x開(kāi)發(fā)板
- Arm 洞察與思考:AI 技術(shù)破解創(chuàng)新與環(huán)境可持續(xù)發(fā)展難題
- 月產(chǎn)能突破7萬(wàn)片 中芯國(guó)際重要項(xiàng)目量產(chǎn)了
- 蘋(píng)果“M2”芯片將在2022年初首發(fā)
- AMOLED顯示驅(qū)動(dòng)芯片銷(xiāo)售增,中穎電子H1凈利預(yù)增58%-65%
- MCU/SoC芯片出貨量增長(zhǎng) 納思達(dá)預(yù)計(jì)上半年凈利4- 5億元
- 科隆股份:現(xiàn)金收購(gòu)聚洵半導(dǎo)體51%股權(quán)已經(jīng)完成
- 壓電陶瓷的測(cè)量
- 檢測(cè)IGBT模塊的辦法
- 基于MSP430單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
- STM32上電復(fù)位不正常 手動(dòng)復(fù)位正常的原因
- STM32-按鍵輸入實(shí)驗(yàn)學(xué)習(xí)筆記
- 【辛版TALK】你還在眼巴巴等著紅包和年終獎(jiǎng)嗎?
- 電源電路設(shè)計(jì),求大神指教
- 最近在用STM32F103RCT6,用軟件模擬掛了10個(gè)IIC 24C02 時(shí)鐘線(xiàn)和數(shù)據(jù)線(xiàn)有必要等長(zhǎng)嗎...
- 還有什么軟件編寫(xiě)ACTEL芯片
- 0分帖子~~~
- 什么是卷個(gè)數(shù)?
- 如何將壓力傳感器通過(guò)hx711加在sk_s7g2上
- Jim Willams 的那本《模擬電路設(shè)計(jì)》讀后感
- CCS查看DSP程序運(yùn)行時(shí)間
- ESP8266和msp430g2553的實(shí)踐項(xiàng)目