USB 2.0 Spec 微缩版

4.1.1 Bus Topology

最大层数为7,第7层只能是Function不能是Hub,非根Hub最大5级。

5.3 USB Communication Flow

Host Controller Driver(HCD):对上层的USB System Software屏蔽USB Packet的接收和发送细节。例如一张PCIe转USB的卡,Host Controller负责将数据从PCIe总线转到USB总线上发送出去,或者反之。这一层只负责处理总线数据收发,不处理协议细节。

USB Driver(USBD):USB System Software和Client Software之间的接口。

USB System SW:将来自Client SW的数据组装成USB数据帧,交给HCD发送出去;或者反之,从HCD读取USB Framed data,拆解后交付给Client SW。这一层负责处理USB协议细节。对于各种不同的设备,这一层都将其视作一堆Pipe的组合。

USB Client SW:各自的USB设备驱动。

5.5.3 Control Transfer Packet Size Constraints

FS Device: 8/16/32/64

HS Device: 64(只能是这个值)

5.8.3 Bulk Transfer Packet Size Constraints

FS Device: 8/16/32/64

HS Device:512(只能是这个值)

8.4.5 Handshake Packets

Function stall: EP的STALL属性置位。只能由主机清除(例如通过Control Pipe)。

Protocol stall: Control Pipe无法完成请求功能。下一个Setup Packet自动清除。

My Appendix

Halt Condition:连续3次传输错误,或Pipe返回STALL handshake。

Message Pipe总是双向的,因此总是占用两个方向的同一EP Num。

Stream Pipe是单向的。

原文地址:https://www.cnblogs.com/byeyear/p/5202144.html