USB ed

Table of Contents

Theory ed

Definitions ed

Device
The physical thing (mostly).
Identified by a vendor-id and a product-id, each 2 bytes, e.g. 0x256c / 0x006e.
Can also be identified by its physical connection path, e.g. 1/7/2 for bus#1, port#7, sub-port#2.

Endpoint
A communication point.
Identified by an address number 0x00-0x0f for output (device -> host) and 0x80-0x8f for input (host -> device).
Communication type an be either control, interrupt or bulk.

Interface
A collection of endpoints in one device. Each device can have several interfaces.

Configuration
A device can only be in one configuration state at a time.
Identified by a 1-byte value.
Defines power consumption etc. And also interfaces.

Alternate setting
Each interface (within a configuration) can be in one of several alternate settings, each defining a set of endpoints.

Graph ed

[device]
  vendor-id: ...
  product-id: ...
  class: ...
  sub-class: ...
  [configuration]
    value: 1
    power: ...
    [interface]
      number: 0
      [alt setting]
        number: 0
        [endpoint]
          address: 0x81
          attributes: control/bulk/interrupt
        [endpoint]
          address: 0x82
      [alt setting]
        number: 1
        ...
    [interface]
      number: 1
      ...
  [configuration]
    value: 2
    ...

Categories: Computer, Programmieren