天天看點

ARM總線方面知識

AMBA簡介

随着深亞微米工藝技術日益成熟,內建電路晶片的規模越來越大。數字IC從基于時序驅動的設計方法,發展到基于IP複用的設計方法,并在SOC設計中得到了廣泛應用。在基于IP複用的SoC設計中,片上總線設計是最關鍵的問題。為此,業界出現了很多片上總線标準。其中,由ARM公司推出的AMBA片上總線受到了廣大IP開發商和SoC系統內建者的青睐,已成為一種流行的工業标準片上結構。AMBA規範主要包括了AHB(Advanced High performance Bus)系統總線和APB(Advanced Peripheral Bus)外圍總線。

AMBA片上總線

AMBA 2.0規範包括四個部分:AHB、ASB、APB和Test Methodology。AHB的互相連接配接采用了傳統的帶有主子產品和從子產品的共享總線,接口與互連功能分離,這對晶片上子產品之間的互連具有重要意義。AMBA已不僅是一種總線,更是一種帶有接口子產品的互連體系。下面将簡要介紹比較重要的AHB和APB總線。

基于AMBA的片上系統

       一個典型的基于AMBA總線的系統框圖如圖3所示。

​​

ARM總線方面知識

​​  

大多數挂在總線上的子產品(包括處理器)隻是單一屬性的功能子產品:主子產品或者從子產品。主子產品是向從子產品發出讀寫操作的子產品,如CPU,DSP等;從子產品是接受指令并做出反應的子產品,如片上的RAM,AHB/APB 橋等。另外,還有一些子產品同時具有兩種屬性,例如直接存儲器存取(DMA)在被程式設計時是從子產品,但在系統讀傳輸資料時必須是主子產品。如果總線上存在多個主子產品,就需要仲裁器來決定如何控制各種主子產品對總線的通路。雖然仲裁規範是AMBA總線規範中的一部分,但具體使用的算法由RTL設計工程師決定,其中兩個最常用的算法是固定優先級算法和循環制算法。AHB總線上最多可以有16個主子產品和任意多個從子產品,如果主子產品數目大于16,則需再加一層結構(具體參閱ARM公司推出的Multi-layer AHB規範)。APB 橋既是APB總線上唯一的主子產品,也是AHB系統總線上的從子產品。其主要功能是鎖存來自AHB系統總線的位址、資料和控制信号,并提供二級譯碼以産生APB外圍裝置的選擇信号,進而實作AHB協定到APB協定的轉換。

AHB簡介

       AHB主要用于高性能子產品(如CPU、DMA和DSP等)之間的連接配接,作為SoC的片上系統總線,它包括以下一些特性:單個時鐘邊沿操作;非三态的實作方式;支援突發傳輸;支援分段傳輸;支援多個主要制器;可配置32位~128位總線寬度;支援位元組、半位元組和字的傳輸。AHB 系統由主子產品、從子產品和基礎結構(Infrastructure)3部分組成,整個AHB總線上的傳輸都由主子產品發出,由從子產品負責回應。基礎結構則由仲裁器(arbiter)、主子產品到從子產品的多路器、從子產品到主子產品的多路器、譯碼器(decoder)、虛拟從子產品(dummy Slave)、虛拟主子產品(dummy Master)所組成。其互連結構如圖1所示。

​​

ARM總線方面知識

​​  

 APB簡介

       APB主要用于低帶寬的周邊外設之間的連接配接,例如UART、1284等,它的總線架構不像AHB支援多個主子產品,在APB裡面唯一的主子產品就是APB 橋。其特性包括:兩個時鐘周期傳輸;無需等待周期和回應信号;控制邏輯簡單,隻有四個控制信号。APB上的傳輸可以用如圖2所示的狀态圖來說明。

​​

ARM總線方面知識

​​​