AMBA總線概述(一)

高級微控制器總線結構Advanced Microcontroller Bus Architecture(AMBA)定義了高性能嵌入式微控制器的通信標準。可以將RISC處理器集成在其他IP芯核和外設中,它是有效連接IP核的“數字膠”,並且是ARM複用策略的重要組件。它不是芯片與外設之間的接口,而是ARM內核與芯片上其他元件進行通信的接口。比如Xilinx公司的Zynq芯片,就是ARM與FPGA之間的連接通路。

AMBA3.0 協議:
1 Advanced High-performance Bus (AHB)
AHB總線用於高性能,高時鐘工作頻率模塊。AHB在AMBA架構中爲系統的高性能運行起到了基石作用。AHB爲高性能處理器,片上內存,片外內存提供接口,同時橋接慢速外設。高性能,數據傳輸,多總線主控制器,突發連續傳輸,分步傳輸。
AHB總線協議是AMBA的新一代總線協議,支持多種高性能總線主控制器。
特性:
a 突發連續傳輸
b 分步傳輸
c 支持多個主控制器、單週期內主控制器處理
d 單時鐘邊沿操作
e 非三態操作
f 支持64位,128位總線
g 支持字節,半字節和字的傳輸。
AHB總線通過DMA和DSP,允許在總線上存在一個或多個主控制器。雖然APB總線上可以掛接慢速外設,但是也允許在AHB上掛接一些慢速外設作爲從設備,不過它們通常還是掛接在APB總線上。
AHB總線通常設計時包含以下幾個設備:
a AHB主控制器:主控制器可以通過地址和控制信息,可以進行初始化,讀,寫操作。在同一時間,總線上只能有一個主控制器。
b AHB從設備:從設備通常是指在其地址空間內,響應主控制器發出的讀寫控制操作的被動設備。通過操作的成功與否反饋給其主控制器,完成數據的傳輸控制。
c AHB仲裁器:仲裁器根據用戶的配置,確保在總線上同一時間只有一個主控制器擁有總線控制權限。AHB總線上只能有一個仲裁器。
d AHB譯碼器:譯碼器解析在總線上傳輸的地址和控制信息。AHB總線上只能有一個譯碼器。
這裏寫圖片描述
2 Advanced System Bus (ASB)
ASB總線主要用於高性能系統模塊。ASB是可用於AHB不需要的高性能特性的芯片設計上可選的系統總線。ASB也支持高性能處理器,片上內存,片外內存提供接口和慢速外設。高性能,數據傳輸,多總線主控制器,突發連續傳輸。ASB總線是位於APB總線架構之上的用於高性能的總線協議,它有如下特點:
a 突發連續傳輸
b 單管道數據傳輸
c 多總線主控制器

3 Advanced Peripheral Bus (APB)
APB總線用於爲慢速外設提供總線技術支持。
APB是一種優化的,低功耗的,精簡接口總線,可以技術多種不同慢速外設。由於APB是ARM公司最早提出的總線接口,APB可以橋接ARM體系下每一種系統總線。低功耗,尋址控制,支持簡單接口協議,支持多種外設。APB通過橋接高帶寬、高性能總線,提供基本的微控制器二級總線,通常該總線上的外設有以下特點:支持映射寄存器接口,對帶寬沒有很高的要求,通過編程實現對外設進行控制。
APB總線接口協議是AMBA協議層次結構中的一部分,它是高度優化的連接低功耗外設的精簡接口。
APB看起來是一個本地的二級總線接口協議,用作AHB,ASB總線協議的從設備接口。
APB橋是從控制器模塊用來保證不同總線數據的有效傳輸和不同總線上控制信號的轉發處理。
APB應該用於連接低帶寬,且不需求高性能數據傳輸的外設。最新的APB總線協議規定了所有的信號傳遞都發生在時鐘的上升沿。這樣設計有以下優勢:
a 易於實現高頻率操作
b performance is independent of the mark-space ratio of the clock
c 通過單時鐘操作簡化靜態時序
d no special considerations are required for automatic test insertion
e 許多ASIC庫在上升沿寄存器有更好的選擇
f 簡化整合的時鐘模擬器
上述的優勢也說明APB總線可以更好的鏈接最新的AHB總線接口。
APB總線協議包含一個APB橋,它用來將AHB,ASB總線上的控制信號轉化爲APB從設備控制器上可用信號。APB總線上所有的外設都是從設備,這些從設備有以下特點:
a 接收有效的地址和控制訪問
b 當APB上的外設處於非活動狀態時,可以將這些外設處於0功耗狀態
c 譯碼器可以通過選通信號,提供輸出時序(非鎖定接口)
d 訪問時可執行數據寫入
APB主要用於低帶寬的周邊外設之間的連接,例如UART、1284等,它的總線架構不像AHB支持多個主模塊,在APB裏面唯一的主模塊就是APB 橋。其特性包括:兩個時鐘週期傳輸、無需等待週期和迴應信號、控制邏輯簡單,只有四個控制信號。APB上的傳輸可以用如圖3所示的狀態圖來說明。
這裏寫圖片描述
1) 系統初始化爲IDLE狀態,此時沒有傳輸操作,也沒有選中任何從模塊。
2) 當有傳輸要進行時,PSELx=1,PENABLE=0,系統進入SETUP狀態,並只會在SETUP 狀態停留一個週期。當PCLK的下一個上升沿時到來時,系統進入ENABLE 狀態。
3) 系統進入ENABLE狀態時,維持之前在SETUP 狀態的PADDR、PSEL、PWRITE不變,並將PENABLE置爲1。傳輸也只會在ENABLE狀態維持一個週期,在經過SETUP與ENABLE狀態之後就已完成。之後如果沒有傳輸要進行,就進入IDLE狀態等待;如果有連續的傳輸,則進入SETUP狀態。
4 基於AMBA的片上系統、
這裏寫圖片描述

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

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