USB Frames
USB data transfers occur through a series of events called transactions. Transactions are conducted within a host-controlled time interval called a frame. The length and frequency of the transactions depend upon the transfer type being used for an endpoint.
The type of transfer which can be sent in a frame and the frame length is defined by the specified speed of the USB.
The four possible USB transfer types allowed are:
- Interrupt
- Bulk
- Isochronous
- Control
Frame Specifications
LOW SPEED Frame size: 1 msSupported Transfer Types |
Maximum Size of Transfer |
Transfers per frame |
Maximum Theoretical Throughput |
Control | 8 bytes | 1 | 8 K bytes/sec |
Interrupt | 8 bytes | 1 | 8 K bytes/sec |
Bulk | - | 0 | - |
Isochronous | - | 0 | - |
FULL SPEED Frame size: 1 ms
Supported Transfer Types |
Maximum Size of Transfer |
Transfers per frame |
Maximum Theoretical Throughput |
Control | 64 bytes | 1 | 64 kbytes/s |
Interrupt | 64 bytes | 1 | 64 kbytes/s |
Bulk | 64 bytes | Up to 19 | 1.2 Mbytes/s |
Isochronous | 1023 bytes | 1 | 1023 kbytes/s |
HIGH SPEED Frame size: 125 μs
Supported Transfer Types |
Maximum Size of Transfer |
Transfers per frame |
Maximum Theoretical Throughput |
Control | 64 bytes | 1 | 64 kByte/s |
Interrupt | 1024 bytes | up to 3 | 24 MByte/s |
Bulk | 512 bytes | up to 13 | 53 MByte/s |
Isochronous | 1024 bytes | up to 3 | 24 MByte/s |