AHB---总线互连

1. 互连

互连组件在系统中提供master和slave之间的连接。 单master系统仅需要使用解码器(Decoder)和多路复用器(Multiplexor),如下所述。

多master系统需要使用互连,该互连提供仲裁以及将来自不同master的信号路由到相应的slave。这种路由对于地址、控制和写数据信号是必需的。 本规范未提供用于多master系统的不同方法的更多细节,例如单层或多层互连。

2. 地址解码

地址解码器为总线上的每个slave提供选择信号HSELx。选择信号是对高位地址信号的组合逻辑解码。鼓励使用简单的地址解码方案,以避免复杂的解码逻辑并确保高速操作。

slave只有在HREADY为高时,才应该对HSELx、地址和控制信号进行采样,这表明当前传输正在完成。在某些情况下,可能在HREADY为低时HSELx被断言,但到当前传输完成时选定的slave已经改变。

可以分配给单个slave的最小地址空间是1KB,地址区域的起始和结束必须位于1KB边界上。所有master都设计成不在跨越1KB地址边界上执行增量传输。这确保了一个突发永远不会跨越地址解码边界。

图4-1显示了解码器生成的HSELx slave选择信号。

2.1 default slave

如果系统设计不包含完全填充的内存映射,则必须实现一个额外的默认slave,以便在访问任何不存在的地址位置时提供响应。

如果对不存在的地址位置尝试非顺序或顺序传输,那么默认slave提供ERROR响应。

对不存在的位置的IDLE或BUSY传输结果为零等待状态OKAY响应。

2.2 多重slave选择

允许单个slave接口支持多个slave选择信号HSELx。每个HSELx信号对应于高位地址位的不同解码。

这允许单个slave接口提供多个逻辑接口,每个接口在系统地址映射中具有不同的位置。可以分配给逻辑接口的最小地址空间是1KB。这种方法消除了slave支持地址解码以区分逻辑接口的需要。 多重HSELx信号的典型用例是外围设备,其主数据路径和控制寄存器位于地址映射中的不同位置。两个位置都可以通过单个接口访问,而无需slave执行地址解码。

3. 读数据和响应多路复用器

AHB协议使用读数据多路复用器互连方案。master向所有slave驱动出地址和控制信号,由解码器选择对应的slave。任何来自选定slave的响应数据,都通过读数据多路复用器传递给master。

图4-2 多路复用器互连结构

注意 如果支持独占传输(Exclusive Transfers),多路复用器还必须将适当的HEXOKAY信号路由到master。