【FPGA】AXI總線協議

AXI總線協議

  • AXI 全稱 Advanced eXtensible Interface 主要描述了主設備和從設備之間的數據傳輸方式
  • AXI 協議主要描述了主設備和從設備之間的數據傳輸方式,主設備和從設備之間通過握手信號建立連接
  • 當從設備準備好接收數據時,會發出 READY 信號。當主設備的數據準備好時,會發出和維持 VALID 信號,表示數據有效
  • 數據只有在 VALID 和 READY 信號都有效的時候纔開始傳輸。當這兩個信號持續保持有效,主設備會繼續傳輸下一個數據
  • 主設備可以撤銷VALID 信號,或者從設備撤銷 READY 信號終止傳輸
  • AXI 的協議如圖, T2 時,從設備的 READY信號有效, T3 時主設備的 VILID 信號有效,數據傳輸開始
    在這裏插入圖片描述

AXI總線類型

在這裏插入圖片描述

AXI4-Lite

  • 具有輕量級,結構簡單的特點,適合小批量數據、簡單控制場合。不支持批量傳輸,讀寫時一次只能讀寫一個字( 32bit)。主要用於訪問一些低速外設和外設的控制

AXI4

  • 接口和 AXI-Lite 差不多,只是增加了一項功能就是批量傳輸,可以連續對一片地址進行一次性讀寫。也就是說具有數據讀寫的 burst 功能

上面兩種均採用內存映射控制方式,即 ARM 將用戶自定義 IP 編入某一地址進行訪問,讀寫時就像在讀寫自己的片內 RAM,編程也很方便,開發難度較低。代價就是資源佔用過多,需要額外的讀地址線、寫地址線、讀數據線、寫數據線、寫應答線這些信號線

AXI4-Stream

  • 這是一種連續流接口,不需要地址線(很像 FIFO,一直讀或一直寫就行)。對於這類 IP,ARM 不能通過上面的內存映射方式控制( FIFO 根本沒有地址的概念),必須有一個轉換裝置,例如 AXI-DMA 模塊來實現內存映射到流式接口的轉換
  • AXI-Stream 適用的場合有很多:視頻流處理;通信協議轉換;數字信號處理;無線通信等。其本質都是針對數值流構建的數據通路,從信源(例如 ARM 內存、 DMA、無線接收前端等)到信宿(例如 HDMI 顯示器、高速 AD 音頻輸出,等)構建起連續的數據流。這種接口適合做實時信號處理

AXI數據協議分析

  • AXI4 和 AXI4-Lite 接口包含 5 個不同的通道
  • Read Address Channel :讀地址通道
  • Write Address Channel :寫地址通道
  • Read Data Channel :讀數據通道
  • Write Data Channel : 寫數據通道
  • Write Response Channel :寫響應通道

其中每個通道都是一個獨立的 AXI 握手協議。下面兩個圖分別顯示了讀和寫的模型:
在這裏插入圖片描述
具體可看:AXI總線協議

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章