當(dāng)前位置:首頁 > 百科知識(shí) > 工控 > 正文

Avalon總線

Nios系統(tǒng)的所有外設(shè)都是通過Avalon總線與Nios CPU相接的,Avalon總線是一種協(xié)議較為簡(jiǎn)單的片內(nèi)總線,Nios通過Avalon總線與外界進(jìn)行數(shù)據(jù)交換。

1 Avalon總線接口分類

  可分為兩類:Slave和Master。slave是一個(gè)從控接口,而master是一個(gè)主控接口。slave和master主要的區(qū)別是對(duì)于Avalon總線控制權(quán)的把握。master接口具有相接的Avalon總線控制權(quán),而slave接口是被動(dòng)的。常見的Avalon的傳輸結(jié)構(gòu)有:Avalon總線從讀(slaveread),Avalon總線帶一個(gè)延遲狀態(tài)從讀,Avalon總線從寫(slavewrite),Avalon總線帶一個(gè)延遲狀態(tài)從寫。

2 Avalon總線的特點(diǎn)有

  ●所有外設(shè)的接口與Avalon總線時(shí)鐘同步,不需要復(fù)雜的握手/應(yīng)答機(jī)制。這樣就簡(jiǎn)化了Avalon總線的時(shí)序行為,而且便于集成高速外設(shè)。Avalon總線以及整個(gè)系統(tǒng)的性能可以采用標(biāo)準(zhǔn)的同步時(shí)序分析技術(shù)來評(píng)估。

  ●所有的信號(hào)都是高電平或低電平有效,便于信號(hào)在總線中高速傳輸。在Avalon總線中,由數(shù)據(jù)選擇器(而不是三態(tài)緩沖器)決定哪個(gè)信號(hào)驅(qū)動(dòng)哪個(gè)外設(shè)。因此外設(shè)即使在未被選中時(shí)也不需要將輸出置為高阻態(tài)。

  ●為了方便外設(shè)的設(shè)計(jì),地址、數(shù)據(jù)和控制信號(hào)使用分離的、專用的端口。外設(shè)不需要識(shí)別地址總線周期和數(shù)據(jù)總線周期,也不需要在未被選中時(shí)使輸出無效。分離的地址、數(shù)據(jù)和控制通道還簡(jiǎn)化了與片上用戶自定義邏輯的連接。

3 其他特性和約定

  AValon總線還包括許多其他特性和約定,用以支持SOPCBuilder軟件自動(dòng)生成系統(tǒng)、總線和外設(shè),包括:

  ●最大4GB的地址空間——存儲(chǔ)器和外設(shè)可以映像到32位地址空間中的任意位置

  ●內(nèi)置地址譯碼——Avalon總線自動(dòng)產(chǎn)生所有外設(shè)的片選信號(hào),極大地簡(jiǎn)化了基于Avalon總線的外設(shè)的設(shè)計(jì)工作

  ●多主設(shè)備總線結(jié)構(gòu)——Avalon總線上可以包含多個(gè)主外設(shè),并自動(dòng)生成仲裁邏輯

  ●采用向?qū)椭脩襞渲孟到y(tǒng)——SOPCBuilder提供圖形化的向?qū)椭脩暨M(jìn)行總線配置(添加外設(shè)、指定主/從關(guān)系、定義地址映像等)。Avalon總線結(jié)構(gòu)將根據(jù)用戶在向?qū)е休斎氲膮?shù)自動(dòng)生成

  ●動(dòng)態(tài)地址對(duì)齊——如果參與傳輸?shù)碾p方總線寬度不一致,Avalon總線自動(dòng)處理數(shù)據(jù)傳輸?shù)募?xì)節(jié),使得不同數(shù)據(jù)總線寬度的外設(shè)能夠方便地連接

4 Avalon總線模塊為外設(shè)提供的服務(wù)

  Avalon總線模塊為連接到總線的Avalon外設(shè)提供了以下的服務(wù):

  ■數(shù)據(jù)通道多路轉(zhuǎn)換——Avalon總線模塊的多路復(fù)用器從被選擇的從外設(shè)向相關(guān)主外設(shè)傳輸數(shù)據(jù)。

  ■地址譯碼——地址譯碼邏輯為每一個(gè)外設(shè)提供片選信號(hào)。這樣,單獨(dú)的外設(shè)不需要對(duì)地址線譯碼以產(chǎn)生片選信號(hào),從而簡(jiǎn)化了外設(shè)的設(shè)計(jì)。

  ■產(chǎn)生等待狀態(tài)(Wait-State)——等待狀態(tài)的產(chǎn)生拓展了一個(gè)或多個(gè)周期的總線傳輸,這有利于滿足某些特殊的同步外設(shè)的需要。當(dāng)從外設(shè)無法在一個(gè)時(shí)鐘周期內(nèi)應(yīng)答的時(shí)候,產(chǎn)生的等待狀態(tài)可以使主外設(shè)進(jìn)入等待狀態(tài)。在讀使能及寫使能信號(hào)需要一定的建立時(shí)間/保持時(shí)間要求的時(shí)候也可以產(chǎn)生等待狀態(tài)。

  ■動(dòng)態(tài)總線寬度——動(dòng)態(tài)總線寬度隱藏了窄帶寬外設(shè)與較寬的Avalon總線(或者Avalon總線與更高帶寬的外設(shè))相接口的細(xì)節(jié)問題。舉例來說,一個(gè)32位的主設(shè)備從一個(gè)16位的存儲(chǔ)器中讀數(shù)據(jù)的時(shí)候,動(dòng)態(tài)總線寬度可以自動(dòng)的對(duì)16位的存儲(chǔ)器進(jìn)行兩次讀操作,從而傳輸32位的數(shù)據(jù)。這便減少了主設(shè)備的邏輯及軟件的復(fù)雜程度,因?yàn)橹髟O(shè)備不需要關(guān)心外設(shè)的物理特性。

  ■中斷優(yōu)先級(jí)(Interrupt-Priority)分配——當(dāng)一個(gè)或者多個(gè)從外設(shè)產(chǎn)生中斷的時(shí)候,Avalon總線模塊根據(jù)相應(yīng)的中斷請(qǐng)求號(hào)(IRQ)來判定中斷請(qǐng)求。

  ■延遲傳輸(LatentTransfer)能力——在主、從設(shè)備之間進(jìn)行帶有延遲傳輸?shù)倪壿嫲贏valon總線模塊的內(nèi)部。

  ■流式讀寫(StreamingReadandWrite)能力——在主、從設(shè)備之間進(jìn)行流傳輸使能的邏輯包含于Avalon總線模塊的內(nèi)部。


內(nèi)容來自百科網(wǎng)