cancel
Showing results for 
Search instead for 
Did you mean: 

MCU doesn't start after power cycle; Reset works OK

KaushikChavda
Associate II

Dear Team ST,

We are using the STM32 MCU (Part No. STM32F407VET6) on our custom board, and we are currently facing an issue related to the reset function.

During board power-on or after program loading, the MCU appears to enter a hold or non-responsive state. This issue occurs every time the board is powered OFF and then powered ON. However, when the hardware reset button is pressed, the MCU starts functioning as expected.

We kindly request your support in identifying the root cause of this issue. Please advise if any modifications are required on the firmware or hardware side to resolve this behaviour.

We look forward to your guidance.

Regards,

Kaushik

@Shubham Prakashpant BOHARAPI

26 REPLIES 26
I'm sorry I couldn't give you a solution like you asked for. We couldn't solve this problem with software modifications or changing the power supply.
We had to put the max803 chip with wire wrap on the borads . It was the easiest.

Regards

mansi

I have implemented all the capacitors as per power supply scheme suggested by datasheet. and also
i have given external 3.3V by using bench supply. But the result is still same.

Any further suggestion will be helpful to resolve this issue.

Have you used a scope to check your power rise time ?

Also check for any other "irregularities" on the power supply at startup.

Are there other things on your board which could be causing problems at power-up?

Are there other things in the rest of your system which could be causing problems at power-up?

Is your oscillator starting correctly?

 

Have you tried connecting the debugger to a "stuck" system?

https://community.st.com/t5/stm32-mcus-embedded-software/processor-stuck-if-i-run-code-without-debugger/m-p/802267/highlight/true#M63401

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
KaushikChavda
Associate II

 

- The power rise time measured on the oscilloscope is between 3 ms to 8 ms, with no abnormal deviation observed.

- During power-off, the board takes approximately 1 to 2 seconds to fully discharge, likely due to charged capacitors.

- This issue is observed only in some boards, while others function normally, even though all boards have the same design, configuration, and components.

We will try to connect debugger, will let you know.

 

Why you use 2 AC-DC modules? it seems PS1 and PS2 are reversed with Line and Neutral.

Is your VCAP1 VCAP2 changed ? Is 1000uF replaced after 5V 3V3 and too after AC/DC. 

Start test without 1000uF after AC/DC and Cout DC/DC try 100uF. But regular DC/DC design require Cin and Cout close to converter, this on your board is impossible. Simple rule Cin must be little bigger as Cout.

1. at VCAP has to be 2 uF (or 2.2 uF )

2. i see no cap on nrst , so put a cap 0.1 uF at NRST --- GND.

# Otherwise no reliable start.

3. on supply , maybe 1000u -> better use 220uF (= faster start of supplies )

If you feel a post has answered your question, please click "Accept as Solution".

@KaushikChavda wrote:

 This issue is observed only in some boards, while others function normally, even though all boards have the same design, configuration, and components..


Which definitely suggests that the design is marginal - the ones which work may be barely working, and the ones which fail are only just failing.

 

Outstanding questions:

Are there other things on your board which could be causing problems at power-up?

Are there other things in the rest of your system which could be causing problems at power-up?

Is your oscillator starting correctly?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

@KaushikChavda wrote:

This issue is observed only in some boards, while others function normally.


Is it consistent? ie, do some boards always fail, while others always start ?

Or is it that some boards are unreliable?

Does it vary with temperature, or other environmental factors?

 

Compare & contrast signals on failing boards against those on working boards - in particular, look at:

  • Supply rise/fall
  • signal at NRST
  • Do the oscillators start?

 

As @mansi suggested, try a reset controller - or just manually hold NRST low during power-up.

If that fixes the failing boards, then it certainly suggests an issue with your power supply (or something else) at startup...

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

Same recommendations as Ozone and TDK, further:

- I think L9 does more harm then good, try mounting a 0R Resistor.

- I normaly don't connect the BOOT0 pin directly to GND (You never now if You need it).