USB Technology

  1. USB Communication Protocol
    1. The Enumeration Process
      1. Device Detection by Host
        1. Reset Signaling
          1. Assignment of Device Address
            1. Reading Device Descriptors
              1. Device Configuration
                1. Driver Loading and Initialization
                2. USB Descriptors
                  1. Device Descriptor
                    1. Vendor and Product IDs
                      1. Device Class Information
                      2. Configuration Descriptor
                        1. Power Requirements
                          1. Interface Count
                          2. Interface Descriptor
                            1. Interface Class and Subclass
                              1. Protocol Information
                              2. Endpoint Descriptor
                                1. Transfer Type
                                  1. Maximum Packet Size
                                    1. Polling Interval
                                    2. String Descriptor
                                      1. Manufacturer Strings
                                        1. Product Strings
                                          1. Serial Number Strings
                                        2. Endpoints and Pipes
                                          1. Unidirectional Data Pipes
                                            1. Endpoint 0 (Control Endpoint)
                                              1. Bulk Endpoints
                                                1. Interrupt Endpoints
                                                  1. Isochronous Endpoints
                                                    1. Endpoint Addressing Scheme
                                                    2. Packet Structure and Types
                                                      1. Token Packets
                                                        1. IN Tokens
                                                          1. OUT Tokens
                                                            1. SETUP Tokens
                                                            2. Data Packets
                                                              1. DATA0 Packets
                                                                1. DATA1 Packets
                                                                  1. DATA2 Packets
                                                                    1. MDATA Packets
                                                                    2. Handshake Packets
                                                                      1. ACK (Acknowledge)
                                                                        1. NAK (Negative Acknowledge)
                                                                          1. STALL (Endpoint Halt)
                                                                            1. NYET (Not Yet)
                                                                            2. Start-of-Frame Packets
                                                                              1. Frame Numbering
                                                                                1. Synchronization
                                                                                  1. Microframe Support