AMBA学习

AMBA 协议是用于连接和管理片上系统 (SoC) 中功能块的开放标准和芯片上互连规范。使用它,可以帮助开发带有大量控制器和外设的多处理器设计。AMBA 通过使用 ACE、AXI、AHB、APB 和 ATB 的规范对 SoC 模块的共同主干进行定义,这有助于设计的重复使用。


系统中的各个模块之间相互通信是通过总线,总线的作用就是把数据和地址从设备A搬到设备B。

基于AMBA的微控制器典型的由一个高性能系统中枢总线组成,能够支持外部存储器带宽,包括CPU,片上存储器和其他直接数据存取设备,加上一个桥接器连接到较窄的挂接着较低带宽外设的APB总线。

AHB  Advanced High-performance Bus

ASB:Advanced System Bus

APB:Advanced Peripheral Bus



1个字节8位,一个字32位。

AMBA的AHB的设计可能包含一个或多个主机,一个典型的系统至少包括处理器和测试接口,也可以将直接数据存取(DMA)和数字信号处理(DSP)包含做总线主机。



AHP/ASP应用:

1 总线主机;2 片上存储模块;3 片外存储器接口;4 带FIFO的高带宽外设;5 DMA从机外设。

ASP应用

1 简单的寄存器映射从机设备;2 时钟不能够全局布通的超低功耗接口;3 分组窄总线外设应避免挂接到系统总线上。



AMBA AHB 总线 协议设计使用一个中央多路选择器互联方案。使用该方案所有总线主机设备输出地址和控制信号来指示他们想要执行的传输同时仲裁器决定哪一个主机能够将他的地址和控制信号连通到所有的从机。需要译码器来控制读数据和响应多路信号选择器,多路信号选择器选中来自传输中所包含从机的适当信号。


在一次AMBA AHB传输开始之前总线主机必须被授予访问总线。这个过程开始于总线主机向仲裁器断言一个请求信号。仲裁器指示主机何时能够被授予使用总线。被授予的总线主机通过驱动地址和控制信号来发起一个AMBA AHB传输。这些信号提供关于地址、方向和传输宽度的信息,以及表示传输类型是否为一次突发传输的部分。