Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Memory/Storage

USB mass storage class on an embedded host

Posted: 28 Apr 2008 ?? ?Print Version ?Bookmark and Share

Keywords:USB? mass storage device? embedded host? MCU?

With the introduction of Microchip's MCU with the USB OTG peripheral, MCU applications can easily support USB embedded host functionality. One of the most common uses of this capability is to interface to mass storage devices, such as USB flash drives and memory card readers. These devices utilize the USB mass storage class.

Of the four transfer types supported by USB, the one most suitable for large data transfers is bulk. Bulk transfers use the USB bandwidth efficiently, in that they utilize all of the remaining bandwidth in a frame after control, interrupt and isochronous transfers are complete. They are not constrained to only a certain number of bytes per frame. They also incorporate error checking, so the data is ensured to be accurate. The exact amount of time available for a bulk transfer will depend on the amount of other traffic that is on the bus. If several other transfers must also be performed, there may be very little bandwidth available for bulk transfers in a frame. Therefore, bulk transfers should be used only for non-time critical operations.

The class, subclass and protocol designators for a mass storage device are not contained in the

bDeviceClass, bDeviceSubClass and bDeviceProtocol fields of the Device Descriptor. Instead, these fields are all set to 0x00, and the designators are specified in the bInterfaceClass, bInterfaceSubClass and bInterfaceProtocol fields of the Interface Descriptor. The most common configuration for USB Mass Storage devices is:

  • bInterfaceClass - 0x08 (Mass Storage Class)

  • bInterfaceSubClass - 0x06 (SCSI Primary Command-2 (SPC-2))

  • bInterfaceProtocol - 0x50 (Bulk Only Transport)

    View the PDF document for more information.

  • Article Comments - USB mass storage class on an embedde...
    *? You can enter [0] more charecters.
    *Verify code:


    Visit Asia Webinars to learn about the latest in technology and get practical design tips.

    Back to Top