Thought Leadership

USB – real speed

I recently wrote about the USB standards and how, with each generation, increased speed has become available. This provoked some discussion about the actual data throughput, which is quite a complex topic. The “U” in “USB” stands for “universal” and the interface was designed to accommodate a very wide range of different peripheral devices, with very divergent needs in terms of data transfer – speed, volume and transfer reliability are all issues.

To accommodate this wide range of requirements, USB facilitates a number of specific data transfer modes …

There are actually four modes available, which accommodate different volumes of data and offer varying services in terms of guaranteed delivery etc. They are called: Control, Interrupt, Bulk and Isochronous.

Control mode is used to configure and enumerate a peripheral, allowing the host software to interrogate the device to determine what it is and how it can be used. Every peripheral needs to support this mode.

Interrupt mode is rather confusingly named, as conventional execution diverting interrupts are not really used. This mode is used for the periodic transfer of small volumes of data, where the timing and integrity of the transfer are guaranteed. This mode is typically used for quite simple devices like keyboards, mice and game controllers.

Bulk mode offers reliable data transport that guarantees sequential reception of data, with retransmits used if required. The throughput depends upon the current level of bus utilization. Bulk mode is normally used with external storage devices, like hard drives and USB sticks, and with printers and scanners.

Isochronous mode guarantees bandwidth, but does not guarantee reception of the data. During enumeration and configuration, the host determines whether a configuration setting has enough bandwidth to communicate with a certain peripheral. If insufficient bandwidth is available, it rejects the configuration selection in favor of lower bandwidth consumption. This mode is typically used for audio or video data.

There will be more on USB …

Colin Walls

I have over thirty years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles and two books on embedded software, I am a member of the marketing team of the Mentor Graphics Embedded Systems Division, and am based in the UK. Away from work, I have a wide range of interests including photography and trying to point my two daughters in the right direction in life. Learn more about Colin, including his go-to karaoke song and the best parts of being British: http://go.mentor.com/3_acv

More from this author

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at https://blogs.sw.siemens.com/embedded-software/2010/09/13/usb-real-speed/