EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 geronimo123 于 2020-5-21 09:50 编辑
, _7 e, w) W. D( Y. b3 _$ |' r# P/ ^
之前接触过AMBA,以为只是ARM自家的私有的总线呢,后来得知,这是个相对通用的总线,所以来总结学习一下。4 {5 w4 @2 l+ l( [, l, u: ~7 C
什么是AMBA总线
6 ]/ ?' ^6 V& p9 J+ G' c: i1 o: IAMBA,是一种开放的协议,主要用于SoC内部和ASIC,用于连接各种功能模块,简称AMBA总线。
8 j# o/ p3 |8 g8 A. \* M* m
其是ARM最开始设计出来的。AMBA是相对使用比较广的片内总线技术,不单单是ARM专有的。 AMBA总线的仲裁 很明显,如果总线上存在多个主模块,就需要仲裁器来决定如何控制各种主模块对总线的访问。 AMAB也不例外。 AMBA总线仲裁的相关案例和应用 而对于AMBA总线仲裁的相关应用,之前接触过AMS的SoC AS3536中,就有关于对应的优先顺序的设置: 即,对应的ARB寄存器,可以设置,AHB总线上面的数据的优先级。6 t, G' \1 k/ H1 x0 n% c# }' }$ I) U3 z
ARMI:ARM的指令 ARMD:ARM的数据 DMAC:DMA控制器 BRIDGE:AHB/APB 桥(Bridge) 可以通过配置,决定他们的优先级顺序。 另外,还有一个ARB: 这两个寄存器有啥区别?有待再学习。
0 V6 i% Y- V2 K# i AMBA总线应用举例 SoC AS2525中用到了AMBA AMS的AS3525是基于ARM922TDMI的: 第一次得知,其中的片内总线用的是AMBA,以为是ARM专有的总线呢。3 i+ S$ e5 k: S2 V0 s1 q
后来才知道,AMBA是相对用的比较广的片内总线,被多家公司所采用的,不单单是ARM公司。 APM86491 SoC中用了AMBA 也有AHB和APB。0 O3 n& F/ n f9 D" |7 V2 W6 v9 A
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
. d v4 Z- A9 A6 F: J# N2 c【本文转自网络,感谢原作者的分享】
5 r5 R) v5 }! J, P d |