之前接触过AMBA,以为只是ARM自家的私有的总线呢,后来得知,这是个相对通用的总线,所以来总结学习一下。
        什么是AMBA总线
        AMBA,是一种开放的协议,主要用于SoC内部和ASIC,用于连接各种功能模块,简称AMBA总线。
        其是ARM最开始设计出来的。AMBA是相对使用比较广的片内总线技术,不单单是ARM专有的。
        AMBA总线的仲裁
        很明显,如果总线上存在多个主模块,就需要仲裁器来决定如何控制各种主模块对总线的访问。
        AMAB也不例外。
        AMBA总线仲裁的相关案例和应用
        而对于AMBA总线仲裁的相关应用,之前接触过AMS的SoC AS3536中,就有关于对应的优先顺序的设置
       

        ARMI:ARM的指令
        ARMD:ARM的数据
        DMAC:DMA控制器
        BRIDGE:AHB/APB 桥(Bridge)
        可以通过配置,决定他们的优先级顺序。
        另外,还有一个ARB
       

        AMBA总线应用举例
        SoC AS2525中用到了AMBA
        AMS的AS3525是基于ARM922TDMI的
       

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

        Cortex M0+也用AMBA的AHB和APB
       

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

        S3C6410中也用了AMBA
       

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

        转自网络