XU316-1024-TQ128 does not USB enumerate on custom board

Technical discussions around xCORE processors (e.g. xcore-200 & xcore.ai).
XmaCE
Junior Member
Posts: 5
Joined: Fri Sep 19, 2025 1:17 pm

XU316-1024-TQ128 does not USB enumerate on custom board

Post by XmaCE »

somehow I can't get USB enumeration to work on my custom board. I did quite some experiments.

the interesting part is the experiments I did on the XMOS EVK and how delicate USB seems to work there.

when I remove R48, I get no enumeration, note that that is 470k parallel to the 100k R46. here it sometimes enumerates, but only when I connect USB first and power second.
when I add a R (732R) and a red LED to USB_VBUS it doesn't enumerate anymore. (initially my custom board had that LED too)
I run the EVK with "external power" as this is closer to my custom board.

here's what not enumerating looks like under linux.
[  +0.111946] usb 1-8: new high-speed USB device number 97 using xhci_hcd
[  +0.888034] usb usb1-port8: Cannot enable. Maybe the USB cable is bad?
[  +0.000112] usb usb1-port8: attempt power cycle
[  +0.951881] usb usb1-port8: Cannot enable. Maybe the USB cable is bad?
[  +0.111928] usb 1-8: new high-speed USB device number 99 using xhci_hcd
[  +0.000058] usb 1-8: Device not responding to setup address.
[  +0.208079] usb 1-8: Device not responding to setup address.
[  +0.207861] usb 1-8: device not accepting address 99, error -71
[  +0.000135] usb usb1-port8: unable to enumerate USB device
[  +0.215843] usb 1-8: new high-speed USB device number 100 using xhci_hcd
[  +1.784012] usb usb1-port8: Cannot enable. Maybe the USB cable is bad?
[  +0.112012] usb 1-8: new high-speed USB device number 101 using xhci_hcd

the FW is identical on both boards, happens with both flashed and `xrun` boots.

on my board I tried various voltage dividers around the bipolar. removed the LED+R. even lifted the legs of USB_D_P/_N and directly soldered a USB cable. replaced the XU316 altogether.
I measured the falling edge of VBUS_DETECT it's pretty stable 20us on my custom board, and varies 10-50us on the EVK.

one difference is I have just one digital 3V3, no separate 3V3X, as the EVK has.

are there any measures I can take to make my board speak USB? any good practices to make it more reliable and robust?
You do not have the required permissions to view the files attached to this post.