从最开始AMBA1.0版本定义的 高级系统总线(asb)和高级外设总线(apb)到最新版本 AMBA4.0中兼容AHB APB的同时,添加了AXI4规范(ARM 和 XILINX 共同制定的SOC内IP互联的规范),高级跟踪总线 ATB,等。AHP APB AXI等都可以认为是作用域CPU内部的总线协议或者说规范,然而我们会常提到外设通信的SPI CAN总线,实际是SPI控制器或者CAN控制器和外设芯片的通信层协议。在SPI控制器 CAN控制器和CPU的通信中,则采用的是AMBA的总线协议,通过AMBA总线协议来读取或者写入到SPI或者CAN的缓存中,然后再由SPI CAN启动自身的通信协议,将数据下发到外设,或者读取外设的数据。
AMBA APB:APB属于AMBA3协议系列,它提供了一个低功耗的接口,并降低了接口的复杂性。APB接口用于在低带宽和不需要高性能总线的外部设备上。APB是非流水线接口,所有的信号仅与时钟上升沿相关。这样就简化了APB外部设备的设计流程,每个传输至少消耗2个时钟周期。
AMBA AHB:AHB是新一代的AMBA总线,目的用于解决高性能可同步的设计要求,AHB是一个新级别的总线,高于APB,用于实现高性能,高时钟频率系统的特征要求。要求包括:猝发传输,分割交易,单周期总线主设备交接,单时钟沿操作,无三态实现,更宽的数据总线配置(64 or 128 bit)。
一个典型的AMBA系统中包括了AHB和APB总线结构。高性能ARM处理器,通过AHB连接高性能偏上RAM,高带宽存储器接口,DMA总线主设备,而后通过 AHB到APB的桥,连接到APB总线。在APB总线上,挂着串口,外设IO,键盘,定时器等外设控制器。
AMBA AXI4: soc 内部IP核之间的通信协议。