AHB Lite协议和AHB协议的区别
-
AHB Lite是AHB协议的简化版本。AHB Lite本质上意味着只有一个Master。这反过来也意味着:
1.1.无仲裁;
1.2.无HBUSREQ信号,无HGRANT信号;
1.4.无拆分或重试响应类型->HRESP只能是1位;
1.5.不得提前终止总线。 -
如何将完整的AHB主设备连接到AHB Lite从设备:
2.1.保持HBUSREQ打开;
2.2.将HGRANT置“1”。 -
如何将AHB站点主设备连接到完整的AHB从属设备:
3.1.将HREADY_out从从机反馈回从机的HREADY_In(从机将线程作为输入和输出),还可以将HREADY_out从从设备连接到主设备。
3.2.将从设备上的HSEL置“1”。 -
AHB Lite在何处使用:
4.1AHB lite的主要应用之一是多层AHB设计;
4.2Cortex-M处理器只有AHB Lite接口。下图中的Cortex-M3/4处理器通过以下3个AHB Lite接口连接到系统中。它们分别是:4.2.1. ICODE总线;4.2.2.DCODE总线;4.2.3.系统总线。
5. AHB Lite的工作原理:一个示例
完整AHB版本具有HBUSREQ和HBUSGRANT信号。通常,主机将使用HBUSREQ请求共享总线,除非总线被授予,否则它不会启动事务。这意味着在给定的时间内,只有一个主/从对可以通信。然而,如果使用多层AHB总线,它允许多个主/从对同时通信,从而巨大的提高系统性能。
在AHB Lite多层总线矩阵(参考下图)中,所有的主设备都有总线“授权”给它们。他们可以随时开始交易。然而,如果Slave(S2)由Master(M1)寻址,并且S2已经忙,则M1将具有其在总线/互连中注册的“地址阶段”,以及朝向主机的HREADY将被拉低。主设备M1将等待S2空闲。
这个示例显示了如何不需要HBUSREQ和HBUSGRANT进行通信。HBUSREQ/HBUSGRANT也会增加系统延迟,因为在主设备可以启动事务之前,它只需要增加至少1个额外的时钟周期。
在上述架构中,并非每个主机都连接到每个从机。虽然可以将每个主设备连接到每个从属设备,但在现实系统中,通常情况并非如此。因此,上图更能代表现实情况。
顺便说一下,以上是5x4系统。即5名Master和4个Slave。ARM有一个本地MxS解决方案,其中M<=16,S<=16。该设计非常节省面积。