当前位置:首页 > 嵌入式 > 嵌入式微处理器
[导读]之前接触过AMBA,以为只是ARM自家的私有的总线呢,后来得知,这是个相对通用的总线,所以来总结学习一下。  什么是AMBA总线 AMBA,是一种开放的协议,主要用于SoC内部和ASIC,用于连接各种功能模块,简称AMBA总线。 其是ARM最开始设计出来的。AMBA是相对使用


之前接触过AMBA,以为只是ARM自家的私有的总线呢,后来得知,这是个相对通用的总线,所以来总结学习一下。


 什么是AMBA总线

AMBA,是一种开放的协议,主要用于SoC内部和ASIC,用于连接各种功能模块,简称AMBA总线。


其是ARM最开始设计出来的。AMBA是相对使用比较广的片内总线技术,不单单是ARM专有的。

 

AMBA总线的仲裁

很明显,如果总线上存在多个主模块,就需要仲裁器来决定如何控制各种主模块对总线的访问。

AMAB也不例外。

 

AMBA总线仲裁的相关案例和应用

而对于AMBA总线仲裁的相关应用,之前接触过AMS的SoC AS3536中,就有关于对应的优先顺序的设置: 

即,对应的ARB寄存器,可以设置,AHB总线上面的数据的优先级。

ARMI:ARM的指令

ARMD:ARM的数据

DMAC:DMA控制器

BRIDGE:AHB/APB 桥(Bridge)

可以通过配置,决定他们的优先级顺序。

另外,还有一个ARB: 

这两个寄存器有啥区别?有待再学习。

 

AMBA总线应用举例

SoC AS2525中用到了AMBA

AMS的AS3525是基于ARM922TDMI的: 

第一次得知,其中的片内总线用的是AMBA,以为是ARM专有的总线呢。

后来才知道,AMBA是相对用的比较广的片内总线,被多家公司所采用的,不单单是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 处理器的示例系统也用到AMBA

 

S3C2412也用到AMBA

 

Diamond Core CPU也用到了AMBA

 

LEON中也有用AHBA

 

(本文转自网络,感谢原作者的辛苦分享)




免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

嵌入式ARM

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭