AMBA接口文档
Last updated: 7/10/2013 8:44 AM
Page 13 of 62
图4.1 基本传输
在这个没有等待状态的简单传输中:
? 主机在HCLK 的上升沿之后将地址和控制信号驱动到总线上; ? 然后在时钟的下一个上升沿从机采样地址和控制信息;
? 在从机采样了地址和控制信号后能够开始驱动适当的响应并且该响应被总线主机 在第三个时钟的上升沿采样。
这个简单的例子演示了在不同的时钟阶段传输的地址和数据相位是如何产生的。事实上,任何传输的地址相位在前一次传输的数据相位期间出现。这种地址和数据的交叠是总线具有流水传输的基本性质同时允许高性能的操作。同时仍然给从机提供足够的时间来产生传输响应。
从机也可能插入等待周期到任意传输中,如图 4.2所示,这样扩展了传输完成允许的附加时间。
AMBA接口文档
Last updated: 7/10/2013 8:44 AM
Page 14 of 62
图4.2 有等待状态的传输
注意:
对写操作而言总线主机必须保持数据在整个扩展周期中稳定;对读传输从机没必要提供有效数据直到传输将要结束时。
当传输以这种方式扩展时随后的传输将会有地址相位扩展的副作用。如图 4.3所示,表示了三次传输到无关的地址A、B和C。
图4.3 多重传输
在图 4.3中:
? 到地址A 和C 的传输都是零等待状态; ? 到地址B 的传输是一个等待状态;
AMBA接口文档
Last updated: 7/10/2013 8:44 AM
Page 15 of 62
? 传输到地址B 的扩展数据相位对传输到地址C 的扩展地址相位有影响。
4.2传输类型
HTRANS [1:0] 00 IDLE (空闲) 表示没有数据传输的要求。空闲传输类型在总线主机被授予总线,但并不希望执行一个数据传输时使用。 从机必须总是提供一个零等待状态OKAY 来响应空闲传输并且该传输应该被从机忽略。 01 BUSY (忙) 忙传输类型允许总线主机在突发传输中间插入空闲周期。这种传输类型表示总线主机正在连续执行一个突发传输,但是下一次传输不能立即发生。当一个主机使用忙传输类型时地址和控制信号必须反映突发中的下一次传输。 这种传输应该被从机忽略。从机必须总是提供一个零等待状态OKAY 响应,和从机响应空闲传输一样的方式。 10 NONSEQ 表示一次突发的第一个传输或者一个单一传输。地址和控制类型 描述 (非连续) 信号和前一次传输无关。总线上的单一传输被视为(数据量为)一个的突发因此传输类型是非连续的。 11 SEQ (连续) 突发中剩下的传输是连续传输并且地址是和前一次传输 有关的。控制信息和前一次传输一样。地址等于前一次 传输的地址加上传输大小(字节)。在回环突发的情况 下传输地址在地址边界处回环,回环值等于传输大小乘 以传输的次数(4、8 或者16 其中之一)。 图 4.4表示了一组用到的不同传输类型:
AMBA接口文档
Last updated: 7/10/2013 8:44 AM
Page 16 of 62
图4.4 传输类型示例 在图 4.4中:
? 第一个传输是一次突发的开始所以传输类型为非连续;
? 主机不能立刻执行突发的第二次传输所以主机使用了忙传输来延时下一次传输的开
始。在这个例子中主机在它准备还突发的下一次传输之前仅请求了一个忙周期,下一次传输的完成没有等状态;
? 主机立刻执行突发的第三次传输,但是这时从机不能完成(传输)并用HREADY来插
入一个等待状态;
? 突发的最后一个传输以无等待状态完成。
4.3 突发操作
AHB协议规定了4、8、16beat传输,以及未定义长度和single传输。其中beat数乘以transfer即为burst的长度。AHB协议支持incrementing和wrap burst,incrementing为递增的,没有边界;wrap将地址划分为传输burst长度的边界,超过边界部分折返回边界开始处。如传输一笔wrap4的burst,字长为4byte,第一笔传输的地址为0x34,会在16byte绕回,因此4笔传输的地址为0x34,0x38,0x3c,0x30。表4.3为Burst信号编码说明。 HBURST[2:0] 类型 000 001 描述 SINGLE 单次传输 INCR 未指定长度的增量突发
相关推荐: