Please enable JavaScript.
Coggle requires JavaScript to display documents.
USB Protocol (USB Descriptors (All USB devices have a hierarchy of…
USB Protocol
USB Descriptors
All USB devices have a hierarchy of descriptors which describe to the host information such as what the device is
-
-
-
-
-
Interface Association Descriptor - This descriptor describes two or more interfaces that are associated with a single device function.
USB Packet
Sync - All packets must start with a sync field, is to synchronise the clock of the receiver with that of the transmitter.
PID - stands for Packet ID, to identify the type of packet that is being sent.
Token Packet: OUT, IN, SETUP, SOF
Data Packet: DATA0, DATA1, DATA2, MDATA
Handshake Packet: ACK, NAK, STALL, NYET
Special: PREamble, ERR, Split, Ping
-
ENDP - The endpoint field is made up of 4 bits, allowing 16 possible endpoints.
-
-
USB Transaction
Transactions are an exchange of packets and are comprised of three different packets; a token packet, optional data packet, and a handshake packet.
-
-
-
-
USB Class Device
-
-
-
-
Vendor (Vendor Specific) - Devices that do not meet the definition of a specific USB device class are called vendor-specific devices.
Transfer
Control Transfer
-
-
Setup Stage
-
The data packet is sent next and always has a PID type of data0 and includes a setup packet which details the type of request.
-
-
-
-
Isochronous Transfers
Guaranteed access to USB bandwidth, bounded latency
-
Bulk Transfers
-
Error detection via CRC, with guarantee of delivery.
-
-
Pipe
-
Stream Pipes: Stream pipes will support bulk, isochronous and interrupt transfer types. Stream pipes can either be controlled by the host or device.
-
-
Endpoint
-
All devices must support endpoint zero. This is the endpoint which receives all of the devices control and status requests during enumeration