DMA技術
AXI直接數值存取(Drect Memory Access,DMA)IP核在AXI4內存映射和AXI4流IP接口之間提供高帶寬的直接內存訪問。DMA可以選擇分散收集(Scatter Gather,SG)功能還可以將數據移動任務從位于于處理器系統中的中央處理器(CPU)中卸載出來。可以通過一個AXI4-Lite從接口訪問初始化、狀態和管理寄存器。如圖4. 8展現了DMA IP的功能構成核心。
系統內存和傳輸的目標之間的主要通過高速DMA數據傳輸,數據之間的流向是AXI4讀數據的主端口到AXI4內存映射流(Memory-Mapped To Stream,MM2S),和通過數據流到內存映射(Stream To Memory-Mapped,S2MM)從外設寫入到內存中。AXI DMA還支持在分散/聚集模式下,MM2S和S2MM路徑上最多16個多通道的數據傳輸[67]。
Fig4. 8 Core functions of AXI DMA
圖4.8 AXI DMA 核心功能
DMA傳輸數據是不需要CPU進行控制,而是有一個專門的DMA控制器來控制著存儲器之間的數據傳送或者外部設備與存儲器之間的數據交換流程。DMA控制器使用64-bit的AXI主接口,操作以兩倍的CPU的時鐘速率執行系統內存和PL外圍設備之間的DMA數據傳輸。軟件通過控制器的32位APB從接口訪問這些寄存器。DMA控制器的基本工作流程如圖4. 9所示。
圖4.9 DMAC基本工作流程
Fig4. 9 DMAC basic workflow
源存儲設備向DMAC發送任務請求,DMAC在接收到請求后向CPU發出接管總線的權限,CPU把總線控制權釋放給DMAC并且開始傳輸數據,使用FIFO作為一個中介,分別在源端口和目標端口進行讀寫操作。當數據傳輸完畢之后產生完成中斷信號給CPU,把總線控制權限交還給CPU。
分散/收集(SG)模式下DMA傳輸
AXI DMA收集和發散模式下使用描述符進行控制數據傳輸,描述符由8個32-bit基本字和0或5個用戶應用程序字組成。描述符將會支持64-bit地址和用戶應用程序數據。每個數據幀的開頭和結尾的標簽都支持多個描述符。完成狀態和完成時的中斷狀態也包括在內。
在開始DMA操作之前,軟件應用程序必須設置一個描述符鏈表。AXI DMA通過獲取、處理并更新處理描述符。通過分析描述符,軟件應用程序可以讀取相關DMA傳輸的狀態,通過在接收(S2MM)通道上獲取用戶信息來確定傳輸完成。有了這些信息,軟件應用程序可以管理描述符和數據緩沖區。
描述符SOF/EOF設置和AXI控制流之間的關系如圖4. 10所示。SOF=1的描述符是數據包的開始,并為MM2S方向重置方向。圖4. 11顯示了描述符用戶應用程序字段如何在AXI控制流上顯示的示例。AXI DMA向目標設備插入一個標志來指示數據類型。
圖4.10描述符與MM2S流和控制流的關系
Fig4. 10 Detail of Descriptor Relationship to MM2S Stream and Control Stream
圖4.11 MM2S控制流的用戶應用字段和時間
Fig4. 11 Example user application field / timing for MM2S control stream
表4.3 MM2S描述符表內容具體解釋
Table 4.3 MM2S descriptor content specific explanation
地址空間偏移 | 名字 | 描述 |
00h 04h 08h 0Ch 10h 14h 18h 1Ch 20h 24h 28h 2Ch |
MM2S下一個地址 (地址)保留 MM2S緩沖區地址 (數據地址)保留 保留 保留 控制 狀態 MM2S應用0 MM2S應用1 MM2S應用2 MM2S應用3 |
MM2S指向下一描述符表的地址 前面32-bit作為描述符表的地址保留 MM2S中指向傳輸數據的地址 前32-bit保留指向傳輸數據的地址 保留 保留 控制 狀態 MM2S應用程序0 MM2S應用程序1 MM2S應用程序2 MM2S應用程序3 |
-
接口
+關注
關注
33文章
8831瀏覽量
152660 -
內存
+關注
關注
8文章
3089瀏覽量
74731 -
dma
+關注
關注
3文章
569瀏覽量
101730 -
IP核
+關注
關注
4文章
335瀏覽量
50054 -
AXI
+關注
關注
1文章
132瀏覽量
16935
原文標題:DMA技術和及其SG模式
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
AXI DMA詳解與應用篇

一文詳解MPSoC芯片
Adam Taylor玩轉MicroZed系列68:AXI DMA Ⅲ,軟件部分

Adam Taylor玩轉MicroZed系列67:AXI DMA II
一文詳解ZYNQ中的DMA與AXI4總線

你必須了解的AXI總線詳解

評論