2016-11-03 06:12 PM
We are seeing some failures in our chip at higher, but not max temperatures.
We are using an external 16MHz crystal and operating at 72MHz.We are using the 85C rated chips.There are two sets of firmware that we have been testing, one works just fine, and the other fails on power cycle at the higher temperatures. For both cases if they are already running while being heated up in a test chamber they continue to run fine without failing, the failure only occurs when power cycling.Our first set of firmware includes a custom boot loader in the beginning of the memory space, which is immediately followed by our main application firmware. When we power cycle this first case at 65C the bootloader fails
to boot properly and only toggles a pin controlled by the watchdog. In our second set of firmware we only program the chip with our main application firmware. When we power cycle this second case at 65 C, the firmware
runs just fine with no issue. So my question is, what is to be affected at higher temperatures that would allow some firmware to run and not others. What are common failures at boot at higher temperatures?
Any thoughts would be much appreciated! #stm32f103-temperature-failure2016-11-03 06:26 PM
My primary concern would be the Flash wait state settings. I'd also double check the clock and bus settings, ideally both firmware should be able to output diagnostic info, and map the internal clock to the MCO pin. ie so you know internal clock configuration, sources and speeds.
I'd also look at all the infinite loops in the execution path, especially those in and around SystemInit(), those waiting for clocks to start, PLL to lock and those waiting to switch over primary clock source. The part starts off HSI, and will manually start and wait for HSE. If HSE doesn't start properly at temperature this might be an issue.2016-11-03 06:36 PM
@clive1, Thank you very much for the thoughts and suggestions, they sound very likely to be the cause. Is it possible that the crystal is taking longer to stabilize at higher temperatures?
2016-11-03 07:00 PM
The characteristics of the circuit will change, if it is marginal it may take longer to start, or not start at all. You'd want to double check the parts and capacitors per the app note. You can also quantify loop iterations wait for clocks to start, or PLL to lock/stabilize.