2024-09-19 10:52 PM
Hi!
When I trigger the built-in LVD self-test for the Power Management Unit by writing PMUCTRL.CTRL.B.SILHT = 1, the PMUCTRL_FAULT register immediately indicates a low voltage detector fault and the MCU goes into SAFE mode. If I trigger the HVD test by writing PMUCTRL.CTRL.B.SILHT = 2, then it indicates a high voltage detector fault.
However, when sampling ADC channel 10 (VREG_1.2V) which is the voltage measured in these self-tests (if I understand correctly), then it says exactly 1.2 volts. So it appears the PMU is giving a false positive and reacting even while the voltage is OK. What could be the cause of this?
At first I thought that the chip was just broken. But this strange behavior appears on three different chips that I have tried on, so it's not just one individual bad unit.
Then I thought this might be a general error in the SPC56 chip. But the reference manual errata document does not mention this as a known design flaw.
My last idea was that there might be some problem with my software, but the self-test trigger is just writing a single bit into one register, so I don't see how that could possibly go wrong.
Does anyone else have experience of this? Or if you did manage to get the PMU self-tests working properly, how did you do it?
Note: I'm using an SPC56EL chip on a custom-made board.