Skip to main content
Bence Péceli
Associate II
May 1, 2018
Question

STM32F3 NRST pin slowly pulls low

  • May 1, 2018
  • 18 replies
  • 5316 views
Posted on May 01, 2018 at 07:34

Hello, I have an STM32F3 built into an application. I managed to upload a very simple code and run it, but something weird is happening. After about 20-30 seconds the mcu turns off. I measured the voltage at the NRST pin and after powering the device it slowly starts to decrease. After about 20-30 seconds it reaches 1.3-1.5 V and the mcu turns off. It keeps decreasing and stops at about 0.8-0.9 V. I desoldered most components, including the reset button, hoping one of them was faulty, but it didnt help. Now this part of the circuit consists of only the mcu NRST pin and a pull up resistor (10k). What could cause such a problem? Thank you in advance

    This topic has been closed for replies.

    18 replies

    AvaTar
    Senior III
    May 1, 2018
    Posted on May 01, 2018 at 09:24

    Now this part of the circuit consists of only the mcu NRST pin and a pull up resistor (10k).

    This is presumably not the case, otherwise you would measure a stable Vcc at NRST.

    Your measurements suggest the pin floats, and the behavior is dictated by rather stable EMI influences.

    I would double-check if PCB is correctly routed, perhaps solder in an external pull-up resistor with wires.

    waclawek.jan
    Super User
    May 1, 2018
    Posted on May 01, 2018 at 09:54

    You might also want to look at the NRST pin using an oscilloscope. That pin is bidirectional and internal resets cause short pulses.

    I'd also triple-check *all* the supply and ground pins, including the analog ones (or, more precisely, starting by them, as the reset is in the analog domain), and look for bad solder joints.

    JW

    Bence Péceli
    Associate II
    May 1, 2018
    Posted on May 01, 2018 at 10:41

    First of all, thank you for the answers,

    I checked the supply and ground pins and they all seem to be connected. I also checked the wiring, there is indeed a connection through a 10k resistor to the supply from the nrst pin.

    What bothers me is that the patter is very stable. After powering the device it starts without a problem, the program running on it (simply flashing an LED). Then the nrst voltage gradually lowers, every time in almost the same manner, at the same speed. If there was a short I would assume it would be pulled low from the start. Also, what is strange that if I power it down after this cycle, powering it again doesnt start the cycle over, but sort of continues where it stopped. Only after waiting a few minutes does it start again. 

    I was thinking that it could be software reset, but i think there would be no such gradual change in that case, and it would start over immediately. 

    Do these symptoms give you guys any ideas about what could be wrong?

    Thanks, Bence
    LMI2
    Senior III
    May 1, 2018
    Posted on May 01, 2018 at 20:25

    If an input is trully floating, in my experience it is also sensitive to hand capacitance. That is waving your hand above the chip the input shows randomly logic 1 and 0. And the chip takes extra current.

    is your chip broken?

    T J
    Senior III
    May 2, 2018
    Posted on May 02, 2018 at 02:37

    obviously a hand soldered board.

    let me say that flux is your best friend.

    you may find the issue will go away when you are in production.

    I would suggest that you remove, clean and replace the Resistor and Cap for Reset with flux, consider a reset chip.in production or can you make another board? using flux on every connection ?

    then metho to clean...

    I use a 10k and  0.1uF and a MIC803 reset chip.

    AvaTar
    Senior III
    May 2, 2018
    Posted on May 02, 2018 at 08:05

    I would suggest that you remove, clean and replace the Resistor and Cap for Reset with flux, consider a reset chip.

    I would hand-wire a pull-up resistor (using wires, not the PCB) from Vcc to the NRST pin, or as close as you can get.

    I agree that your description sounds like a cap is involved. Scoping the NRST pin is recommended, but I would be cautious with interpretations. For small parasitary components (caps and resistors), the scope impedance might fool you.

    My next guess - some 'semi-conducting' liquid penetrated the Reset-button.

    you may find the issue will go away when you are in production.

    Or perhaps not ...

    Travis Travelstead
    Associate
    May 24, 2018
    Posted on May 24, 2018 at 20:10

    I have seen similar issues with some of my boards, maybe 1/20, where the NRST pin would slowly fall below the logic level. This could happens between hours and days, but after it crossed the threshold it would be hard to reset unless allowed to 'rest' and then shorting it to the 3.3v rail. So it would seem it essentially latches and has to be pulled up hard during the worst of it.

    I had a 100k external pull-up to help the 40k internal pull up, but on the boards that had this issue I would need to reduce that to 10k just to get the NRST pin to float above the logic threshold, usually about 1.7v. 

    This is a prototype run of boards so I am guessing that is the cause or exaggerating the issue, but it seems a little too suspicious for me to just think it is assembly.

    My thinking is there is leakage through the internal reset transistor, or one of the several reset controls of that transistor is partially active, is causing enough pull down to counter the 40k pull up. From what I have seen in a couple cases it would seem like it is acting like a 10-15k pull down. 

    I am used to putting pull-ups on the NRST line, but it seems like ST does not explicitly recommend it, so I hesitate to just assume. This combined with other forum post I have found while researching the issue, that there seems to be this concern about a pull-up could effect the reset timing and cause other issues. 

    So one of my questions to add to this, is having a 5-10k resistor pulling up the NRST pin a bad thing? I hate the idea of band-aid solution, but I feel like I have looked and looked and find nothing obviously wrong, which I know are dangerous words. 

    Tesla DeLorean
    Guru
    May 24, 2018
    Posted on May 24, 2018 at 21:58

    Same F3 part? Please be explicit about the part/pin count

    Something else driving NRST externally?

    AVDD supply voltage?

    Driving externally is an issue, especially if a PP driver is used. The pull up is optional, the part has an internal pullup.

    Other devices sharing common NRST?

    Internal POR depends on VDDA

    People who have slow rising supplies, and BOOT0 isn't pulled low, can get unpredictable startup, ie ROM vs FLASH

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    Travis Travelstead
    Associate
    May 25, 2018
    Posted on May 25, 2018 at 05:15

    Hello Clive,

    Thanks for the quick response. I also apologize for not being clearer.

    I am using the STM32F405RG which is a 64 pin

    In my case, I have no other devices connected to the NRST pin, and I do not use a JTAG or SWD debugger that would take control of the NRST line.

    Because the device works for a period of time before it has the issue, I would assume it is not a BOOT0 problem or slow rising power supply (which is possible with my DC/DC converter). 

    This is where I think it is strange, that the issue is not at boot, which would make more sense. 

    T J
    Senior III
    May 28, 2018
    Posted on May 28, 2018 at 04:13

    on dry days, I water the carpet in the workshop.