The interrupt ers where a time period is requested by the device and the host will guarantee that the data transfer will be scheduled within that time period. It does not guarantee that the data is transferred on a consistent time basis all the time, just that it will schedule the transfer prior to the time period expiration. The data throughput is lower for interrupt transfers and is useful for applications like mice , keyboards where user input is continually needing to be sent to the host.
Interrupt Transfers have a limited latency to or from a device. In USB, an Interrupt Transfer, or Interrupt Pipe, has a defined polling rate between:
- 1ms and 255ms for full and low-speed
- 125μs to 4096ms for high-speed endpoints.
The maximum packet size for the interrupt endpoint data is:
- 64 or less bytes for full-speed
- 1024 or less bytes for high-speed
The developer can define how often the host can request a data transfer from the device.
For example, for a mouse, a data transfer rate at every 10 ms can be guaranteed. However, defining the polling rate does not guarantee that data will be transferred every 10 ms, but rather that the transaction will occur somewhere within the tenth frame. For this reason, a certain amount of timing jitter is inherent in an USB transaction.
Typically, Interrupt Transfer data consists of event notifications, characters, or coordinates from a pointing device.