标准块写操作 图17显示的是一个标准的块写周期时序图。块写周期可以在每一个时钟周期完成一次数据传输。但是,本例中显示了主机和从机插入等待状态以控制数据传输速率的情况。图中一共显示了5个传输。第二次传输后,主机插入了一个等待状态。第四次传输后,从机插入了一个等待状态。整个周期在第五次传输之后结束。 图17 标准块写周期 总线协议的执行流程如下: 时钟上升沿0: ·主机将有效地址置于ADR_O()和TGA_O(); ·主机将WE_O置位,以表明进入写周期; ·主机输出SEL_O()(bank select)表明其操作的数据地址; ·主机将CYC_O和TGC_O()置位,以表明周期的开始; ·主机将STB_O置位,以表明第一个段(phase)的开始; 注意:主机可以在时钟上升沿1之前的任意时间,将CYC_O和TGC_O()置位。 时钟上升沿1: ·从机解码输入,并作出从机响应(ACK_I)。 时钟上升沿2: ·主机将监控ACK_I信号; ·主机将STB_O复位,以插入一个等待状态(-WSW-)。 时钟上升沿3: ·主机将有效地址置于ADR_O()和TGA_O(); ·主机将WE_O置位,以表明进入写周期; ·主机输出SEL_O()(bank select)表明其操作的数据地址; ·主机将CYC_O和TGC_O()置位,以表明周期的开始; ·主机将STB_O置位,以表明第二个段(phase)的开始。 时钟上升沿4: ·主机将有效地址置于ADR_O()和TGA_O() ·主机将WE_O复位,以表明进入读周期; ·主机输出SEL_O()(bank select)表明其操作的数据地址; ·主机将STB_O置位。 ·从机解码输入,并对ACK_I做出相应。 时钟上升沿5: ·主机监控ACK_I信号; ·主机将STB_O和CYC_O复位,以结束本次块读周期。 流水线块写操作 流水线块写模式的时序图如图18所示。 图18 流水线块写周期 总线协议的执行流程如下: 时钟上升沿0: ·主机将有效地址置于ADR_O()和TGA_O(); ·主机将WE_O置位,以表明进入写周期; ·主机输出SEL_O()(bank select)表明其操作的数据地址; ·主机将CYC_O和TGC_O()置位,以表明周期的开始; ·主机将STB_O置位,以表明第一个段(phase)的开始; ·主机监控ACK_I信号,并准备锁存DAT_I()和TGD_I()信号。 时钟上升沿1: ·从机解码输入,并作出从机响应(ACK_I); ·主机将有效地址置于ADR_O()和TGA_O(); ·主机将WE_O置位,以表明进入写周期; ·主机输出SEL_O()(bank select)表明其操作的数据地址; ·主机将STB_O置位,以表明第二个段(phase)的开始。 时钟上升沿2: 时钟上升沿3: ·从机解码输入,并作出从机响应(ACK_I); ·当STALL_I为低电平时(inactive),主机将STB_O信号复位。 时钟上升沿4: ·主机将CYC_O信号复位,当接受到第二个ACK_O信号时。 |
|