cancel
Showing results for 
Search instead for 
Did you mean: 

Why can't my STM32F469 hardware enumerate correctly USB sticks?

MFrat.2
Associate

Hi all.

I have a hardware with STM32F469, running FreeRTOS and USB stack as configured from CubeMX.

I have the following problem.

I have a preproduction stock of this hardware and 2 USB sticks.

Let's consider only 2 of the above boards (let them be A and B).

Both sticks are correctly enumerated and initialized by board A.

While only one stick of the two works on board B. The other one gets stuck

in enumeration phase.

This thing is driving me crazy.

Any suggestions?

Regards,

Marco

6 REPLIES 6
Paul1
Lead

Add delays when starting USB to allow USBStick to stabilize (Some have slower ICs inside than others, or larger capacitors).

  • Delay before enable VBUS power (~100msec).
  • Delay between enabling VBUS and accessing USB Device (~2000msec)

Actual delays required will depend on power source impedance, switches on usb power, circuit capacitance, and sticks used.

Paul

Pavel A.
Evangelist III

Test on another board. Not all boards are created equal.

Hello @MF.2ratini​ ,

This is probably a hardware problem. You could try another board.

BeST Regards,

Walid

MFrat.2
Associate

Hello all and thanks for your contributions.

On this board I have VBUS always ON and have the stack dealing with USB device initialization.

The same USB stick works on 99 boards over 100, while the other works on all boards (just as statitstics). It may be a mix of HW and SW timings at edge, or something similar...

Have no idea yet.

Clocking from HSE, HSI or HSI48 ?

USB has tight clock expectations.

A lot of USB Flash drives and CDC can be relatively sloppy.

Perhaps measure the ppm for the internal clock via the MCO PA8 pin routing.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Bad solder joints toward the USB connector? Incorrect parts? Damaged connector?

Continuity meter and oscilloscope are the basic tools here.

JW