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

AN5593 如何對 STM32U575/585 微控制器使用 GPDMA

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

AN5593 如何對 STM32U575/585 微控制器使用 GPDMA

559.68 KB

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

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

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

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

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

–對于始于存儲器映射源位置的傳輸

–對于止于存儲器映射目標位置的傳輸

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

GPDMA 概述

在減載 CPU 的控制下,GPDMA 控制器通過鏈表執(zhí)行存儲器映射外設(shè)和/或存儲器之間的可編程數(shù)據(jù)傳輸。

GPDMA 是雙端口 AHB 主設(shè)備和系統(tǒng)外設(shè)。大多數(shù)外設(shè)和存儲器都與之建立連接。在需要數(shù)據(jù)傳輸時,這一點提供了很大的靈活性并提高了系統(tǒng)性能。鏈表是存儲器中程序化的數(shù)據(jù)結(jié)構(gòu),旨在讓每個 GPDMA 通道為鏈接和安排DMA 數(shù)據(jù)傳輸做好準備。GPDMA 有 16 個通道。

GPDMA 通道分配

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

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

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

GPDMA 端口選擇

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

資料預(yù)覽

相關(guān)推薦