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




設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 迅為i.MX8M mini開發(fā)板Windots QT系統(tǒng)開發(fā)環(huán)境搭建
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開發(fā)板Linix系統(tǒng)修改默認(rèn)屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴(kuò)展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設(shè)置開機(jī)自啟動
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測試
- 迅為IMX8MM開發(fā)板Linux系統(tǒng)修改默認(rèn)屏幕
- LTM4622EV 4 至 20Vin、1.2V 兩相并聯(lián) 5A 降壓模塊穩(wěn)壓器的典型應(yīng)用電路
- 2017電賽A題微電網(wǎng)系統(tǒng)
- 4+1拓展塢
- LTC7813MPUH 高效率 12 至 60Vin 至 24V/5A 和 3.3V/8A DC/DC 穩(wěn)壓器的典型應(yīng)用電路
- 基于同步振蕩器的 LT1055 運(yùn)算放大器
- AM1G-4815DH30Z ±15V 1 瓦 DC-DC 轉(zhuǎn)換器的典型應(yīng)用
- SPX2945 400mA、5V 低壓降穩(wěn)壓器的典型應(yīng)用
- LTC1470 的典型應(yīng)用 - 單路和雙路 PCMCIA 保護(hù)的 3.3V/5V VCC 開關(guān)
- FDC2214RGHT驗(yàn)證板
- 當(dāng) LTC2380HMS-16 中啟用數(shù)字增益壓縮時,使用 LT6350 的典型應(yīng)用被配置為接受 ±10V 輸入信號,同時運(yùn)行一個 5.5V 單電源
- 中航鋰電發(fā)布新電池技術(shù):無模組、成本降低10%!
- 基于AVR與DDS技術(shù)的超聲波電源研制
- 開年專訪谷泰微創(chuàng)始人兼CEO石方敏:2022本土IC要迎“大考”
- 華為公開車載設(shè)備共享手機(jī)流量專利
- 露笑科技:6英寸碳化硅襯底晶片已經(jīng)形成銷售
- 基于單片機(jī)的多功能電子密碼鎖系統(tǒng)設(shè)計(jì)
- 集成音頻放大器DSP如何提高音頻放大器的效率
- 插入式電磁流量計(jì)的工作原理
- 發(fā)電機(jī)轉(zhuǎn)子交流阻抗測試儀功能 發(fā)電機(jī)轉(zhuǎn)子交流阻抗測試注意事項(xiàng)
- 英特爾攜海信發(fā)布端側(cè)會議領(lǐng)域垂域模型解決方案,讓商務(wù)會議更安全更智能
- 英特爾攜手MAXHUB聯(lián)合發(fā)布企業(yè)級AI PC, 加速AI大模型在端側(cè)落地
- 助力低碳數(shù)字未來 英飛凌攜多款創(chuàng)新成果亮相2025慕尼黑上海電子展
- ?日清紡微電子科技賦能產(chǎn)業(yè)升級,亮相慕尼黑上海電子展
- 泰克閃耀 2025 慕尼黑上海電子展,引領(lǐng)測試技術(shù)新變革
- 破局AI眼鏡性能、續(xù)航、成本“不可能三角”:芯原推出高集成度參考設(shè)計(jì)方案
- 人形機(jī)器人成下一風(fēng)口,各大車企紛紛入局,比智能汽車潛力更大?
- 業(yè)績最高 TDK為汽車應(yīng)用推出電容值達(dá)100V的MLCC
- 微型柔性機(jī)器人:開啟智能救援與精準(zhǔn)醫(yī)療新紀(jì)元
- 人工智能加速芯片設(shè)計(jì):動態(tài)自適應(yīng)流程引領(lǐng)高效創(chuàng)新
- 羅姆有獎直播|可應(yīng)用于LiDAR的激光二極管及周邊電源推薦
- 逛村田在線云展廳,看干貨,闖關(guān)贏好禮!
- 有獎直播|TI DLP® 技術(shù)如何推動AR HUD和汽車大燈的發(fā)展
- 直播已結(jié)束|TI 嵌入式直播周帶您直擊工業(yè)應(yīng)用
- 西門子精彩視頻限時免費(fèi)|利用電子產(chǎn)品生命周期管理 (PLM) 更快地交付更多產(chǎn)品
- 圍觀Vishay新出爐超低ESR T55系列“萌寵們”,有驚喜!
- 跟帖留言贏好禮:60年回眸——聊一聊示波器的前世今生!
- Vicor 更好的供電方式提升無人機(jī)飛行時間飛行半徑及有效載荷
- 注冊有禮 | 施耐德電器邀請您參加EP23上海國際電力電工展線上云逛展