ahb总线协议主机_用ARM芯片开发的看过来!今天来总结下AMBA总线

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

什么是AMBA总线

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

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

AMBA总线的仲裁

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

AMAB也不例外。

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

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

bfeed557f583a20a2cf7864e5c674cf1.png

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

ARMI:ARM的指令

ARMD:ARM的数据

DMAC:DMA控制器

BRIDGE:AHB/APB 桥(Bridge)

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

另外,还有一个ARB:

0b818c9da9cc2deea0b772a774982d3b.png

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

AMBA总线应用举例

SoC AS2525中用到了AMBA

AMS的AS3525是基于ARM922TDMI的:

76f3c57dc68fb67f33f8d860fef3a382.png

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

后来才知道,AMBA是相对用的比较广的片内总线,被多家公司所采用的,不单单是ARM公司。

APM86491 SoC中用了AMBA

af6ecb14a245f37b7dac7a6c61fa0122.png

也有AHB和APB。

Cortex M0+也用AMBA的AHB和APB

29dff01354763249881c99873835a102.png

多个AMBA组件:AXI3/4, ACE, AHB, APB

ae56ff7b75ad7de9a76d542998421c5c.png

S3C6410中也用了AMBA

ff760e0fec387d0d5bc808b4a68e40e5.png

ARM Cortex-M0、Cortex-M3 和 Cortex-M4 处理器的示例系统也用到AMBA

7c507e639c0f59e249c8648c98db5e49.png

S3C2412也用到AMBA

dfa9b3a730a8169bece0a3b082257274.png

Diamond Core CPU也用到了AMBA

83f7df9691cc51ae529550a5c70814ff.png

LEON中也有用AHBA

8fe635c1b911dfaf8427b84f09fdacf1.png

更多干货内容只需要你关注电子芯吧客微信公众号,或点击下方“了解更多”!

声明:本文系网络转载,版权归原作者所有。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值