国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ZYNQ中DMA與AXI4總線

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2020-11-02 11:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

ZYNQ中DMA與AXI4總線

為什么在ZYNQ中DMA和AXI聯系這么密切?通過上面的介紹我們知道ZYNQ中基本是以AXI總線完成相關功能的:

圖4?34連接 PS 和 PL 的 AXI 互聯和接口的構架

在ZYNQ中,支持AXI-Lite,AXI4和AXI-Stream三種總線,但PS與PL之間的接口卻只支持前兩種,AXI-Stream只能在PL中實現,不能直接和PS相連,必須通過AXI-Lite或AXI4轉接。PS與PL之間的物理接口有9個,包括4個AXI-GP接口和4個AXI-HP接口、1個AXI-ACP接口。

Xilinx提供的從AXI到AXI-Stream轉換的IP核有:AXI-DMA,AXI-Datamover,AXI-FIFO-MM2S以及AXI-vDMA等

AXI-DMA:實現從PS內存到PL高速傳輸高速通道AXI-HP<---->AXI-Stream的轉換

AXI-FIFO-MM2S:實現從PS內存到PL通用傳輸通道AXI-GP<----->AXI-Stream的轉換

AXI-Datamover:實現從PS內存到PL高速傳輸高速通道AXI-HP<---->AXI-Stream的轉換,只不過這次是完全由PL控制的,PS是完全被動的。

AXI-VDMA:實現從PS內存到PL高速傳輸高速通道AXI-HP<---->AXI-Stream的轉換,只不過是專門針對視頻、圖像等二維數據的。

除了上面的還有一個AXI-CDMA IP核,這個是由PL完成的將數據從內存的一個位置搬移到另一個位置,無需CPU來插手。

上面的IP是完成總線協議轉換,如果需要做某些處理(如變換、迭代、訓練……),則需要生成一個自定義Stream類型IP,與上面的Stream接口連接起來,實現數據輸入輸出。用戶的功能在自定義Stream類型IP中實現。

綜上,在ZYNQ中DMA和AXI是不可分割的兩者,所以介紹DMA也是必須的。

1.1.1DMA簡介

DMA是一種內存訪問技術,允許某些計算機內部的硬件子系統可以獨立的直接讀寫內存,而不需要CPU介入處理,從而不需要CPU的大量中斷負載,否則,CPU需要從來源把每一片段的數據復制到寄存器,然后在把他們再次寫回到新的地方,在這個時間里,CPU就無法執行其他的任務。

DMA是一種快速數據傳送方式,通常用來傳送數據量較多的數據塊。使用DMA時,CPU向DMA控制器發送一個存儲器傳輸請求,這樣當DMA控制器在傳輸的時候,CPU執行其他的操作,傳輸完成時DMA以中斷的方式通知CPU。

DMA傳輸過程的示意圖為:

圖4?35DMA傳輸過程的示意圖

DMA的傳輸過程為:

1、為了配置用DMA傳輸數據到存儲器,處理器(Cortex-A9)發出一條指令。

2、DMA控制器把數據從外設傳輸到存儲器或者從存儲器傳輸到存儲器,從而較少CPU處理的事務量。

3、輸出傳輸完成后,向CPU發出一個中斷通知DMA傳輸可以關閉。

為了發起傳輸事務,DMA控制器必須得到以下信息:

(1)、源地址——數據被讀出的地址

(2)、目的地址——數據被寫入的地址

(3)、傳輸長度——應傳輸的字節數

我們可以理解,無論是程序控制方式還是中斷控制方式,數據的傳輸都必須經過處理器。而在一個嵌入式微處理器為主控的應用系統中,當有大量數據在存儲器和外設之間傳輸時,采用程序控制方式顯然不合適,但是若采用中斷控制方式,會造成中斷次數過于頻繁,不僅速度上不去,還需要處理器及時干預進行處理,大大降低了工作的效率。

然而,使用DMA的好處就是它不需要CPU的干預而直接服務外設,這樣CPU就可以去處理別的事務,從而提高系統的效率,對于慢速設備,其作用只是降低CPU的使用率,但對于高速設備,它不只是降低CPU的使用率,而且能大大提高硬件設備的吞吐量。因為對于這種設備,CPU直接供應數據的速度太低。因CPU只能一個總線周期最多存取一次總線,而且對于處理器,它不能把內存中A地址的值直接搬到B地址。它只能先把A地址的值搬到一個寄存器,然后再從這個寄存器搬到B地址。也就是說,對于處理器,要花費兩個總線周期才能將A地址的值送到B地址。而DMA就不同了,一般系統中的DMA都有突發(Burst)傳輸的能力,在這種模式下,DMA能一次傳輸幾個甚至幾十個字節的數據,所以使用DMA能使設備的吞吐能力大為增強。

鑒于上面的優勢,系統中使用DMA是必要的,能夠提高數據吞吐量,減輕了CPU的負擔,使得整個系統的性能得到提高。

說了這么多優點,那么DMA缺點是什么呢?DMA傳送期間CPU被掛起,部分或完全失去對系統總線的控制,這可能會影響CPU對中斷請求的及時響應與處理。因此,在一些小系統或速度要求不高、數據傳輸量不大的系統中,一般并不用DMA方式。因為DMA允許外設直接訪問內存,從而形成對總線的獨占。這在實時性強的硬實時系統嵌入式開發中將會造成中斷延時過長。

DMAC為DMA控制器

DMA傳送雖然脫離CPU的控制,但并不是說DMA傳送不需要進行控制和管理。通常是采用DMA控制器來取代CPU,負責DMA傳送的全過程控制。目前DMA控制器都是可編程的大規模集成芯片。

圖4?36DMAC結構

DMA控制器是內存儲器同外設之間進行高速數據傳送時的硬件控制電路,是一種實現直接數據傳送的專用處理器,它必須能取代在程序控制傳送中由CPU和軟件所完成的各項功能。它的主要功能是:

(1)DMAC同外設之間有一對聯絡信號線--外設的DMA請求信號DREQ以及 DMAC向外設發出的DMA響應信號DACK;(如下圖)
(2)DMAC在接收到DREQ后,同CPU之間也有一對聯絡信號線--DMAC向CPU 發出總線請求信號(HOLD或BUSRQ),CPU在當前總線周期結束后向DMAC發出總線響應信號(HLDA或BUSAK),DMAC接管對總線的控制權,進入DMA操作方式;
(3)能發出地址信息,對存儲器尋址,并修改地址指針,DMAC內部必須有能自動加1或減1的地址寄存器;
(4)能決定傳送的字節數,并能判斷DMA傳送是否結束。DMA內部必須有能自動減1的字計數寄存器,計數結束產生終止計數信號;
(5)能發出DMA結束信號,釋放總線,使CPU恢復總線控制權;
(6)能發出讀、寫控制信號,包括存儲器訪問信號和I/O訪問信號。DMAC內部必須有時序和讀寫控制邏輯。

圖4?37DMAC在DMA中的作用示意圖(一)

圖4?38DMAC在DMA中的作用示意圖(二)

責任編輯:xj

原文標題:ZYNQ中DMA與AXI4總線-DMA簡介

文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • dma
    dma
    +關注

    關注

    3

    文章

    582

    瀏覽量

    105916
  • AXI總線
    +關注

    關注

    0

    文章

    68

    瀏覽量

    14756
  • Zynq
    +關注

    關注

    10

    文章

    630

    瀏覽量

    49447

原文標題:ZYNQ中DMA與AXI4總線-DMA簡介

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RDMA設計36:驗證環境設計

    設計AXI4 總線用于 DUT 與系統內存的連接,負責進行數據傳輸。其由 DUT 驅動,并不需要驗證平臺產生額外的激勵。此復合體包含一個 Monitor,用于將總線信號轉換為
    發表于 02-04 15:22

    利用開源uart2axi4實現串口訪問axi總線

    microblaze和jtag-to-axi(jtag2axi)雖然也提供了訪問axi總線的能力,但是依賴于xilinx平臺。而uart-to-ax
    的頭像 發表于 12-02 10:05 ?2055次閱讀
    利用開源uart2<b class='flag-5'>axi4</b>實現串口訪問<b class='flag-5'>axi</b><b class='flag-5'>總線</b>

    基于AXI DMA IP核的DDR數據存儲與PS端讀取

    添加Zynq Processing System IP核,配置DDR控制器和時鐘。7000系列的Zynq可以參考正點原子DMA回環測試設置。
    的頭像 發表于 11-24 09:25 ?3234次閱讀
    基于<b class='flag-5'>AXI</b> <b class='flag-5'>DMA</b> IP核的DDR數據存儲與PS端讀取

    使用AXI4接口IP核進行DDR讀寫測試

    本章的實驗任務是在 PL 端自定義一個 AXI4 接口的 IP 核,通過 AXI_HP 接口對 PS 端 DDR3 進行讀寫測試,讀寫的內存大小是 4K 字節。
    的頭像 發表于 11-24 09:19 ?3726次閱讀
    使用<b class='flag-5'>AXI4</b>接口IP核進行DDR讀寫測試

    RDMA設計4:技術需求分析2

    開發。設計基于純邏輯電路,可以脫離 MCU 控制獨立運行,兼容 SoC 環境與純邏輯環境。 (4)使用標準 AXI 總線接口,設計使用標準化的 AXI4
    發表于 11-24 09:09

    Xilinx高性能NVMe Host控制器IP+PCIe 3.0軟核控制器IP,純邏輯實現,AXI4AXI4-Stream DMA接口,支持PCIe 3.0和4.0

    )讀寫、DMA讀寫和數據擦除功能,提供用戶一個簡單高效的接口實現高性能存儲解決方案。NVMe AXI4 Host Controller IP讀寫的順序傳輸長度是RTL運行時動態可配置的,最小
    發表于 11-14 22:40

    NVMe高速傳輸之擺脫XDMA設計23:UVM驗證平臺

    NVMe over PCIe采用 AXI4-Lite 接口、AXI4 接口和 PCIe3.0X4 接口,其中AXI4-Lite 和 AXI4
    的頭像 發表于 08-25 18:53 ?3038次閱讀
    NVMe高速傳輸之擺脫XDMA設計23:UVM驗證平臺

    RDMA簡介8之AXI分析

    AXI4 總線是第四代 AXI 總線,其定義了三種總線接口,分別為:AXI4
    的頭像 發表于 06-24 23:22 ?637次閱讀
    RDMA簡介8之<b class='flag-5'>AXI</b>分析

    RDMA簡介9之AXI 總線協議分析2

    ? 這里以功能完備的 AXI4 接口舉例說明 AXI4 總線的相關特點。AXI4 總線采用讀寫通道分離且數據通道與控制通道分離的方式,這樣的
    發表于 06-24 18:02

    RDMA簡介8之AXI 總線協議分析1

    AXI 總線是一種高速片內互連總線,其定義于由 ARM 公司推出的 AMBA 協議,主要用于高性能、高帶寬、低延遲、易集成的片內互連需求。AXI4
    發表于 06-24 18:00

    NVMe IP之AXI4總線分析

    1AXI4總線協議 AXI4總線協議是由ARM公司提出的一種片內總線協議 ,旨在實現SOC各模
    發表于 06-02 23:05

    NVMe簡介之AXI總線

    NVMe需要用AXI總線進行高速傳輸。而AXI總線是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)協議
    的頭像 發表于 05-21 09:29 ?778次閱讀
    NVMe簡介之<b class='flag-5'>AXI</b><b class='flag-5'>總線</b>

    NVMe協議簡介之AXI總線

    高性能、高帶寬、低延時的片內互連需求。AXI4總線則是AXI總線的第四代版本,主要包含三種類型的接口,分別是面向高性能地址映射通信的AXI4
    發表于 05-17 10:27

    一文詳解AXI DMA技術

    AXI直接數值存取(Drect Memory Access,DMA)IP核在AXI4內存映射和AXI4流IP接口之間提供高帶寬的直接內存訪問。DMA
    的頭像 發表于 04-03 09:32 ?2507次閱讀
    一文詳解<b class='flag-5'>AXI</b> <b class='flag-5'>DMA</b>技術

    AXI接口FIFO簡介

    AXI接口FIFO是從Native接口FIFO派生而來的。AXI內存映射接口提供了三種樣式:AXI4AXI3和AXI4-Lite。除了Na
    的頭像 發表于 03-17 10:31 ?2119次閱讀
    <b class='flag-5'>AXI</b>接口FIFO簡介