中断传输事务(interrupt tranaction)
中断传输事务分三个阶段,即令牌阶段(Token)、数据传输阶段(Data)、握手阶段(Handshake),流程如下图(摘自usb20 specification 8.5.4):
中断传输特点:
- 中断传输包含IN和OUT传输两种
- 当device收到IN令牌包(token)之后,可以回复data数据包、NAK或者STALL;如果令牌包有错误,则device直接丢弃,不做任何回复。
- 如果当前端点(endpoint),没有可以传输的数据,则直接回复NAK握手包;
- 如果当前端点被设置了halt,则回复STALL握手包;
- 如果当前端点刚好有数据pending,则回复数据包(data packet);host收到数据包之后,确认无误,则需要回复ACK握手包,如果host收到数据包有错误,则不做任何回复
中断传输示例
Interrupt IN传输示例
Interrupt OUT传输示例