Several weeks ago I visited my customer, they reported a problem with their S32K344 project, S32K344's VDD_HV_A is shorted to the GND, thus the MCU could not work. More than 10 samples had this problem.
Solved! Go to Solution.
I ask the customer to send me the register list of their project, then I found some problems:
As we can see, PMC module's LMSTAT = 0, LMEN = 0, and LMAUTOEN = 0.
In the reference manual, we can find that:
LMSTAT indicates the current status of the Last Mile Regulator, if LMEN = 0, the software should make sure that the system clock is on FIRC or slower, to use higher clock speed, the software must set LMEN = 1.
According to the explanation of S32K3's power supply, in BOOT regulation stage, VDD_HV_A is not only the power supply of IO, flash, and some other peripherals, but also the power supply of the core(the voltage is converted to 1.1 by BOOT regulator):
Once the MCU is booted, PMC module supposes to turn the RUN regulator on to let the external 1.5V supply the core:
If the PMC module keeps to work in the BOOT regulation stage, when the system clock is on PLL, the core needs a relatively large current, the heat will be accumulated on the BOOT regulator.
To solve this problem, we should set LMAUTOEN = 1, but in RTD 1.0.0, once you enable LMAUTOEN, it requires you to enable LMBCTLEN:
It makes no sense, because we only enable LMBCTLEN when there is no external 1.5V input(we use a external transistor to convert VDD_HV_A to 1.5V).
After discussion with BL's colleagues, the solution is that we can enable "Mcu Disable Power Management Controller Initialization" in Mcu - General, in this way, LMAUTOEN will be set to 1, as LMAUTOEN = 1 is the default setting.
As we can see, after enabling Mcu Disable Power Management Controller Initialization, LMAUTOEN = 1, LMSTAT = 1, Last Mile Regulator is successfully turned on, MCU works in Full Performance Mode.
In RTD 2.0.0, LMAUTOEN can be set without enabling LMBCTLEN.
Hi, Weo.
To be more specific, we would like to confirm if LMAUTOEN must be set to turn over to last mile regulator. From my understanding when LMEN is set, the last mile regulator has been switched.
Hi, Weo. @WeoWang
My customer has a question about LMAUTOEN. The customer is using external BJT for V15 and LMEN and LMBCTLEN has been set '1'. In this situation, is LMAUTOEN still must be set to '1', or it can be igorned? Looking forward to your reply, thank you.
I ask the customer to send me the register list of their project, then I found some problems:
As we can see, PMC module's LMSTAT = 0, LMEN = 0, and LMAUTOEN = 0.
In the reference manual, we can find that:
LMSTAT indicates the current status of the Last Mile Regulator, if LMEN = 0, the software should make sure that the system clock is on FIRC or slower, to use higher clock speed, the software must set LMEN = 1.
According to the explanation of S32K3's power supply, in BOOT regulation stage, VDD_HV_A is not only the power supply of IO, flash, and some other peripherals, but also the power supply of the core(the voltage is converted to 1.1 by BOOT regulator):
Once the MCU is booted, PMC module supposes to turn the RUN regulator on to let the external 1.5V supply the core:
If the PMC module keeps to work in the BOOT regulation stage, when the system clock is on PLL, the core needs a relatively large current, the heat will be accumulated on the BOOT regulator.
To solve this problem, we should set LMAUTOEN = 1, but in RTD 1.0.0, once you enable LMAUTOEN, it requires you to enable LMBCTLEN:
It makes no sense, because we only enable LMBCTLEN when there is no external 1.5V input(we use a external transistor to convert VDD_HV_A to 1.5V).
After discussion with BL's colleagues, the solution is that we can enable "Mcu Disable Power Management Controller Initialization" in Mcu - General, in this way, LMAUTOEN will be set to 1, as LMAUTOEN = 1 is the default setting.
As we can see, after enabling Mcu Disable Power Management Controller Initialization, LMAUTOEN = 1, LMSTAT = 1, Last Mile Regulator is successfully turned on, MCU works in Full Performance Mode.
In RTD 2.0.0, LMAUTOEN can be set without enabling LMBCTLEN.