Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

USB Host Controller (FTDI FT313) - Problem with USB Enumeration (Set Address)

Status
Not open for further replies.

kratos85

Newbie level 2
Newbie level 2
Joined
May 15, 2013
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Visit site
Activity points
1,300
Hi everyone,

I am currently developing a USB Host Controller driver for the USB Host Controller chip FTDI FT313. I am stuck right now in the USB Enumeration device. I thought that I finished successfully the enumeration process but it seems that the USB state is still the default state and not the configure state. I looked carefully at the USB transactions and it seems that I have some problems with the Set Address request. I want to know specifically if someone has encounter the same problem. I allocate one qTD (Transfer Descriptor) for start the setup phase and send the request, and one qTD for the status phase (IN, zero-byte length). I provide you the content of the qHead and the qTransfer Descriptor

qHead (Memory address : 0x1000)
DW0 : 0x00001003
DW1 : 0x0040E000
DW2 : 0x40000000
DW3 : 0x00000000
DW4 : 0x00002000

qTransferDescriptor#0 (Memory Address : 0x2000)
DW0 : 0x00002020
DW1 : 0x00000001
DW2 : 0x00080E80
DW3 : 0x00003040

qTransferDescriptor#1 (Memory Address : 0x2020)
DW0 : 0x00002041
DW1 : 0x00000001
DW2 : 0x00008D80
DW3 : 0x00003060

SetAddressRequest (Memory Address : 0x3040)
DW0 : 0x00010500
DW1 : 0x00000000

Thanks in advance
 

Hi everyone,

I'm still facing this problem. Looking step by step to all the transactions in the enumeration list, I think that the problem is that the transaction is correctly executed but the device did not process the set address correctly. When I send a Get Descriptor (Configuration) using the new address, I got a USB error (possibly a NAK) but if a send the same transaction with the default address (0x0) the transaction is executed correctly.

Did anyone have the same problem? Thanks in advance
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top