Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[STM32] NRST started to behave like an output, and it’s stuck in the high state.

kender

Advanced Member level 4
Joined
Jun 19, 2005
Messages
1,425
Helped
138
Reputation
276
Reaction score
39
Trophy points
1,328
Location
Stanford, SF Bay Peninsula, California, Earth, Sol
Activity points
10,035
Colleagues,

I’ve made a custom board with STM32L082KZ. I was able to upload firmware and debug for several days. But today I can’t upload firmware, and the NRST pin is acting strangely.

The setup

I’m using ST-link V2 and STM32cubeIDE 1.13.0 .

My entire board consumes around 20mA normally. The board is powered with a benchtop power supply. I’ve set the current limit at 40mA.

The NRST net has only three things connected to it: the microcontroller NRST pin, 0.1uF capacitor to GND, the SWD connector pin.

VDD is +3.3V .

Symptoms and observations

Today I can no longer upload firmware. When I try to upload the firmware with ST-link V2, there’s a spike in current draw, which trips the current limit. I tried every reset behavior in Debug Configurations, and each one caused a power supply current spike.

The firmware from yesterday that’s left in the microcontroller was able to run all this time, and it still runs.

Discovery. I tried to reset the microcontroller manually by shorting the NRST to GND, and I also got a spike in power supply current which tripped the limit. That suggests that the spike during firmware upload happens when the ST-link tries to drive NRST low.

NRST should be an input. On the STM32L082 it’s not even possible to configure it as an output. If NRST is an input, how come it sources so much current?

I powered down my circuit and measured the resistances between NRST and VDD, between NRST and GND. I got approximately 13 MΩ in both cases. That suggests that the input [or I/O ?] isn't fried. I'd expect low impedance between NRST and VDD if the input were outright fried.

Questions

What's happening with my NRST ?

How did NRST get into this state, and got stuck there?

How can I get the NRST out of this state?



Any insight or reference is really appreciated!

Best regards,
- Nick
 
Hi,

how does your circuitry looks like? Is the MCU in control of something that can sink 20 mA e.g. some kind of low side switch?

BR
--- Updated ---

... btw the NRST pin has an internal pull-up resistor usually in the range of ~10k or so, and a shorting of the NRST pin to GND should not cause a sinking of ~20 mA at the NRST pin.
 
Last edited:
how does your circuitry looks like? Is the MCU in control of something that can sink 20 mA e.g. some kind of low side switch?
Thank you! I was barking up a wrong tree when I thought that the additional 20mA was drawn through the NRST pin. Your question had set me in the right direction, and I found the actual cause of the problem.

I have a constant current circuit controlled by a DAC in the STM32. The DAC pin floats during reset. It floats high in my case (because of input bias currents), and commands a large current through the constant current circuit. I disabled the constant current circuit (the op-amp has a shutdown pin), and the debugger problem went away.
 

LaTeX Commands Quick-Menu:

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top