0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

從應(yīng)用角度詳解什么是AXI

Hx ? 作者:工程師陳翠 ? 2018-07-13 07:08 ? 次閱讀

本節(jié)介紹的AXI是個(gè)什么東西呢,它其實(shí)不屬于Zynq,不屬于Xilinx,而是屬于ARM。它是ARM最新的總線接口,以前叫做AMBA,從3.0以后就稱為AXI了。

書上講的AXI比較具體,本節(jié)呢不打算落入俗套,從應(yīng)用角度解釋AXI。如果需要深入研究AXI時(shí)序,那完全可以從 ?topic=/com.arm.doc.set.amba/ind.。。 下載最權(quán)威的規(guī)格書,而不是通過(guò)別人寫的書來(lái)獲得這些內(nèi)容(要學(xué)習(xí)一手材料,不要?jiǎng)e人嚼過(guò)的)。

Zynq是以ARM作為核心的,運(yùn)行時(shí)也是第一個(gè)“醒”過(guò)來(lái),然后找可執(zhí)行代碼,找到后進(jìn)入FSBL(第一引導(dǎo)階段),接著找配置邏輯部分的bit文件,找到后就叫醒PL按照bit中的方式運(yùn)行,再接著找可執(zhí)行代碼,進(jìn)入SSBL(第二引導(dǎo)階段),這時(shí)就可以初始化操作系統(tǒng)的運(yùn)行環(huán)境,引導(dǎo)像Linux這樣的大型程序,隨后將控制權(quán)交給Linux。Linux運(yùn)行時(shí)可以跟PL進(jìn)行數(shù)據(jù)交互。注意了,就在這時(shí)候,數(shù)據(jù)交互的通路,就是我們本節(jié)要講的AXI總線。

說(shuō)白了,AXI就是負(fù)責(zé)ARM與FPGA之間通信的專用數(shù)據(jù)通道。

ARM內(nèi)部用硬件實(shí)現(xiàn)了AXI總線協(xié)議,包括9個(gè)物理接口,分別為AXI-GP0~AXI-GP3,AXI-HP0~AXI-HP3,AXI-ACP接口。如下圖黃圈所示。

從應(yīng)用角度詳解什么是AXI

可以看到,只有兩個(gè)AXI-GP是Master Port,即主機(jī)接口,其余7個(gè)口都是Slave Port(從機(jī)接口)。主機(jī)接口具有發(fā)起讀寫的權(quán)限,ARM可以利用兩個(gè)AXI-GP主機(jī)接口主動(dòng)訪問(wèn)PL邏輯,其實(shí)就是把PL映射到某個(gè)地址,讀寫PL寄存器如同在讀寫自己的存儲(chǔ)器。其余從機(jī)接口就屬于被動(dòng)接口,接受來(lái)自PL的讀寫,逆來(lái)順受。

這9個(gè)AXI接口性能也是不同的。GP接口是32位的低性能接口,理論帶寬600MB/s,而HP和ACP接口為64位高性能接口,理論帶寬1200MB/s。

有人會(huì)問(wèn),為什么高性能接口不做成主機(jī)接口呢?這樣可以由ARM發(fā)起高速數(shù)據(jù)傳輸。答案是高性能接口根本不需要ARM CPU來(lái)負(fù)責(zé)數(shù)據(jù)搬移,真正的搬運(yùn)工是位于PL中的DMA控制器。

位于PS端的ARM直接有硬件支持AXI接口,而PL則需要使用邏輯實(shí)現(xiàn)相應(yīng)的AXI協(xié)議。Xilinx提供現(xiàn)成IP如AXI-DMA,AXI-GPIO,AXI-Datamover都實(shí)現(xiàn)了相應(yīng)的接口,使用時(shí)直接從XPS的IP列表中添加即可實(shí)現(xiàn)相應(yīng)的功能。

有時(shí),用戶需要開發(fā)自己定義的IP同PS進(jìn)行通信,這時(shí)可以利用XPS向?qū)蓪?duì)應(yīng)的IP。xps中用戶自定義IP核可以擁有AXI-Lite,AXI4,AXI-Stream,PLB和FSL這些接口。

后兩種由于ARM這一端不支持,所以不用。

AXI-Lite具有輕量級(jí),結(jié)構(gòu)簡(jiǎn)單的特點(diǎn),適合小批量數(shù)據(jù)、簡(jiǎn)單控制場(chǎng)合。不支持批量傳輸,讀寫時(shí)一次只能讀寫一個(gè)字(32bit)。

AXI4接口和AXI-Lite差不多,只是增加了一項(xiàng)功能就是批量傳輸,可以連續(xù)對(duì)一片地址進(jìn)行一次性讀寫。

上面兩種均采用內(nèi)存映射控制方式,即ARM將用戶自定義IP編入某一地址進(jìn)行訪問(wèn),讀寫時(shí)就像在讀寫自己的片內(nèi)RAM編程也很方便,開發(fā)難度較低。代價(jià)就是資源占用過(guò)多,需要額外的讀地址線、寫地址線、讀數(shù)據(jù)線、寫數(shù)據(jù)線、寫應(yīng)答線這些信號(hào)線。

另外一種AXI接口就是AXI-Stream,這是一種連續(xù)流接口,不需要地址線(很像FIFO,一直讀或一直寫就行)。對(duì)于這類IP,ARM不能通過(guò)上面的內(nèi)存映射方式控制(FIFO根本沒有地址的概念),必須有一個(gè)轉(zhuǎn)換裝置,例如AXI-DMA模塊來(lái)實(shí)現(xiàn)內(nèi)存映射到流式接口的轉(zhuǎn)換。AXI-Stream適用的場(chǎng)合有很多:視頻流處理;通信協(xié)議轉(zhuǎn)換;數(shù)字信號(hào)處理;無(wú)線通信等。其本質(zhì)都是針對(duì)數(shù)值流構(gòu)建的數(shù)據(jù)通路,從信源(例如ARM內(nèi)存、DMA、無(wú)線接收前端等)到信宿(例如HDMI顯示器、音頻輸出等)構(gòu)建起連續(xù)的數(shù)據(jù)流。這種接口適合做實(shí)時(shí)信號(hào)處理。

有了上面的這些官方IP和向?qū)傻淖远xIP,用戶其實(shí)不需要對(duì)AXI時(shí)序了解太多(除非確實(shí)遇到問(wèn)題),因?yàn)閄ilinx已經(jīng)將和AXI時(shí)序有關(guān)的細(xì)節(jié)都封裝起來(lái),用戶只需要關(guān)注自己的邏輯實(shí)現(xiàn)即可。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • AXI
    AXI
    +關(guān)注

    關(guān)注

    1

    文章

    127

    瀏覽量

    16575
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AXI VIP設(shè)計(jì)示例 AXI接口傳輸分析

    賽靈思 AXI Verification IP (AXI VIP) 是支持用戶對(duì) AXI4 和 AXI4-Lite 進(jìn)行仿真的 IP。它還可作為 A
    發(fā)表于 07-08 09:24 ?1719次閱讀

    AMBA_AXI總線詳解

    AMBA_AXI總線詳解
    發(fā)表于 04-18 11:48

    怎么使用AXI CDMAOCM/DDR寫入BRAM

    可以Zynq上運(yùn)行的Linux控制的額外IP。我要做的就是將一些配置數(shù)據(jù)寫入PL中的BRAM。要做到這一點(diǎn),根據(jù)我在其他地方得到的建議,我提出了一個(gè)axi_cdma。所以CDMA有一個(gè)
    發(fā)表于 04-19 07:50

    AXI接口協(xié)議詳解

    、通信模型圖4?10 AXI主設(shè)備與設(shè)備之間的通信從上圖很容易看出,要通過(guò)AXI總線實(shí)現(xiàn)通信,我們需要一個(gè)主設(shè)備/上位機(jī)(Master)和一個(gè)設(shè)備/下位機(jī)(Slave),并通過(guò)
    發(fā)表于 04-08 10:45

    AXI接口協(xié)議詳解

    1、AXI接口協(xié)議詳解  AXI 總線  上面介紹了AMBA總線中的兩種,下面看下我們的主角—AXI,在ZYNQ中有支持三種AXI總線,擁有
    發(fā)表于 10-14 15:31

    一文詳解ZYNQ中的DMA與AXI4總線

    在ZYNQ中,支持AXI-Lite,AXI4和AXI-Stream三種總線,但PS與PL之間的接口卻只支持前兩種,AXI-Stream只能在PL中實(shí)現(xiàn),不能直接和PS相連,必須通過(guò)
    的頭像 發(fā)表于 09-24 09:50 ?5171次閱讀
    一文<b class='flag-5'>詳解</b>ZYNQ中的DMA與<b class='flag-5'>AXI</b>4總線

    你必須了解的AXI總線詳解

    不同類型的DMA GPIO PL general purpose AXI GP AXI utlilizing PS DMAC High performance w/DMA ACP w/DMA 幾種
    的頭像 發(fā)表于 10-09 18:05 ?7360次閱讀
    你必須了解的<b class='flag-5'>AXI</b>總線<b class='flag-5'>詳解</b>

    AXI-Stream代碼

    AXI-Stream代碼詳解 AXI4-Stream跟AXI4的區(qū)別在于AXI4-Stream沒有ADDR接口,這樣就不涉及讀寫數(shù)據(jù)的概念了
    的頭像 發(fā)表于 11-05 17:40 ?3473次閱讀
    <b class='flag-5'>AXI</b>-Stream代碼

    對(duì)AXI總線知識(shí)詳解解析

    AXI是個(gè)什么東西呢,它其實(shí)不屬于Zynq,不屬于Xilinx,而是屬于ARM。它是ARM最新的總線接口,以前叫做AMBA,3.0以后就稱為AXI了。
    的頭像 發(fā)表于 04-09 17:10 ?5752次閱讀
    對(duì)<b class='flag-5'>AXI</b>總線知識(shí)<b class='flag-5'>詳解</b>解析

    怎么樣利用AXI Quad SPI快速打通Linux至PL端SPI設(shè)備?

    選), MOSI(主出入), MISO(主入出)。 Dual/Quad SPI Mode: AXI Quad?SPI 模式 在標(biāo)準(zhǔn)模式下,支持高達(dá)32個(gè)站,這是非常靈活的指標(biāo)。本
    的頭像 發(fā)表于 04-09 17:45 ?7708次閱讀
    怎么樣利用<b class='flag-5'>AXI</b> Quad SPI快速打通Linux至PL端SPI<b class='flag-5'>從</b>設(shè)備?

    AXI4 、 AXI4-Lite 、AXI4-Stream接口

    AXI4 是一種高性能memory-mapped總線,AXI4-Lite是一只簡(jiǎn)單的、低通量的memory-mapped 總線,而 AXI4-Stream 可以傳輸高速數(shù)據(jù)流。字面意
    的頭像 發(fā)表于 07-04 09:40 ?8301次閱讀

    AXI學(xué)習(xí)路線,握手協(xié)議開始

    對(duì) AXI master的全面討論變得困難。我還沒有(還)想出如何簡(jiǎn)化材料來(lái)寫一篇關(guān)于如何構(gòu)建通用 AXI master器的帖子,這已經(jīng)夠難了——通常來(lái)說(shuō),尋址就是那么難。
    發(fā)表于 07-29 11:27 ?1131次閱讀

    Xilinx FPGA AXI4總線(一)介紹【AXI4】【AXI4-Lite】【AXI-Stream】

    FPGA 應(yīng)用角度看看 AMBA 總線中的 AXI4 總線。
    發(fā)表于 06-21 15:21 ?2220次閱讀
    Xilinx FPGA <b class='flag-5'>AXI</b>4總線(一)介紹【<b class='flag-5'>AXI</b>4】【<b class='flag-5'>AXI</b>4-Lite】【<b class='flag-5'>AXI</b>-Stream】

    AXI實(shí)戰(zhàn)(二)-AXI-Lite的Slave實(shí)現(xiàn)介紹

    可以看到,在AXI到UART中,是通過(guò)寄存器和FIFO進(jìn)行中介的。因?yàn)?b class='flag-5'>從AXI總線往里看,其控制的是就是地址上所映射的寄存器。
    的頭像 發(fā)表于 06-27 10:12 ?4415次閱讀
    <b class='flag-5'>AXI</b>實(shí)戰(zhàn)(二)-<b class='flag-5'>AXI</b>-Lite的Slave實(shí)現(xiàn)介紹

    什么是AXI?AXI如何工作?

    Xilinx Spartan-6 和 Virtex-6 器件開始采用高級(jí)可擴(kuò)展接口 (AXI) 協(xié)議作為知識(shí)產(chǎn)權(quán) (IP) 內(nèi)核。Xilinx 繼續(xù)將 AXI 協(xié)議用于針對(duì) 7 系列和 Zynq-7000 All Progr
    的頭像 發(fā)表于 09-27 09:50 ?1639次閱讀
    什么是<b class='flag-5'>AXI</b>?<b class='flag-5'>AXI</b>如何工作?