1、 master 在开始一个传输后,不能主动取消,slave 开始控制传输的进度。(AHB 规范中
没有规定总线主机在传输开始后取消传输)
2、
关于 hresp 和 hready 之间的关系是:传输过程中发生错误时,必须向 master 发出错误
信号。此时的 hresp 信号拉高两个周期,需要两个周期才能完成,在第二个周期 hready
信号会拉高。
Error 和 split、retry 都需要两拍的时间拉高信号线,okay 则只需要一拍子
为什么 error split retry 需要两个周期响应?
答:由于总线的流水线性质,需要两个周期的响应。当从机开始发出 ERROR(错
误)、SPLIT(拆分)或 RETRY(重试)响应时,下一次传输的地址已经广播到总线上。
双周期响应允许 master 有足够的时间取消该地址,并在下一次传输开始之前将
HTRANS[1:0]驱动到 idle。如图:
图示了分三部分:
•主机从传输到地址 a 开始。
•在收到此传输的响应之前,主机将地址移动到 A+4。
•地址 A 的从设备无法立即完成传输,因此它会发出 RETRY 响应。该响应向主机指示
地址 A 处的传输无法完成,因此地址 A+4 处的传输被取消并由 IDLE 传输代替。