cancel
Showing results for 
Search instead for 
Did you mean: 

Etching Brds - USB Prob - Solution Found

jlchoobs
Associate II
Posted on July 24, 2012 at 20:15

I am building my own stm32f4 boards. The code runs, but I cant get the USB to be recognized by windows - just Device-Not-Recognized. But the same code works on my DemoBoard.

I followed the DemoBoard Schem except for the EMID02USB03F2 chip.

USB connected as :

PA9 - UsbVbusP1

PA11 - /\/\ - UsbDmP2 (res=20R)

PA12 - /\/\ -UsbDpP3 (res=20R)

PA10 - UsbIdP4

GND - UsbGndP5

I still do not have the USB working on my own Boards (while it does work on the Demo Board). And, I followed the Demo Brd Schem explicitly.

Except that I did not add the EMID02USB03F2 chip. Is this neccessary ? - It was not suggested in the Specs.

Anybody have any useful ideas ?

0690X0000060MlmQAE.gif

18 REPLIES 18
emalund
Associate III
Posted on July 24, 2012 at 21:18

Etching Own Boards

 

with risetimes as fast as todays chips, you will never have a reliable board with less than 4 layers.

I am building my own stm32f4 boards. The code runs, but I cant get the USB to be recognized by windows - just Device-Not-Recognized. But the same code works on my DemoBoard.

and why do you think that is?

I followed the DemoBoard Schem except for the EMID02USB03F2 chip. sure, but what about the LAYOUT. e.g. 1.5 cm trace to a decoupling cap can be too much.

Anybody have any useful ideas ? yes, get a 4 layer board with proper layout

Erik

0690X0000060MlnQAE.gif

jlchoobs
Associate II
Posted on July 25, 2012 at 05:20

Sorry - HONK - WRONG Answer.

As I stated the Board runs the Code fine - at 168MHz.

USB has generally a 12inch cord or longer at 12mbps with FS.  But the USB is not recognized by Windows.

If it was a Board issue of Clocking than the Code would fail first.

1) The Boards do NOT need to be 4-Layer to successfully execute Code at 168MHz - and already do.  I have already proven this. 

2) The Failing USB runs at 12Mbps at FS with a normal 12inch cord - so I doubt the Board could have Timing issues (if the micro is at the same time successfully running at 168MHz) - 🙂

So can we do without the lecturing in Basics.

Qed, your Answer is just Useles Babble - My BOARDS have a Ground Plane and EXECUTE fine.  (Try reading the Q Before you post)

Have YOU actually BUILT ANY Stm32 Boards yourself  - OR are You just rapping Your jaw ??

I said useful advice.

Does anybody have any Component/Experience suggestions ?
Andrew Neil
Evangelist
Posted on July 25, 2012 at 07:36

''Etching Own Boards''

 

For clarification, are you actually doing the etching (ie, the chemical processing) yourself - or are you getting boards produced to your design?

If you are doing the etching yourself, do you do a full test on the bare board for continuity on all tracks, and no shorts between tracks?

Is it just a single board that's failing, or a whole batch?
frankmeyer9
Associate II
Posted on July 25, 2012 at 07:53

As I stated the Board runs the Code fine - at 168MHz.

 

USB has generally a 12inch cord or longer at 12mbps with FS.  But the USB is not recognized by Windows.

 

If it was a Board issue of Clocking than the Code would fail first.

 

 

That is of no relevance.

This 168MHz clock is created internally by the PLL. The stm32F4discovery also runs at 168MHz system clock by default, with an 8MHz external quartz.

Relevant are the leads that are routed out. And the USB PHY is generally clocked with 48MHz.

Your layout has probably not a matching impedance.

 

jlchoobs
Associate II
Posted on July 25, 2012 at 16:35

jlchoobs
Associate II
Posted on July 25, 2012 at 16:38

I disagree.

As simple proof, I have an assortment of Boards using atm Micros that I etched.  All of them run smoothly with USB connection to Pc and Mmc Cards - running my OS code.

So, the 48MHz USB Timing - I have already solved.

Question is: Why are Stm32 Micros so quirky ?

emalund
Associate III
Posted on July 25, 2012 at 16:45

As simple proof, I have an assortment of Boards using atm Micros that I etched.  All of them run smoothly

 

As simple proof, I drove to work today without an accident

You MAY have gotten by with some things by sheer luck, DEFINITELY not by ''prudent design''. Now your luck has run out and, since you, of course, are perfect (at least that what you posts indicate), it has to be that ST is responsible.

Erik

frankmeyer9
Associate II
Posted on July 25, 2012 at 18:08

As the saying goes - the proof is in the pudding.

If the code works on other boards, but not on yours, it points to the board - other boards or no measure on PCB specific issues.

I still do not have the USB working on my own Boards (while it does work on the Demo Board).  And, I followed the Demo Brd Schem explicitly.

If you say it's solved - the better.

But why this post, then ?

jlchoobs
Associate II
Posted on July 25, 2012 at 20:54

As I said, considering the posting members cant seem to read,

avr boards seem easy to build with USB, Mmc Cards, etc - without glitches.

But building Stm32 Boards for USB seems unreliable.

Demo boards seem to vary in DP and Dm resistors from 0ohm-30ohm, maybe having 45pF caps, even bypass diodes.  I hope that the diodes are not necessary - this would show unreliability with the DM and DP signals.

Pity none of the posting members have any board building experience.

Try reading the context before replying nonsense and circles please.

> As simple proof, I drove to work today without an accident

Thats nice - so I'll stick with the slower but reliable toyota (avr) - instead of the flaky mustang (stm).  I, as any engineer, needs reliability.

Like you said, if I have working boards with avr, but no luck with stm32 chips ... QED the Stm32 chips are clearly less reliable.

Pity - seems I have done more research than anybody posting here; I was hoping for some useful ideas, but just see lectures on trivial.  Seems that I will have to stick with only my own research -considering there seems to be nobody with Stm32 Board Design and Building experience - answering here - just kids.

:(