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