AHB2 支持多个Bus Master,例如有三个Master,有四个slave,但是同时只有一个Mater可以拿到Bus的访问权。所以,总线的使用权就需要Master去申请,也就需要一个仲裁器(Arbiter)。同时也支持突发传输,分段传输,字节、半字节和字的传输,也可配置总线位宽。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器、译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块(dummy Master)所组成。其互连结构如图1所示。
图1 AHB2总线互连结构图
AHB2协议要求Slave 的地址空间至少是以1KB为单位,这个要求在AHB-lite也存在。
AHB-lite是AMBA 3,在AHB2的基础上互连逻辑和slave设计上做了简化,为单Bus Master设计的(低端MCU的SoC系统使用的Bus master个数相对比较少)。
图2 AHB3总线互连结构图
当然AHB3系统也是有办法实现支持多个Master的,多个Mater连接到一个MUX输入,slave连接该MUX输出,相当于一个简单的仲裁器。MUX 也可以只连接其中一个Master,这样其他Master就无法访问MUX连接的Slave,相当于该Slave就是连接倒MUX上 的Master私有Slave,如下图3。
图3 AHB-lite实现多Master结构
AHB5是AMBA 5,在2015年发布,在AHB-lite的基础上增加功能,支持secure/non-sucure,配合v8 m系列架构的处理器,引入trustzone机制。