AMBA
AMBA(Advanced Microcontroller Bus Architecture) 总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,具有高速度低功耗等特点。
总线:系统芯片中各个模块之间需要有接口来连接。总线作为子系统之间共享的通信链路。
ARM中的总线用于不同部件之间的通信。有两种不同类型的设备连接到总线:
ARM处理器:它是总线的主设备,拥有对总线的仲裁权,可以通过同一总线主动发起数据传输请求;
外围器件:是总线的从设备,在总线上是被动的,只能对主设备发出的一个传输请求做出反应。
AMBA 总线架构主要包括以下几种不同的总线标准:
AHB (Advanced High-performance Bus):高级高性能总线,用于连接处理器、直接存储器访问(DMA)、高性能存储器控制器等。
APB (Advanced Peripheral Bus):高级外围总线,用于连接低速外围设备,如 UART(通用异步接收发射器)。
AXI (Advanced eXtensible Interface):高级可拓展接口,提供高速度、高带宽的连接,支持乱序和非对齐操作,有效支持初始延迟较高的外设。
ASB (Advanced System Bus):高级系统总线,使用较少。
AMBA 1.0:ASB和APB
AMBA 2.0:AHB,ASB和APB
AMBA 3.0:AMBA Advanced extensible Interface (AXI)(可以用于ARM和FPGA的高速数据交互)
AMBA 4.0:…
AMBA总线优点
Efficient IP reuse(高效的IP重用):AMBA规范了接口,以至于数以千的SOCs和IPs都可以使用AMBA Interface。
Flexibility(灵活性):比较灵活的规范和接口定义。
Compatibility(兼容性):一个标准的接口规范,以至于在不同的IP直接得到兼容。
Support:AMBA得到很好的支持。它在整个半导体行业得到广泛实施和支持,包括来自第三方IP产品和工具的支持。
BandWith:在同步系统中,最大带宽受时钟速度和数据总线宽度限制。
AMBA 架构的 SOC
AHB(high-performance 的 system bus ): 负责连接例如 ARM 之类的 embedded processor 与 DMA controller,on-chip memory 和其他 interface,或其他需要 high bandwidth 的元件。
APB(low-power 的 peripheral bus ):用来连接系统的周边元件,其protocol 相对AHB 来讲较为简单, 与 AHB 之间则透过 Bridge 相连,期望能减少 system bus 的 loading。
在AHB和APB之间,有AHB-APB桥,这是为了解决高性能器件和片内低带宽外设之家的匹配问题;
AHB支持多个Master,因此需要Arbiter来仲裁。
仲裁器(Arbiter)在数字电路设计中是一个非常重要的模块,它的主要作用是在多个请求(request)信号中选择一个进行授权(grant)。当多个设备或模块需要访问同一资源(如总线、内存、设备等)时,仲裁器决定了哪个请求能够获得访问权。
在APB里面,唯一的Master就是APB桥,因此不需要仲裁。