4.1.1 Bus Topology
The maximum number of layers is 7, the 7th layer can only function can not be the hub, the non-root hub maximum level 5.
5.3 USB Communication Flow
Host Controller Driver (HCD): The Receive and send details of the USB System software shielded USB packet on the upper layer. For example, a PCIe-to-usb card, the Host controller is responsible for transferring data from the PCIe bus to the USB bus, or vice versa. This layer is only responsible for processing the bus data send and receive, not processing protocol details.
USB Driver (USBD): interface between USB System software and client software.
USB System SW: Assembles data from client SW into a USB data frame and sends it to the HCD, or vice versa, reads the USB Framed data from the HCD and delivers it to client SW after disassembly. This layer is responsible for handling the USB protocol details. For a variety of different devices, this layer is treated as a pile of pipe combinations.
USB Client SW: The respective USB device driver.
5.5.3 Control Transfer Packet Size Constraints
FS DEVICE:8/16/32/64
HS device:64 (only this value)
5.8.3 Bulk Transfer Packet Size Constraints
FS DEVICE:8/16/32/64
HS device:512 (only this value)
8.4.5 Handshake Packets
The stall property of the Function Stall:ep. Can only be purged by the host (for example, by control Pipe).
Protocol Stall:control Pipe cannot complete the request function. The next setup packet automatically clears.
My Appendix
Halt Condition: 3 consecutive transmission errors, or pipe return stall handshake.
The Message pipe is always bidirectional, so it always occupies the same EP Num in two directions.
The Stream pipe is unidirectional.
USB 2.0 Spec Miniature version