cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with the nRST pin in a STM32F100CBT6

jvadillo
Associate II
Posted on January 19, 2012 at 20:58

We have a problem with the nRST pin of a STM32F100CBT6 microcontroller. We have been working on the problem for several days and we don�t find out what is exactly the cause of this problem.

The problem lies in the nRST pin. There is nothing but a pull-up 10KOhms and a 100nF capacitor connected on this pin, but the pin does't go high.

For an unknown reason we see an unstable signal on this pin during some seconds, that fluctuates around 2.5 Volts to 2.7 Volts. After a period of 1-10 seconds the reset signal goes to low and remains there forever. The only way to take the microcontroller out of the reset is to force a 3.3V level onto this pin. When the pin is again released, it behaves well during some seconds (3 to 20 seconds), then it starts the fluctuations during some seconds (20 seconds or more) and finally falls again to reset.

Power supply is applied through a linear regulator (LM1117-3.3) to all the VDD and VDDA pins. We have checked pin by pin that the voltage arrives well to all the supply pins. Decoupling capacitors for each power supply pin pair are 100nF and are located very close to the microcontroller (2-3 mm away). Power supply is stable and does not have any fluctuations. It is also accurate, as we have measured a level of 3.37V with an oscilloscope and two different multimeters.

We have built 2 boards with this microcontroller and we have exactly the same problem.

Sometimes the reset signal stays high during enough time to program the microcontroller. The problems happens with the microcontroller erased and with the microcontroller programmed. In the second case (microcontroller programmed) we use HSE and we can see that the crystal clock works properly (8MHz). However, WE DO SEE THE SAME FLUCTUATIONS superimposed to the clock signal. We have checked the PCB and there are no shorts or couplings between the clock lines and the nRST (although we see that they connect to the microcontroller through contiguous pins).

We have also tried to remove the crystal and to run from the HSI Clock (Hi Speed Internal Clock) but the problem with the nRST stays there.

We have tried to remove the capacitor and the pull-up resistor, and the problem is the same, although the fluctuation levels are a little bit lower

We have the IWDG disconnected and the only thing that is now soldered on both boards is the microcontroller and the regulator (with its decoupling 470uF capacitors and the input and the output of the regulator)

The ONLY way to make the system go out of reset is to make a short-circuit (a 56 ohm resistor) between the nRST pin and the 3.3V voltage rail, but we cannot then reprogram the device (our JTAG cannot make the nRST pin low under these conditions).

We are looking desesperately for a solution. Please help us.

#nrst-pin-problem-trouble-stm32
20 REPLIES 20
peterm
Associate II
Posted on September 29, 2012 at 14:31

I worked it out (at least for me)!!

I had a filter circuit on the Vdda pin - turns out the resistor was too big and the voltage on this pin was 1.8V. If I pulled it up even momentarily then the chip would come out of reset and start working properly.

Phew - only 99 more boards to change now 🙂

Thanks to Clive1 from the thread titled

STM32F107RC - Very low external resistor on NRST pin

(where he mentioned to check Vdda)
David Littell
Senior III
Posted on September 29, 2012 at 16:25

Would AN2586 be helpful?

Posted on September 29, 2012 at 17:18

It would be generally useful.

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00164185.pdf

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
patrickfreninger9
Associate II
Posted on May 05, 2015 at 12:00

We had the same problem and it turned out that VDDA and VREF+ were connected to each other but nothing else. Apparently the Reset block is in the VDDA domain, therefore the behavior.

Posted on October 05, 2016 at 13:54

Hi all,

I had the problem of an unstable / fluctuating voltage level on NRST pin on an STM32L476RE, turned out that it was because I forgot about the VBAT pin (tied it to VDD now).

Many thanks @clive1, no idea how long I would have taken to find that one on my own.

Pm77
Associate II
Posted on October 11, 2016 at 17:27

Hi,

I was able to program IC first 2-3 times then it died NRST was always pulled low from inside even when I took it off PCB.

I have now two STM32F407 ICs taken away from PCB and still NRST is shorted to GND.

My NRST track on PCB does go about 10-15 cm for external push button reset. Track does travel near main MCU Crystal (As NRST pin is next to Oscillator pin) but it had no bypass cap.

I managed to solved problem by adding bypass cap(100n) on NRST near IC side. Though it costed me lot of headache and 2 MCUs. This is hideous problem/weakness.. I was able to use one of it by forcing NRST high to burn internal pulldown and then use external manual push button reset to use in debug mode. Other IC has now VDD and NRST shorted(0.18 ohm) to GND

Hope it helps to someone.

Posted on October 11, 2016 at 18:50

Something else in your design is very wrong if it is shorting out internally.

NRST will be clamped low (OD) if the absence of VDDA. Forcing NRST to a high level will cause several issues wrt the internal reset processes.

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

I have the same problem. When i try to connect my STM32F103C8Tx , ST link does not connect with controller. Sometimes it gets programmed but this happens only once or twice but after that it does not connect with st link.

mtipu
Associate

Please help to solve the problem.

>>I have the same problem.

What problem? There's a huge description in the top post, from 2016, perhaps your own thread with a complete/concise description would have been a better choice.

ST-LINK might have connectivity issues if your code interferes with the PA13/PA14 GPIO pins, you remap the debug functionality, or you power down the core.

People use the NRST pin with the debugger to allow it to stop your broken code running while it tries to wrestle control. If pulling BOOT0 high results in better connectivity, your code is doing something dumb.

The external ST-LINK expects to have it's interface buffers powered by your target supply via VTarget pins.

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