41.6.3 USB V2.0 High Speed Transfer Types

A communication flow is carried over one of four transfer types defined by the USB device.

A device provides several logical communication pipes with the host. To each logical pipe is associated an endpoint. Transfer through a pipe belongs to one of the four transfer types:

  • Control Transfers: Used to configure a device at attach time and can be used for other device-specific purposes, including control of other pipes on the device.
  • Bulk Data Transfers: Generated or consumed in relatively large burst quantities and have wide dynamic latitude in transmission constraints.
  • Interrupt Data Transfers: Used for timely but reliable delivery of data, for example, characters or coordinates with human-perceptible echo or feedback response characteristics.
  • Isochronous Data Transfers: Occupy a prenegotiated amount of USB bandwidth with a prenegotiated delivery latency. (Also called streaming real time transfers.)

As indicated below, transfers are sequential events carried out on the USB bus.

Endpoints must be configured according to the transfer type they handle.

Table 41-1. USB Communication Flow
Transfer Direction Bandwidth Endpoint Size Error Detection Retrying
Control Bidirectional Not ensured 8, 16, 32, 64 Yes Automatic
Isochronous Unidirectional Ensured 8–1024 Yes No
Interrupt Unidirectional Not ensured 8–1024 Yes Yes
Bulk Unidirectional Not ensured 8–512 Yes Yes