• 資料介紹
    • GPDMA 概述
    • GPDMA 通道分配
    • GPDMA 端口選擇
  • 資料預(yù)覽
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

AN5593 如何對(duì) STM32U575/585 微控制器使用 GPDMA

01/15 16:24
1053
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

AN5593 如何對(duì) STM32U575/585 微控制器使用 GPDMA

559.68 KB

本應(yīng)用筆記與 STM32U575/585 微控制器MCU)中嵌入的通用 DMA(GPDMA)相關(guān)。GPDMA 是一種系統(tǒng)外設(shè),是 AHB 總線上的雙端口主設(shè)備。它被用于通過鏈表在外設(shè)和/或存儲(chǔ)器之間傳輸數(shù)據(jù)。所有 GPDMA 可編程傳輸均在系統(tǒng)層面提供更高性能,并使 CPU 無需執(zhí)行這些數(shù)據(jù)傳輸任務(wù)。

本文檔的目的不是將現(xiàn)有的 GPDMA 專用章節(jié)重新編寫到產(chǎn)品參考手冊(cè)中,而是為系統(tǒng)開發(fā)人員提供一些以性能為導(dǎo)向的編程指南。

本文檔以 GPDMA 和可能受到 GPDMA 協(xié)助的外設(shè)的組合功能為基礎(chǔ)。本文檔聚焦于為了優(yōu)化系統(tǒng)性能和滿足應(yīng)用要求而需要考慮的所有關(guān)鍵點(diǎn)。

本應(yīng)用筆記包含關(guān)于以下內(nèi)容的原理闡述和建議:

  • GPDMA 通道分配
  • GPDMA 端口分配

–對(duì)于始于存儲(chǔ)器映射源位置的傳輸

–對(duì)于止于存儲(chǔ)器映射目標(biāo)位置的傳輸

  • GPDMA 傳輸優(yōu)先級(jí)分配
  • GPDMA 源/目標(biāo)突發(fā)編程,包含數(shù)據(jù)寬度和突發(fā)長(zhǎng)度

GPDMA 概述

在減載 CPU 的控制下,GPDMA 控制器通過鏈表執(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è)通道。

GPDMA 通道分配

用戶必須分配一個(gè)通道用于 GPDMA 傳輸。為了能夠同時(shí)處理來自源的 GPDMA 傳輸(讀訪問)和到達(dá)目標(biāo)的GPDMA 傳輸(寫訪問),GPDMA 對(duì)給定 GPDMA 通道使用專用 FIFO。

FIFO 單元的單位是一個(gè)字節(jié)。FIFO 的大小決定了通道能夠有效處理的最大 DMA 突發(fā)大小(突發(fā)長(zhǎng)度與數(shù)據(jù)寬度的乘積)。注意,通常突發(fā)越大,系統(tǒng)總體性能越好:更高吞吐率/帶寬傳輸,更低系統(tǒng)總線占用率。

鑒于系統(tǒng)總線為 32 位字寬,建議將 DMA 源/目標(biāo)數(shù)據(jù)寬度設(shè)定為 32 位(GPDMA_CxTR1 中的 S/DDW_LOG2[1:0]),以便最大限度減少總線使用量。

GPDMA 端口選擇

用戶必須為始于源(GPDMA_CxTR1 中的 SAP)的傳輸分配一個(gè)端口,并且為止于目標(biāo)(GPDMA_CxTR1 中的DAP)的傳輸分配一個(gè)端口。在執(zhí)行下一次數(shù)據(jù)傳輸之前,會(huì)通過下一個(gè)鏈表項(xiàng)和數(shù)據(jù)結(jié)構(gòu)動(dòng)態(tài)更新此分配。

資料預(yù)覽

相關(guān)推薦