高級微控制器總線結構完美解析
高級微控制器總線結構Advanced Microcontroller Bus Architecture(AMBA)定義了高性能嵌入式微控制器的通信標準??梢詫ISC處理器集成在其他IP芯核和外設中,它是有效連接IP核的“數(shù)字膠”,并且是ARM復用策略的重要組件。它不是芯片與外設之間的接口,而是ARM內核與芯片上其他元件進行通信的接口。比如Xilinx公司的Zynq芯片,就是ARM與FPGA之間的連接通路。
本文引用地址:http://cafeforensic.com/article/201710/365834.htmAMBA3.0 協(xié)議:
1 Advanced High-performance Bus (AHB)
AHB總線用于高性能,高時鐘工作頻率模塊。AHB在AMBA架構中為系統(tǒng)的高性能運行起到了基石作用。AHB為高性能處理器,片上內存,片外內存提供接口,同時橋接慢速外設。高性能,數(shù)據(jù)傳輸,多總線主控制器,突發(fā)連續(xù)傳輸,分步傳輸。
AHB總線協(xié)議是AMBA的新一代總線協(xié)議,支持多種高性能總線主控制器。
特性:
a 突發(fā)連續(xù)傳輸
b 分步傳輸
c 支持多個主控制器、單周期內主控制器處理
d 單時鐘邊沿操作
e 非三態(tài)操作
f 支持64位,128位總線
g 支持字節(jié),半字節(jié)和字的傳輸。
AHB總線通過DMA和DSP,允許在總線上存在一個或多個主控制器。雖然APB總線上可以掛接慢速外設,但是也允許在AHB上掛接一些慢速外設作為從設備,不過它們通常還是掛接在APB總線上。
AHB總線通常設計時包含以下幾個設備:
a AHB主控制器:主控制器可以通過地址和控制信息,可以進行初始化,讀,寫操作。在同一時間,總線上只能有一個主控制器。
b AHB從設備:從設備通常是指在其地址空間內,響應主控制器發(fā)出的讀寫控制操作的被動設備。通過操作的成功與否反饋給其主控制器,完成數(shù)據(jù)的傳輸控制。
c AHB仲裁器:仲裁器根據(jù)用戶的配置,確保在總線上同一時間只有一個主控制器擁有總線控制權限。AHB總線上只能有一個仲裁器。
d AHB譯碼器:譯碼器解析在總線上傳輸?shù)牡刂泛涂刂菩畔ⅰHB總線上只能有一個譯碼器。
2 Advanced System Bus (ASB)
ASB總線主要用于高性能系統(tǒng)模塊。ASB是可用于AHB不需要的高性能特性的芯片設計上可選的系統(tǒng)總線。ASB也支持高性能處理器,片上內存,片外內存提供接口和慢速外設。高性能,數(shù)據(jù)傳輸,多總線主控制器,突發(fā)連續(xù)傳輸。ASB總線是位于APB總線架構之上的用于高性能的總線協(xié)議,它有如下特點:
a 突發(fā)連續(xù)傳輸
b 單管道數(shù)據(jù)傳輸
c 多總線主控制器
3 Advanced Peripheral Bus (APB)
APB總線用于為慢速外設提供總線技術支持。
APB是一種優(yōu)化的,低功耗的,精簡接口總線,可以技術多種不同慢速外設。由于APB是ARM公司最早提出的總線接口,APB可以橋接ARM體系下每一種系統(tǒng)總線。低功耗,尋址控制,支持簡單接口協(xié)議,支持多種外設。APB通過橋接高帶寬、高性能總線,提供基本的微控制器二級總線,通常該總線上的外設有以下特點:支持映射寄存器接口,對帶寬沒有很高的要求,通過編程實現(xiàn)對外設進行控制。
APB總線接口協(xié)議是AMBA協(xié)議層次結構中的一部分,它是高度優(yōu)化的連接低功耗外設的精簡接口。
APB看起來是一個本地的二級總線接口協(xié)議,用作AHB,ASB總線協(xié)議的從設備接口。
APB橋是從控制器模塊用來保證不同總線數(shù)據(jù)的有效傳輸和不同總線上控制信號的轉發(fā)處理。
APB應該用于連接低帶寬,且不需求高性能數(shù)據(jù)傳輸?shù)耐庠O。最新的APB總線協(xié)議規(guī)定了所有的信號傳遞都發(fā)生在時鐘的上升沿。這樣設計有以下優(yōu)勢:
a 易于實現(xiàn)高頻率操作
b performance is independent of the mark-space raTIo of the clock
c 通過單時鐘操作簡化靜態(tài)時序
d no special consideraTIons are required for automaTIc test inserTIon
e 許多ASIC庫在上升沿寄存器有更好的選擇
f 簡化整合的時鐘模擬器
上述的優(yōu)勢也說明APB總線可以更好的鏈接最新的AHB總線接口。
APB總線協(xié)議包含一個APB橋,它用來將AHB,ASB總線上的控制信號轉化為APB從設備控制器上可用信號。APB總線上所有的外設都是從設備,這些從設備有以下特點:
a 接收有效的地址和控制訪問
b 當APB上的外設處于非活動狀態(tài)時,可以將這些外設處于0功耗狀態(tài)
c 譯碼器可以通過選通信號,提供輸出時序(非鎖定接口)
d 訪問時可執(zhí)行數(shù)據(jù)寫入
APB主要用于低帶寬的周邊外設之間的連接,例如UART、1284等,它的總線架構不像AHB支持多個主模塊,在APB里面唯一的主模塊就是APB 橋。其特性包括:兩個時鐘周期傳輸、無需等待周期和回應信號、控制邏輯簡單,只有四個控制信號。APB上的傳輸可以用如圖3所示的狀態(tài)圖來說明。
1) 系統(tǒng)初始化為IDLE狀態(tài),此時沒有傳輸操作,也沒有選中任何從模塊。
2) 當有傳輸要進行時,PSELx=1,PENABLE=0,系統(tǒng)進入SETUP狀態(tài),并只會在SETUP 狀態(tài)停留一個周期。當PCLK的下一個上升沿時到來時,系統(tǒng)進入ENABLE 狀態(tài)。
3) 系統(tǒng)進入ENABLE狀態(tài)時,維持之前在SETUP 狀態(tài)的PADDR、PSEL、PWRITE不變,并將PENABLE置為1。傳輸也只會在ENABLE狀態(tài)維持一個周期,在經過SETUP與ENABLE狀態(tài)之后就已完成。之后如果沒有傳輸要進行,就進入IDLE狀態(tài)等待;如果有連續(xù)的傳輸,則進入SETUP狀態(tài)。
4 基于AMBA的片上系統(tǒng)
大多數(shù)掛在總線上的模塊(包括處理器)只是單一屬性的功能模塊:主模塊或者從模塊。主模塊是向從模塊發(fā)出讀寫操作的模塊,如CPU,DSP等;從模塊是接受命令并做出反應的模塊,如片上的RAM,AHB/APB 橋等。另外,還有一些模塊同時具有兩種屬性,例如直接存儲器存取(DMA)在被編程時是從模塊,但在系統(tǒng)讀傳輸數(shù)據(jù)時必須是主模塊。
如果總線上存在多個主模塊,就需要仲裁器來決定如何控制各種主模塊對總線的訪問。雖然仲裁規(guī)范是AMBA總線規(guī)范中的一部分,但具體使用的算法由RTL設計工程師決定,其中兩個最常用的算法是固定優(yōu)先級算法和循環(huán)制算法。AHB總線上最多可以有16個主模塊和任意多個從模塊,如果主模塊數(shù)目大于16,則需再加一層結構(具體參閱ARM公司推出的Multi-layer AHB規(guī)范)。
APB 橋既是APB總線上唯一的主模塊,也是AHB系統(tǒng)總線上的從模塊。其主要功能是鎖存來自AHB系統(tǒng)總線的地址、數(shù)據(jù)和控制信號,并提供二級譯碼以產生APB外圍設備的選擇信號,從而實現(xiàn)AHB協(xié)議到APB協(xié)議的轉換。
評論