xilinx DMA IP核(二) —— 文檔閱讀


  本筆記不記錄DMA的Scatter/Gather特性。DMA上有三種總線:AXI4-LIte(對寄存器進行配置),AXI4-Memory Map(用於與內存交互)和AXI4 Stream(用於與外設交互)。在寄存器模式下,寄存器分為兩部分:MM2S和S2MM,每個部分包括Control Register, Status Register, Source Address, 和Transfer Length四個寄存器部分。

表:DMA在Direct Register模式下的Register Address Map

其中Soure Addresss和Destation Address指的是內存地址。

  下圖是控制寄存器MM2S_DMACR,bit0用來控制DMA的開啟和關閉。

圖:MM2S_DMACR

圖:控制寄存器的bit0詳細介紹

該控制寄存器的第12,13和14bit是有關中斷設置的,分別是完成中斷,延遲中斷和錯誤中斷。

表:控制寄存器有關中斷的bit位

  下一個比較重要的寄存為狀態寄存器MM2S_DMASR,如下圖所示。

圖:DMA的狀態寄存器(SR)

其中第12,13和14bit位表示中斷的狀態,寫1可以清除中斷。從表格可以看出,這三個寄存器分別與控制寄存器中的三個中斷一一對應的。

表:DMA狀態寄存器中用來表示中斷狀態的bit位

  另外兩個寄存器MM2S_SA和MM2S_LENGTH分別表示地址和長度,如下圖所示。

 在DMA的IP設置時,會設置Width of Buffer Length Register(8-23),默認的是14。這里設置的就是上面的MM2S_LENGTH Register,如果設置為23,那么最大傳輸就是2^23=8388608byte。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM