cancel
Showing results for 
Search instead for 
Did you mean: 

Finding 3.3V rail unpowered to have a low resistance with STM32F401RET6

JBlackann
Associate III

Hello,

I have designed a board for testing devices. At the heart of the circuit is the STM32F401RET6. With a new circuit board, I can read across the 3.3V rail unpowered (to ground) and see a resistance of about 450 ohms. I was performing some testing with another unit and it started acting strange. The board is located in an enclosure but one can control the device over a USB connection to a PC.

I opened the enclosure and removed the PCB and found that the power supply (3.3V regulator) and the STM32F401RET6 were extremely hot. I checked the resistance of the 3.3V rail unpowered (to ground) and found a value of 15 ohms. This is actually the second time that I found the circuit to be damaged in this manner. With the previous instance, I removed the STM32F401RET6 and saw the low resistance go to a much higher value. I then inserted a new STM32F401RET6 and got a resistance reading similar to the 450 ohms (Another known good working unit). The unit was perfectly fine for approximately 3 weeks and then the device seemed to be damaged today.

In further checking of the STM32F401RET6, when I read the resistance of the VBUS pin (PA9) to ground, I also find the resistance to be about 20 ohms.

On a good board, I find the resistance to be an open for VBUS. Could something have happened to the VBUS pin and this then caused the STM32F401 to draw far more current?

I do not have any ESD protection on the USB pins. Could I some how be applying ESD into the device and this ends up damaging the chip?

Attached is a schematic of the circuit. There are just straight runs from the USB connector to the USB pins of the device.

3 REPLIES 3
Uwe Bonnes
Principal II

Device showing low reststance is an error pattern I observed when I got over maximum allowed values for IO. E.g. strong drive a non-5-Volt tolerant pin to 5 Volt, or apply external vaoltage to some pin. So check if some of these events happened.

JBlackann
Associate III

Hello,

I appreciate the response. I did some looking and the PA9 is listed as a 5V tolerant on the datasheet.

I did some digging and found the following in the ST Document, "USB hardware and PCB guidelines using STM32 MCUs", App note 4879. It can be found at

https://www.st.com/content/ccc/resource/technical/document/application_note/group0/0b/10/63/76/87/7a/47/4b/DM00296349/files/DM00296349.pdf/jcr:content/translations/en.DM00296349.pdf

from Section 2.6 on page 10

Pin PA9, a 5 V-tolerant pin, is natively dedicated to VBUS sensing. The absolute maximum ratings table of the datasheet indicates that the 5 V-tolerant pin voltage cannot exceed VDD + 4 V. User needs to avoid the situation when the MCU is not powered and 5 V VBUS is connected to PA9, because it violates the condition on absolute maximum ratings and can result in permanent damages to the device.For this purpose, it is mandatory to reduce the voltage on PA9 below 4 V. Additionally, the internal VBUS detection block within the OTG peripheral has a current consumption, as mentioned in the STM32 datasheets:“When VBUS sensing feature is enabled, PA9 should be left at their default state (floating input), not as alternate function. A typical 200 μA current consumption of the embedded sensing block (current to voltage conversion to determine the different sessions) can be observed on PA9 when the feature is enabled.�? For reliable and safe connection, use a voltage divider with a configuration limiting the voltage below 4 V. Additionally, to be detected, voltage needs to be higher than 0.7 × VDD

My circuit does not have a voltage divider to limit the voltage to below 4V. This could have been the cause.

If there is any other suggested circuitry for protecting the USB inputs, I would like to evaluate those prior to make any changes for my next PCB design.

Paul1
Lead

FYI: Some STM32 demo boards use the ST USBLC6-2 to protect the data signals (ESD...).

i.e. STM32H743I-EVAL at CN14 has ESDA14V2-2BF3 on USB Power and USBLC6-2 on USB Data, as well as some Inductors/chokes.

It can vary depending on what will be connected to the USB (USBStick, Cable, PC, load...)

Depending dev or host you can check USB circuit differences on newer demo boards.

Paul