Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to calculate throughput and bandwidth requirement for each transfer in USB ?

Not open for further replies.


Full Member level 3
Oct 17, 2006
Reaction score
Trophy points
Activity points
Pls anybody explain how to calculate throuput and badwidth requirment for each transfer in USB

if any document is there pls upload or give its path

thanks in advance

Re: Throuput of USB

check the link, you can download the specification

USB Data Transfer Types
The USB specification provides for the following data transfer types:

Control Transfer
Control Transfer is mainly intended to support configuration, command and status operations between the software on the host and the device.
This transfer type is used for low-, full- and high-speed devices.
Each USB device has at least one control pipe (default pipe), which provides access to the configuration, status and control information.
Control transfer is bursty, non-periodic communication.
The control pipe is bi-directional - i.e. data can flow in both directions.
Control transfer has a robust error detection, recovery and retransmission mechanism and retries are made without the involvement of the driver.
The maximum packet size for control endpoints can be only 8 bytes for low-speed devices; 8, 16, 32, or 64 bytes for full-speed devices; and only 64 bytes for high-speed devices.

Isochronous Transfer
Isochronous Transfer is most commonly used for time-dependent information, such as multimedia streams and telephony.
This transfer type can be used by full-speed and high-speed devices, but not by low-speed devices.
Isochronous transfer is periodic and continuous.
The isochronous pipe is unidirectional, i.e. a certain endpoint can either transmit or receive information. Bi-directional isochronous communication requires two isochronous pipes, one in each direction.
USB guarantees the isochronous transfer access to the USB bandwidth (i.e. it reserves the required amount of bytes of the USB frame) with bounded latency, and guarantees the data transfer rate through the pipe, unless there is less data transmitted.
Since timeliness is more important than correctness in this type of transfer, no retries are made in case of error in the data transfer. However, the data receiver can determine that an error occurred on the bus.

Interrupt Transfer
Interrupt Transfer is intended for devices that send and receive small amounts of data infrequently or in an asynchronous time frame.
This transfer type can be used for low-, full- and high-speed devices.
Interrupt transfer type guarantees a maximum service period and that delivery will be re-attempted in the next period if there is an error on the bus.
The interrupt pipe, like the isochronous pipe, is unidirectional and periodical.
The maximum packet size for interrupt endpoints can be 8 bytes or less for low-speed devices; 64 bytes or less for full-speed devices; and 1,024 bytes or less for high-speed devices.

Bulk Transfer
Bulk Transfer is typically used for devices that transfer large amounts of non-time sensitive data, and that can use any available bandwidth, such as printers and scanners.
This transfer type can be used by full-speed and high-speed devices, but not by low-speed devices.
Bulk transfer is non-periodic, large packet, bursty communication.
Bulk transfer allows access to the bus on an "as-available" basis, guarantees the data transfer but not the latency, and provides an error check mechanism with retries attempts. If part of the USB bandwidth is not being used for other transfers, the system will use it for bulk transfer.
Like the other stream pipes (isochronous and interrupt), the bulk pipe is also unidirectional, so bi-directional transfers require two endpoints.
The maximum packet size for bulk endpoints can be 8, 16, 32, or 64 bytes for full-speed devices, and 512 bytes for high-speed devices.

Re: Throuput of USB

actually I read all these thing but my problem is like this,
if one of my endpoint supports isochronous transfer of 256 byte in High speed what will be the bandwidth consumed by this transfer.

now how much bw is remained so that I can calculate for other transfers.

Not open for further replies.

Part and Inventory Search

Welcome to