Jump to content

Debugging USB power problem

Recommended Posts

I built up a programmer based on the ezFET reference design but am having problems getting it to work.  I've run through all the debugging steps I know of, and nothing seems to help...so I'm turning to you guys to show me the obvious thing I'm missing.


So here's the problem:  Every time I plug the board in over USB, it acts as if there is a dead short.  The light on my hub starts to flicker/go off and my linux box just hard freezes and becomes completely unresponsive until I unplug it.  My windows machine doesn't complain, but it also does not see the device plugged in.  I cut a USB cable apart and measured the current with it plugged in to a power adapter and it was hitting 1.5 to 2A.


Here's where it gets interesting.  I can power and program the board through the ICSP header and everything works great.  This points to the problem lying on the other side of the 3V regulator.  However, if I supply 5V to the USB port through a bench supply (and a hacked cable), I get 5V into the regulator and 3V out of it with very little current.  So there is definitely something unique about plugging it into a full hub that is causing a problem. 


The only thing left I can think of is that the Vbus pin is shorted to ground under the QFN (which is somehow not causing a problem when powered by the bench supply) or something is wrong with a pull up/down on the data lines.


Any ideas on what could be happening or where to look next?  I'm attaching my schematic and board files.


eZ-FET lite.sch

eZ-FET lite.brd

Link to post
Share on other sites

so it appears I somehow reversed the USB connector.... which is odd since I don't even remember modifying the connector used in the TI reference docs.  I've flipped it back around and am no longer having the same issue with current draw, but I think running it reversed might have blown out the USB transceiver on the micro, as I can't get any computer to recognize it as a USB device.


On another odd note... I programmed a simple "LED blink" script to test if I could program the MCU.  It works when I run it in the debugger, but if I just apply power, the firmware doesn't load.  I'm wondering if I hosed the boot loader or something when I flashed it.

Link to post
Share on other sites

Is it practical to solder up a second board with a corrected USB?


One thought about the USB is that the launchpads using a micro USB connector use the upside down version. Where the spring loaded tabs from the plug face down when you connect it. If you solder the normal plug onto this footprint then it will be connected backwards.

Link to post
Share on other sites

@greeeg, that's probably what happened. The connector I used was 'upside down' compared to what is on my launchpad. Didn't know that option existed... Now I do.


I don't have the passives to wire up a new board, so it would take a lot of rework to do a full transfer.


Looking at my design, with it wired backwards, power was shorting directly into the shielding (which was grounded) so I'm wondering if the other components even received much reverse voltage.


I will convert the files to PDF in a little bit

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...