2017-01-06 02:20 AM
Hello,
I am trying to find out why STM32F427 is crashing into HardFaultHandler in new batch of PCBs.
Please note firmware is proven and is running fine on many boards without any issues, but with new batch of PCBs, microcontroller is not stable at 180Mhz. I found out, that when I decrease clock (HCLK) for example down to 150Mhz, MCU is running fine, but with 180Mhz MCU is falling into HardFaultHandler (from random code locations). Even if i try debug simplest possible 'blink LED' loop firmware. Clock source is 25MHz crystal, power supply 3.3VDC.
Did anyone encounter similar issue, any ideas?
Thanks.
Jan
#stm32f427 #180mhz #hardfault_handlerSolved! Go to Solution.
2017-01-06 02:21 PM
Per Jan I'd look carefully at components placed on the new board, value and orientation of the VCAP capacitors being of particular importance. Especially with a new board, new pick-n-place, stencils, etc. Review the netlists for both boards.
Check you see 1.25V on the VCAP pins.
The VOS and Over-drive bits in PWR->CR might play a role, and how aggressively the flash wait states are, 5 or 6 being the most common .
2017-01-06 02:42 AM
- production error, e.g. incorrect parts (mainly at around supply (VCAPs, any R/L in VDDA) and oscillator), faulty ground plain vias, incorrect PCB plating hence increased trace resistance, and similar
- marginal design (in all above aspects)
A few things to try in software: use HSI as input to PLL instead of HSE; try different PLL settings i.e. if production SW uses low-end input PLL freq try the high-end, similarly with PLL output freq; try increasing FLASH latency and/or run test code from RAM
JW
2017-01-06 02:59 AM
Hi
janrusinsky
,''
Please note firmware is proven and is running fine on many boards without any issues, but with new batch of PCBs, microcontroller is not stable at 180 MHz.
''
What is the main differences between your new PCB and the old PCB?(please try to have a look to the
application note to be sure about your new hardware implementation)
Be sure to have the right flash wait state settings @180MHz & 3.3V?
-Nesrine-
2017-01-06 03:52 AM
Hello Jan and Nesrine,
thank you for suggestions.
I have update on this issue:
I have just swapped 'faulty' MCU onto previous revision of PCB.
Gues what everything is running fine at 180MHz with standard firmware.
It means that fault is on new PCB revision and MCU is OK.
There was no major change in layout around MCU since previous PCB revision.
I am going to check PCB connections from MCU pin by pin if connected to power planes, little nightmare
:)
.Best Regards
Jan
2017-01-06 02:21 PM
Per Jan I'd look carefully at components placed on the new board, value and orientation of the VCAP capacitors being of particular importance. Especially with a new board, new pick-n-place, stencils, etc. Review the netlists for both boards.
Check you see 1.25V on the VCAP pins.
The VOS and Over-drive bits in PWR->CR might play a role, and how aggressively the flash wait states are, 5 or 6 being the most common .
2017-01-07 07:10 AM
Just to finish the story, maybe it will help someone..
The fault was exactly where waclawek.jan and Clive One pointed out, the VCAPs
:)
PCB manufacturer accidentaly placed inccorect value of both VCAP capacitors.
There were 33pF caps assembled on new revision PCB instead of 2.2uF.
For me it is interresting microcontroller was running @150MHz with such small caps, stability issues occured on higher frequencies.
Best Regards
Jan