Author Topic: Enumeration process  (Read 11503 times)

ChongHan

  • Member
  • ***
  • Posts: 41
Enumeration process
« on: April 14, 2014, 05:08:03 am »
Hi

Good evening, I am a student and just start learning about USB. I am very confuse in enumeration process of USB.
I used cypress FX3S and load the USBBulkLoopAuto example firmware into the DVK board. Then i plug to the PC with USB 3.0 port. I am using USBlyzer to analyse the USB.

Here is the screenshots of the USBlyzer (website: https://www.dropbox.com/s/b82g0zdofjcdawh/Cypress.zip), i had included some text and questions in the screenshot. Html file is the exported list.
The things make me confused is that the descriptor is send again and again (about 3 times) in the enumeration process.

Is it the descriptor will send more detailed after assigned a driver and selected the configuration?
Please follow the screenshots 1 by 1, i had included some text and questions there.

Please help me to understand the actual process of enumeration. Very thanks in advance.

Best Regards
Chong Han

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: Enumeration process
« Reply #1 on: April 14, 2014, 09:13:28 am »
cycontrol.exe is the Cypress USB Control Center. This is for the FX2 but might be of some help:

http://www.cypress.com/?docID=47409

also

http://www.cypress.com/?docID=47153

The host can do whatever it wants. Sometimes after enumeration, a driver will request descriptors.

The Cypress forum might be able to give a more detailed explanation of what is happening with your device:

http://www.cypress.com/?app=forum


ChongHan

  • Member
  • ***
  • Posts: 41
Re: Enumeration process
« Reply #2 on: April 14, 2014, 11:49:12 pm »
Hi thanks for your reply, I had posted the question there but nobody answer from there, and here is a very good and effective forum that use for discussion and for help. Thanks Sir Jan.

Is this for a application (bulk transfer constant data to device.), when we select device, the descriptors will send again? While when we click "start" to transfer, the application will need to request the descriptor again then only send data right? Is it all application will need to always get again the descriptor for every transfer or device selection?

Thanks.

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: Enumeration process
« Reply #3 on: April 15, 2014, 08:39:56 am »
No, the application doesn't need to retrieve descriptors before every transfer. Depending on the driver, application-level code might not even have the capability to request descriptors.

Typically, the host requests descriptors one or more times during enumeration and sometimes on assigning a driver. After that, the descriptors don't change unless the device re-enumerates.

I'm glad to hear you like the forum!