Debugging USB3318 PHY?

Technical discussions around xCORE processors (e.g. xcore-200 & xcore.ai).
Post Reply
bearcat
Respected Member
Posts: 283
Joined: Fri Mar 19, 2010 4:49 am

Debugging USB3318 PHY?

Post by bearcat »

Got a new board to get working. The L1-64 is working fine and tied to the USB3318. Decided to try the new HID example as the test code, as it's much simpler than the USB Audio firmware. Have to use a 1 bit port for the PHY_Reset since the L1-64 does not have any ports left other than 1 bit (Is this a problem?). Changed:

/* USB Port declarations */
out port p_usb_rst = XS1_PORT_1I;

No compile errors.

I have not put a scope on this line to make sure it toggles. Have not scoped any of the lines yet. The device does not enumerate. Appears that the code is waiting for an event here accoring to the debugger:

XUD_PowerSig.xc
0x00011a6a <XUD_Init+98>: waiteu (0r)

Yes I have followed the design checklist and all. I did see it a couple of times show unknown device when trying the USB Audio firmware. So it's doing something. Could easily be a hardware or layout issue.

Generally how do we debug USB issues? Do we need the source for XUD to ever be able to debug? I guess I need to try a second time to get the full data sheet for this part. Any ideas?


bearcat
Respected Member
Posts: 283
Joined: Fri Mar 19, 2010 4:49 am

Post by bearcat »

Additional comments. I meant to say that this is most likely a design, layout, part, or assembly problem as the firmware works with the reference. So how do we debug a new design? Looking at sent and returned data, error codes, and state logic in the L1 is the next step. I have contacted a local rep to get the full data sheet, but I don't expect that for a few days or more. There appears to be a XUD debugging flag in the firmware.

A short test program written to check basic functions, comms, errors codes and such would help out alot. Maybe something like this already exists for internal use?
bearcat
Respected Member
Posts: 283
Joined: Fri Mar 19, 2010 4:49 am

Post by bearcat »

Well Good news. The USB3318 is working just fine now. Ended up being a wrong resistor value for the reference resistor. Either I ordered, or mouser shipped a 8.06ohm instead of 8.06K. That was strange. Since the numbers were correct, I didn't notice that there was an "E" instead of an "R" on the part. Stacked four resistor together to get the correct value.

By the way using a one bit port for the PHY_RESET works fine. Be sure to set the mask value to -1 in the XUD_Manager call parameter.

The USB3318 works with the L1-64. And the HID example also works fine.

I like solutions that don't involve redesigns.
Post Reply