开发者

Do USB interrupt transfers guarantee order?

开发者 https://www.devze.com 2023-02-04 14:09 出处:网络
I\'ve found in the fairly awesome book titled \"USB in a NutShell\" that interrupt transfers provide r开发者_如何学Celiable delivery (via error detection and automatic retry).

I've found in the fairly awesome book titled "USB in a NutShell" that interrupt transfers provide r开发者_如何学Celiable delivery (via error detection and automatic retry).

But I wonder, does that guarantee that transfers will not be swapped in order someday? As far as the bus is serial, my guess is that yes, reordering should never occur. But I'm not really much into this, so having doubts.

Could somebody clarify?


Interrupt packets are guaranteed to be delivered in order. In fact, ALL USB packets defined through USB 2.0 (bulk, isochr, interrupt, control, including split-transaction / etc) are delivered in-order.

There's no sequence numbering in the wire packets (beyond DATA0/DATA1 which is used to disambiguate lost packets), so each packet is retried on the wire until delivered successfully.

I haven't worked on USB 3.0 so it's possible something new has been created that's not in-order, but even if so, the existing ones will continue to remain in-order.

0

精彩评论

暂无评论...
验证码 换一张
取 消