0
\$\begingroup\$

I am trying to implement a USB to serial bridge using an FT231XS to program an ATmega over USB using Optiboot.

My breadboard is exactly the application circuit for a bus-powered application (it draws 20 mA max), but when I plug the USB in the computer I get the error message "USB device not recognised". In the Device Manager it says "Unknown USB device (Device Descriptor Request Failed)".

The schematic is the following (I'm only missing the ferrite bead which is replaced here with a short, but I doubt it's the cause):

enter image description here

The circuit is implemented on a very clean breadboard (I hate wiring looms) that I made step by step crossing every wire off until none are left, and I triple-checked all connections. I've probed the USB lines in 10x mode and there is symmetric traffic, but since it's half-duplex it's difficult to tell if the device is replying at all without an in-depth knowledge of the protocol.

It's not a new computer; I've already used devices with FTDI chips in them so the drivers are installed correctly. I tried requesting an update for the driver in the device manager, but it says I'm already using the latest one.

Any ideas?


Update:

First, I had noticed my LEDs were connected to 5 V and not 3.3 V like the datasheet suggested. All other inputs are 5 V tolerant and I couldn't find an absolute max. for these ones (plus, any current drawn would mean this voltage collapsing to less than ~3 V), but just in case I fixed it to VCCIO instead and replaced the chip. No dice.

Second, I've started a brand new breadboard with ONLY this minimal circuit from the datasheet (still bus-powered), measuring every single component before putting it in. I've continuity-tested all pins of the IC with my phone in microscope mode and I have ESD-safe equipment.

enter image description here

With yet another brand new FT231XS, my last one... and still unrecognised.

The devices come from DigiKey (first one) and Mouser (other ones), so they can't be fake. I've already used many FTDI-based cables on this computer and a FT4222 without an issue.

I've finally updated my VCP and D2XX drivers using the all-included Windows installer from FTDI. No progress.

What's going on?

I've probed the USB signals at the legs of the IC breakout; they look very clean to me with nice constant dV/dt and barely any noise.

enter image description here

enter image description here

Strangely enough these waveforms look low-speed, whereas it's supposed to be a full-speed device. I don't know if that's normal. The IC shows high-Z on both pins with a multimeter, but there must be a switched pull-up because DP looks high most of the time.

I've also analysed the enumeration process with the trial version of USBTrace which stopped capturing after the notification "unrecognised" popped up, so it should be accurate. I don't understand it yet, perhaps someone here does? [Link removed by a moderator]

\$\endgroup\$
16
  • \$\begingroup\$ For those who may come for the same issue with a slightly different schematic: do check that VCCIO is not tied to 5V like I had on my previous chip: it's 3.6V absolute max... So beware the DTR at 3.3V to reset 5V devices, and don't forget the TXD level shifter as well if necessary. \$\endgroup\$
    – user325962
    Nov 12, 2022 at 6:21
  • 1
    \$\begingroup\$ How long are your usb traces? Since you're building this on a breadboard you're certainly not observing impedances but for short runs or a first testing it could be fine nevertheless. Attaching a scope to the usb traces will probably kill the signal integrity so make sure you're not measuring on the USB traces - without a differential probe you probably wouldn't get far anyway. Unrelated because your problem is on a different side: Make sure you're connecting PC-TX to your RX and the other way round. \$\endgroup\$
    – Tom L.
    Nov 12, 2022 at 8:50
  • 1
    \$\begingroup\$ Usb-n and p not swapped? Beep back to the usb A connector to check. \$\endgroup\$
    – Kartman
    Nov 12, 2022 at 9:01
  • \$\begingroup\$ @Kartman: I swapped them just in case and it didn't work \$\endgroup\$
    – user325962
    Nov 13, 2022 at 21:16
  • 1
    \$\begingroup\$ Swapped DP/DM would cause the host to try the wrong speed at first - that’s set by pull-downs in the device. \$\endgroup\$ Nov 17, 2022 at 2:32

1 Answer 1

1
\$\begingroup\$

Finally solved it. It doesn't really make sense to me because I had checked everything about that end-to-end, but apparently D+ and D- were swapped. As soon as I swapped them, the USB traffic switched frequency from 1.5MHz to 12MHz and the device was recognized properly. The host was seeing the pull-up from the full speed device on D- and so the communication was never initiated at full speed. I had tried that at the very beginning, but it may have been with the previously-damaged IC from the 5V VCCIO.

So it's not exactly the definition of insanity to do the same thing and expect a different result, after all!

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.