Nios系統的所有外設都是通過Avalon總線與Nios CPU相接的,Avalon總線是一種協議較為簡單的片內總線,Nios通過Avalon總線與外界進行數據交換。
Avalon總線接口分類
可分為兩類:Slave和Master。slave是一個從控接口,而master是一個主控接口。slave和master主要的區別是對于Avalon總線控制權的把握。master接口具有相接的Avalon總線控制權,而slave接口是被動的。常見的Avalon的傳輸結構有:Avalon總線從讀(slave read),Avalon總線帶一個延遲狀態從讀,Avalon總線從寫(slave write),Avalon總線帶一個延遲狀態從寫。
Avalon總線的特點有
所有外設的接口與Avalon總線時鐘同步,不需要復雜的握手/應答機制。這樣就簡化了Avalon總 線的時序行為,而且便于集成高速外設。Avalon總線以及整個系統的性能可以采用標準的同步時序分析技術來評估。
所有的信號都是高電平或低電平有效,便于信號在總線中高速傳輸。在Avalon總線中,由數據選擇器(而不是三態緩沖器)決定哪個信號驅動哪個外設。因此外設即使在未被選中時也不需要將輸出置為高阻態。
為了方便外設的設計,地址、數據和控制信號使用分離的、專用的端口。外設不需要識別地址總線周期和數據總線周期,也不需要在未被選中時使輸出無效。分離的地址、數據和控制通道還簡化了與片上用戶自定義邏輯的連接 。
其他特性和約定
Avalon總線還包括許多其他特性和約定,用以支持SOPC Builder軟件自動生成系統、總線和外設,包括:
最大4GB的地址空間——存儲器和外設可以映像到32位地址空間中的任意位置
內置地址譯碼——Avalon總線自動產生所有外設的片選信號,極大地簡化了基于Avalon總線的外設的設計工作
多主設備總線結構——Avalon總線上可以包含多個主外設,并自動生成仲裁邏輯
采用向導幫助用戶配置系統——SOPC Builder提供圖形化的向導幫助用戶進行總線配置(添加外設、指定主/從關系、定義地址映像等)。Avalon總線結構將根據用戶在向導中輸入的參數自動生成
動態地址對齊——如果參與傳輸的雙方總線寬度不一致,Avalon總線自動處理數據傳輸的細節,使得不同數據總線寬度的外設能夠方便地連接
Avalon 總線模塊為外設提供的服務
Avalon 總線模塊為連接到總線的Avalon 外設提供了以下的服務:
數據通道多路轉換——Avalon 總線模塊的多路復用器從被選擇的從外設向相關主外設傳輸數據。
地址譯碼——地址譯碼邏輯為每一個外設提供片選信號。這樣,單獨的外設不需要對地址線譯碼以產生片選信號,從而簡化了外設的設計。
產生等待狀態(Wait-State)——等待狀態的產生拓展了一個或多個周期的總線傳輸,這有利于滿足某些特殊的同步外設的需要。當從外設無法在一個時鐘周期內應答的時候,產生的等待狀態可以使主外設進入等待狀態。在讀使能及寫使能信號需要一定的建立時間/保持時間要求的時候也可以產生等待狀態。
動態總線寬度——動態總線寬度隱藏了窄帶寬外設與較寬的Avalon 總線(或者Avalon 總線與更高帶寬的外設)相接口的細節問題。舉例來說,一個32 位的主設備從一個16 位的存儲器中讀數據的時候,動態總線寬度可以自動的對16 位的存儲器進行兩次讀操作,從而傳輸32 位的數據。這便減少了主設備的邏輯及軟件的復雜程度,因為主設備不需要關心外設的物理特性。
中斷優先級(Interrupt-Priority)分配——當一個或者多個從外設產生中斷的時候,Avalon 總線模塊根據相應的中斷請求號(IRQ)來判定中斷請求。
延遲傳輸(Latent Transfer)能力——在主、從設備之間進行帶有延遲傳輸的邏輯包含于Avalon總線模塊的內部。
流式讀寫(Streaming Read and Write)能力——在主、從設備之間進行流傳輸使能的邏輯包含于Avalon 總線模塊的內部。
-
NIOS
+關注
關注
2文章
104瀏覽量
52835 -
數據交換
+關注
關注
0文章
102瀏覽量
17922 -
Avalon總線
+關注
關注
0文章
11瀏覽量
10120
原文標題:Avalon總線概述
文章出處:【微信號:ALIFPGA,微信公眾號:FPGA極客空間】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論