新聞中心

ARM總線方面知識

作者: 時間:2016-12-15 來源:網(wǎng)絡(luò) 收藏
AMBA簡介

隨著深亞微米工藝技術(shù)日益成熟,集成電路芯片的規(guī)模越來越大。數(shù)字IC從基于時序驅(qū)動的設(shè)計(jì)方法,發(fā)展到基于IP復(fù)用的設(shè)計(jì)方法,并在SOC設(shè)計(jì)中得到了廣泛應(yīng)用。在基于IP復(fù)用的SoC設(shè)計(jì)中,片上總線設(shè)計(jì)是最關(guān)鍵的問題。為此,業(yè)界出現(xiàn)了很多片上總線標(biāo)準(zhǔn)。其中,由ARM公司推出的AMBA片上總線受到了廣大IP開發(fā)商和SoC系統(tǒng)集成者的青睞,已成為一種流行的工業(yè)標(biāo)準(zhǔn)片上結(jié)構(gòu)。AMBA規(guī)范主要包括了AHB(Advanced High performance Bus)系統(tǒng)總線和APB(Advanced Peripheral Bus)外圍總線。

本文引用地址:http://m.butianyuan.cn/article/201612/330414.htm

AMBA片上總線

AMBA 2.0規(guī)范包括四個部分:AHB、ASB、APB和Test Methodology。AHB的相互連接采用了傳統(tǒng)的帶有主模塊和從模塊的共享總線,接口與互連功能分離,這對芯片上模塊之間的互連具有重要意義。AMBA已不僅是一種總線,更是一種帶有接口模塊的互連體系。下面將簡要介紹比較重要的AHB和APB總線。

基于AMBA的片上系統(tǒng)

一個典型的基于AMBA總線的系統(tǒng)框圖如圖3所示。


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

AHB簡介


AHB主要用于高性能模塊(如CPU、DMA和DSP等)之間的連接,作為SoC的片上系統(tǒng)總線,它包括以下一些特性:單個時鐘邊沿操作;非三態(tài)的實(shí)現(xiàn)方式;支持突發(fā)傳輸;支持分段傳輸;支持多個主控制器;可配置32位~128位總線寬度;支持字節(jié)、半字節(jié)和字的傳輸。AHB系統(tǒng)由主模塊、從模塊和基礎(chǔ)結(jié)構(gòu)(Infrastructure)3部分組成,整個AHB總線上的傳輸都由主模塊發(fā)出,由從模塊負(fù)責(zé)回應(yīng)。基礎(chǔ)結(jié)構(gòu)則由仲裁器(arbiter)、主模塊到從模塊的多路器、從模塊到主模塊的多路器、譯碼器(decoder)、虛擬從模塊(dummy Slave)、虛擬主模塊(dummy Master)所組成。其互連結(jié)構(gòu)如圖1所示。


APB簡介

APB主要用于低帶寬的周邊外設(shè)之間的連接,例如UART、1284等,它的總線架構(gòu)不像AHB支持多個主模塊,在APB里面唯一的主模塊就是APB橋。其特性包括:兩個時鐘周期傳輸;無需等待周期和回應(yīng)信號;控制邏輯簡單,只有四個控制信號。APB上的傳輸可以用如圖2所示的狀態(tài)圖來說明。



1)系統(tǒng)初始化為IDLE狀態(tài),此時沒有傳輸操作,也沒有選中任何從模塊。
2)當(dāng)有傳輸要進(jìn)行時,PSELx=1,PENABLE=0,系統(tǒng)進(jìn)入SETUP狀態(tài),并只會在SETUP狀態(tài)停留一個周期。當(dāng)PCLK的下一個上升沿時到來時,系統(tǒng)進(jìn)入ENABLE狀態(tài)。
3)系統(tǒng)進(jìn)入ENABLE狀態(tài)時,維持之前在SETUP狀態(tài)的PADDR、PSEL、PWRITE不變,并將PENABLE置為1。傳輸也只會在ENABLE狀態(tài)維持一個周期,在經(jīng)過SETUP與ENABLE狀態(tài)之后就已完成。之后如果沒有傳輸要進(jìn)行,就進(jìn)入IDLE狀態(tài)等待;如果有連續(xù)的傳輸,則進(jìn)入SETUP狀態(tài)。

AXI(Advanced eXtensible Interface)是一種總線協(xié)議,該協(xié)議是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0協(xié)議中最重要的部分,是一種面向高性能、高帶寬、低延遲的片內(nèi)總線。它的地址/控制和數(shù)據(jù)相位是分離的,支持不對齊的數(shù)據(jù)傳輸,同時在突發(fā)傳輸中,只需要首地址,同時分離的讀寫數(shù)據(jù)通道、并支持Outstanding傳輸訪問和亂序訪問,并更加容易進(jìn)行時序收斂。AXI 是AMBA 中一個新的高性能協(xié)議。AXI 技術(shù)豐富了現(xiàn)有的AMBA 標(biāo)準(zhǔn)內(nèi)容,滿足超高性能和復(fù)雜的片上系統(tǒng)(SoC)設(shè)計(jì)的需求。



關(guān)鍵詞: ARM總線片上系

評論


技術(shù)專區(qū)

關(guān)閉