1. 程式人生 > >AXI-Stream介面介紹

AXI-Stream介面介紹

AXI4-Stream協議是一種用來連線需要交換資料的兩個部件的標準介面,它可以用於連線一個產生資料的主機和一個接受資料的從機。當然它也可以用於連線多個主機和從機。該協議支援多種資料流使用相同共享匯流排集合,允許構建類似於路由、寬窄匯流排、窄寬匯流排等更為普遍的互聯。AXI4-Stream介面的訊號線定義如圖1所示[1]。比較重要的訊號線有:

ACLK為時鐘線,所有訊號都在ACLK上升沿被取樣;

ARESETn為復位線,低電平有效;

TVALID為主機資料同步線,為高表示主機準備好傳送資料;

TREADY為從機資料同步線,為高表示從機準備好接收資料;這兩根線完成了主機與從機的握手訊號,一旦二者都變高有效,資料傳輸開始。

TDATA為資料線,主機發送,從機接收。

TKEEP為主機資料有效指示,為高代表對應的位元組為有效位元組,否則表示傳送的為空位元組。

TLAST為主機最後一個字指示,下一clk資料將無效,TVALID將變低。

TID,TDEST,TUSER均為多機通訊時的訊號,這裡不涉及,不予考慮。


看到這裡,可能大家都還對Stream沒有一個直觀的認識。其實Stream並不陌生,在我們學c++程式設計時,一定會包含<iostream>,這樣就可以完成控制終端對程式的輸入輸出了。如果還是不夠直觀,想象一下連續不斷的水流,永遠向著一個方向以固定的速度輸送的介面。以我們看視訊為例,視訊檔案本來是儲存在硬盤裡的,怎麼播放呢,不能一下子把整個檔案都顯示到螢幕上,而是以一定的速度,連續不斷地輸出到螢幕上(每秒30~60幀),這個過程就是流Stream介面完成的。

Xilinx提供的流式IP核有很多用途,可以實現音訊流、視訊流、資料流到記憶體或者相反方向的傳輸。有人問了,記憶體是PS控制的,怎麼才能把PS裡DDR2的內容以Stream形式發出去呢(例如以固定速度送往DA,完成訊號發生器的設計)?答案就是利用AXI匯流排做轉換。ZYNQ的PS部分是ARM Cortex A9系列,支援AXI4,AXI-Lite匯流排。PL部分也有相應AXI匯流排介面,這樣就能完成PS到PL的互聯。僅僅這樣還不夠,需要PL部分實現流式轉換,即AXI-Stream介面實現。Xilinx提供的從AXI到AXI-Stream轉換的IP核有:AXI-DMA,AXI-Datamover,AXI-FIFO-MM2S以及AXI-VDMA等。這些IP核可以在XPS的IP Catalog視窗中看到。

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-CDMAIP核,這個是由PL完成的將資料從記憶體的一個位置搬移到另一個位置,無需CPU來插手。這個和我們這裡用的Stream沒有關係,所以不表。

這裡要和大家說明白一點,就是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介面,均為記憶體對映型AXI介面。

上面的IP是完成匯流排協議轉換,如果需要做某些處理(如變換、迭代、訓練……),則需要生成一個自定義Stream型別IP,與上面的Stream介面連線起來,實現資料輸入輸出。使用者的功能在自定義Stream型別IP中實現。


相關推薦

AXI-Stream介面介紹

AXI4-Stream協議是一種用來連線需要交換資料的兩個部件的標準介面,它可以用於連線一個產生資料的主機和一個接受資料的從機。當然它也可以用於連線多個主機和從機。該協議支援多種資料流使用相同共享匯流排集合,允許構建類似於路由、寬窄匯流排、窄寬匯流排等更為普遍的互聯

AXI Stream介面AXI介面規範

支援很多不同的流型別。流協議在傳輸和包之間定義了聯絡。 訊號 源 描述 ACLK 時鐘源 全域性時鐘訊號。所有訊號在ACLK訊號上升沿取樣。 ARESETn 復位源 全域性復位訊號,ARESETn低有效。 TVALID 主 TV

【OpenHW參賽手記】AXI-Stream介面開發詳細流程

 下面講一個例子,來加深對上面介紹內容的理解。筆者使用的軟體版本為ISE 14.2。 1.建立PlanAhead工程,一直到進入XPS,具體流程見官方文件CTT[1]。 2.在XPS中,新增一個AXI-DMA模組,配置介面如圖1所示。 圖1 AXI-DMA模組配置 其餘引

PHP規範PSR16(快取庫的通用介面)介紹

本文件描述了快取項和快取驅動程式的簡單但可擴充套件的介面。 本文件中的關鍵詞“必須”,“必須”,“必需”,“應該”,“不應該”,“應該”,“不應該”,“推薦”,“可以”和“可選”按照RFC 2119中的描述進行解釋。 最終的實現可以使用比提出的功能更多的功能來裝飾物件,但是它們必須首先實現所

迅為iMX6UL Cortex-A7架構單核ARM開發板介面介紹-支援定製

支援商業級和工業級核心板          1. POWER 電源介面電源輸入為 5V/2A+,給核心板提供 5V 電源,給底板供電。原理圖部分如下圖所示。          電

佇列 Queue介面介紹

add方法 //將一個非空非null元素插入到該佇列,如果插入成功返回true,不成功丟擲異常 boolean add(E e); offer方法 //將一個非空非null元素插入到該佇列,如果插入成功返回true,不成功返回false boolean offer(E e);

R studio介面介紹及par引數詳解

本篇文章主要包含以下內容,其中主要詳細介紹了par引數。其中par引數中的關於圖形位置引數能夠調整影象位置,達到一張圖中顯示多張圖的效果。 1. R studio 介面 2.par引數 2.1圖形位置引數 2.2顏色設定引數(待更新) 2.3文字引數(待更新)

Spring Boot Actuator監控(各個介面介紹

Spring Boot Actuator 提供了 一些介面,向外部提供本應用程式的監控資訊。 介面分為三大類: 應用配置類:獲取應用程式中載入的應用配置、環境變數、自動化配置報告等與Spring Boot應用密切相關的配置類資訊。 度量指標類:獲取應用程式執行過程中

java8新特性——Stream介面

Stream介面 1,stream的foreach方法 Stream不是一個數據結構,不直接儲存資料,它通過管道來操作資料。 建立Stream介面實現類物件: stream():建立一個Stream介面實現類的物件: Stream<Person> stream = P

106簡訊簡單描述與驗證碼簡訊介面介紹

如何呼叫 106簡訊驗證碼 介面地址 怎麼樣找簡訊公司要106簡訊驗證碼介面測試費用 一.什麼是106埠簡訊: 106簡訊通道是指僅中國移動、中國聯通提供的閘道器簡訊平臺,實現與客戶指定號碼進行簡訊批量傳送和自定義傳送的目的,即你收到的簡訊在手機上以106開頭的簡訊稱為106簡訊。 簡訊通道的分類國內

[Xcode10 實際操作]一、博主領進門-(9)Xcode左側介面介紹(一)

本文將演示Xcode的左側操作介面。 專案的目錄結構: 應用代理檔案【AppDelegate.swift】 應用代理檔案時系統執行本應用的委託,裡面定義瞭如程式的進入與退出、裝置方向旋轉等眾多全域性方法。 檢視控制器【ViewController.swift】 檢視控制器可以建立和管理檢視,也可以監

[Xcode10 實際操作]一、博主領進門-(2)Xcode右側介面介紹

本文將演示Xcode右側介面介紹。 在專案導航區,開啟檢視控制器的程式碼檔案【ViewController.swift】 右上角第三個【輔助編輯器】按鈕,將程式碼切換為左右兩個區域。 方便編寫程式碼時對比程式碼檔案,或是和故事板上的控制元件做連線。 再次點選【輔助編輯器】按鈕,彈出【編輯器顯示模式列表

USB通訊介面介紹

1. 概述 Usb = Universal Serial Bus全稱通用序列匯流排,是一種支援熱插拔的高速序列傳輸匯流排,使用差分訊號來傳輸資料。 USB裝置可以直接和host通訊,或者通過hub和host通訊。一個USB系統中僅有一個USB主機,裝置包括功能裝置和hub

solr視覺化管理介面介紹

2018年11月19日 10:34:28 qq_40391559 閱讀數:4 個人分類: solr

電腦開機進入setup的四種介面介紹

相信很多安裝過wins系統的人都會發現,不同電腦進入setup,裡面的選單都不一樣,主要就是Phoenix BIOS、AMI BIOS、Insyde BIOS和Byosoft這四個。 1,Phoenix BIOS Phoenix BIOS是Phoenix公司產品,Phoenix BIOS畫面

iOS&&Swift入門(一)App建立及Xcode介面介紹

6月份本科畢業之後轉到了CS系,正式開始了碼農生活。本來最近在跟教授做augmented reality的專案,用安卓機跑,但朋友假期學著iOS突然有了business idea,於是今天談了談我也準備一起入坑啦~晚上看了一些YouTube視訊,開始了iOS/S

SpringBoot第二講利用Spring Data JPA實現資料庫的訪問(二)_分頁和JpaSpecificationExecutor介面介紹

我們繼續研究spring jpa data,首先看看分頁和排序的實現,在原來的程式碼中,我們如果希望實現分頁,首先得建立一個Pager的物件,在這個物件中記錄total(總數),totalPager(總頁數),pageSize(每頁多少條記錄),pageInde

pthread庫介面 (介紹)

    ----------------------------------------------------------------------     POSIX函式         

Java8 Stream API介紹

http://blog.csdn.net/chaoer89/article/details/52389458  目錄(?)[-] Stream的建立 Stream的簡單使用 收集結果 Optional型別 函式式介面

儲存介質與介面介紹

一、儲存介質 儲存介質有:軟盤、光碟、硬碟以及SSD硬碟。現在主要介紹機械硬碟和SSD硬碟。 1、機械硬碟 從內部結構上說是機械結構: 主軸:主要是驅動碟片高速運轉的裝置。 碟片:主要起資料存放的作用,即資料儲存到碟片上。 磁頭驅動機構:主要