cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H7 USB-HOST (dis)connect bouncing

Microman
Associate III

Hi all,

I have a STM32H743 running at 400MHz with simple USB 1 wiring to an USB A jack. It works fine, no issues, runs for hours with thousands of read and write operations.

But there is one little issue that drives me crazy:

If I plug in and unplug one specific USB Stick (Intenso 8GB) sometimes after removing the stick (no read/write ongoing!), I see "USB Device disconnected" in the log (which is perfectly correct when unplugging an USB stick) but just a millsecond later, I get also "USB Device Connected" again - even though there is nothing connected to the port! After this occures, there is nothing more happening in the USB subsystem. Reconnecting any other stick does not change anything - untill a reset of the STM32, there are no more reactions, no events, no USB (dis)connect anymore.

This only happens from time to time and only with some sticks. With the SanDisk 64GB "Ultra Flair" for example, I never experienced this issue. At first, to me this looked like some hardware bounce effect, but I cannot find any unual signal behaviour on the lines.

Any ideas how to solve this? Maybe by inserting some delay(sleep) after disconnet event?

Middleware is:

  • FreeRTOS V10.0.1
  • STM32Cube FW_H7 V1.6.0

Hardware:

  • ESDA6V1BC6 USB Surge protection at the USB jack
  • 90 Ohm traces, same length, symmetrical wiring
  • only 20mm trace length between STM32 an USB Jack
  • 5V 1A permanent power, filtered with 0.1uF cer and 22uF low ESR

10 REPLIES 10
Microman
Associate III

I'm quite sure there may also be the same bouncing issue at the connect - alltough I must admit I never experienced this.