用ARM芯片開發(fā)的看過來!今天來總結(jié)下AMBA總線
之前接觸過AMBA,以為只是ARM自家的私有的總線呢,后來得知,這是個相對通用的總線,所以來總結(jié)學習一下。
什么是AMBA總線
AMBA,是一種開放的協(xié)議,主要用于SoC內(nèi)部和ASIC,用于連接各種功能模塊,簡稱AMBA總線。
其是ARM最開始設(shè)計出來的。AMBA是相對使用比較廣的片內(nèi)總線技術(shù),不單單是ARM專有的。
AMBA總線的仲裁
很明顯,如果總線上存在多個主模塊,就需要仲裁器來決定如何控制各種主模塊對總線的訪問。
AMAB也不例外。
AMBA總線仲裁的相關(guān)案例和應用
而對于AMBA總線仲裁的相關(guān)應用,之前接觸過AMS的SoC AS3536中,就有關(guān)于對應的優(yōu)先順序的設(shè)置:
即,對應的ARB寄存器,可以設(shè)置,AHB總線上面的數(shù)據(jù)的優(yōu)先級。
ARMI:ARM的指令
ARMD:ARM的數(shù)據(jù)
DMAC:DMA控制器
BRIDGE:AHB/APB 橋(Bridge)
可以通過配置,決定他們的優(yōu)先級順序。
另外,還有一個ARB:
這兩個寄存器有啥區(qū)別?有待再學習。
AMBA總線應用舉例
SoC AS2525中用到了AMBA
AMS的AS3525是基于ARM922TDMI的:
第一次得知,其中的片內(nèi)總線用的是AMBA,以為是ARM專有的總線呢。
后來才知道,AMBA是相對用的比較廣的片內(nèi)總線,被多家公司所采用的,不單單是ARM公司。
APM86491 SoC中用了AMBA
也有AHB和APB。
Cortex M0+也用AMBA的AHB和APB
多個AMBA組件:AXI3/4, ACE, AHB, APB
S3C6410中也用了AMBA
ARM Cortex-M0、Cortex-M3 和 Cortex-M4 處理器的示例系統(tǒng)也用到AMBA
S3C2412也用到AMBA
Diamond Core CPU也用到了AMBA
LEON中也有用AHBA
(本文轉(zhuǎn)自網(wǎng)絡,感謝原作者的辛苦分享)
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!