Depiction of state transitions with NYET, NAK and PING packets
当设备的NAK数据包可以简单地避免下一次交易时,NYET会有什么特殊用途呢?
答案 0 :(得分:0)
引入NYET握手数据包的原因是考虑带宽利用效率。
如果设备以NYET响应,主机知道设备很可能NAK下一个OUT事务,这意味着数据传输的整个帧时间被浪费:完全相同的数据将不得不再次发送。
这就是为什么NAK OUT事务浪费了大量的帧时间,因为OUT事务没有目的地占用总线,并且它也与其他事务/设备竞争,从而花费时间。
想象一下没有NYET握手的协议:每次设备NAK只是询问设备是否就绪时,主机必须发送相同的整个数据块(即批量端点最多512字节)。
如果主机改为使用NYET,它将开始PINGing设备,询问设备是否已准备好接收更多数据。与大数据OUT事务相比,PING事务非常短。因此,如果设备NAK的PING,主机可以使用帧的其余部分进行其他交易,这样可以更好地利用总线。