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:

Frame Specifications

LOW SPEED Frame size: 1 ms
Supported
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