JustKernel

Ray Of Hope

USBOIP – USB System Architecture

Communication Flow: The USB client initiates a transfer when it calls USB system software and requests a transfer. USB client drivers supply a memory buffer used to store data when transferring data to or from USB device. Each transfer between a given register (or endpoint) within a USB device and client driver occurs via a communication pipe that USB system software establishes during device configuration. USB system software splits the client’s request into individual transactions that are consistent with the bus bandwidth requirements of the device and the USB protocol mechanism.

The requests are passed to the USB host controller driver, which in turn schedules the the transaction to be performed over the USB. The host controller performs the transaction based on the contents of a transfer descriptor that is built by the host controller driver (HCD). The HCD knows all the information necessary to perform the required transaction via USB. The key information contained within a transfer descriptor (TD ) includes :

  •  address of the target USB device.
  • Speed of the target USB device.
  • Type of transfer to be performed
  • size of the data packet
  • location of the client’s memory buffer.

The host controller may have reisters thaht are mapped into the processors I/O or memory address spcae. These registers control the operatoins of th host controller and must be loaded with values by the HCD to ensure desired operation.

Originally Posted On: 2010-10-06 18:15:59
Anshul Makkar, anshul_makkar@justkernel.com

Tags:


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.