Author Topic: Problem with configuring pipes  (Read 13154 times)

titan_amit

  • Member
  • ***
  • Posts: 13
Problem with configuring pipes
« on: May 04, 2011, 07:15:45 am »
I am trying to develop a USB host controller core (for mass storage device) for Xilinx FPGA. In that i am able to receive all the descriptors but am confused about how to configure pipes for data transaction. Actually i have used a simulator to find out the transactions between a pen drive and PC but from the point the configuration of pipes start i am not able to make out much whats exactly going on there. There are very good documentations for what the hex values in descriptors represent but i can't find any for configuration of pipes. Can you please throw some light on this.

Bret

  • Frequent Contributor
  • ****
  • Posts: 68
Re: Problem with configuring pipes
« Reply #1 on: May 04, 2011, 11:10:59 am »
A pipe is an abstraction or conceptual layer that doesn't have anything to do with the USB hardware or architecture.  A USB software implementation may or may not choose to define pipes.

A pipe is simply a single entity that represents the combination of two "real" entities: A Device Address and an EndPoint.  A USB Pipe is conceptually similar to an IP Socket (which represents the combination of an IP Address and a Port).  In the "real" IP world, sockets don't exist, just like pipes don't exist in the "real" USB world.

titan_amit

  • Member
  • ***
  • Posts: 13
Re: Problem with configuring pipes
« Reply #2 on: May 05, 2011, 05:50:49 am »
I know what a pipe is but i am not sure that its optional to configure it. Even if we assume that its optional can you please tell me what exactly is the function of the host controller and the associated driver after the host has received all the descriptors. In short what exactly happen when the host configures the device.

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: Problem with configuring pipes
« Reply #3 on: May 05, 2011, 11:16:26 pm »
After sending a Set_Configuration request, the host can begin accessing the device according to the class or other other driver that the descriptors specify. 

Jan