Skip to main content
410409285
Associate
October 20, 2016
Question

STM32F107 reset failed via NRST pin

  • October 20, 2016
  • 3 replies
  • 1385 views
Posted on October 20, 2016 at 05:54

Background:

       1.5% of products which use STM32F107 totally dead after using 3 months;

Problem:

       The NRST reset not function. After disconnecting the power and connecting again, the chip could recover and work again. And this problem could not be reproduced in our lab condition.

information:  the chip use STANDBY mode to shut down and use WAKE UP pin back to work.

The schematic is attached below.(Only the core components displayed)

Is the schematic wrong or did I missed something?

0690X000006058PQAQ.png

#stm32f107 #reset-failed
This topic has been closed for replies.

3 replies

Walid FTITI_O
Visitor II
October 20, 2016
Posted on October 20, 2016 at 17:51

Hi wenqiang.liu, 

It can be a software related issue in your code. To get more help, Please, share the part of your main code ( power initialization , wakeup pin configuration , standby configuration, enter and exit routines of standby mode) with the interrupt handler called.

-Hannibal-

410409285
410409285Author
Associate
October 21, 2016
Posted on October 21, 2016 at 09:18

Thanks for your response;

But I really don't think this is a software issue; I know well the issue about using more than one wakeup soure; According IO signals detected by myself, the chip stay in reset mode; The reset pin voltage is 3.3V, and it could go to 0.0V when I short the capacitor; Here is the code related init and standby routine.

//Core init routine
//fault config
uint32_t SHCSR = SCB->SHCSR;
SCB->SHCSR = SHCSR | (SCB_SHCSR_BUSFAULTENA | SCB_SHCSR_MEMFAULTENA | SCB_SHCSR_USGFAULTENA );
/* Use CMSIS function Setup STM32 system (clock, PLL and Flash configuration) */
/* External Crystal @ 25MHz Core frequency 72MHz */
SystemInit();

//Enter standby mode routine
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
/* Allow access to BKP Domain */
PWR_BackupAccessCmd(ENABLE);
/* Reset Backup Domain */
BKP_DeInit();
BKP_WriteBackupRegister(BKP_DR2, 0xA6A6);
/* Enable WKUP pin */
PWR_WakeUpPinCmd(ENABLE);
/* Request to enter STANDBY mode (Wake Up flag is cleared in PWR_EnterSTANDBYMode function) */
PWR_EnterSTANDBYMode();

Visitor II
September 15, 2023

HI, The same issue we are also facing and couldn't reproduce the same in lab . Did you find any solution ?