Core Standby Mode ( How to reduce core standby current micro ampere ? )

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Core Standby Mode ( How to reduce core standby current micro ampere ? )

620件の閲覧回数
AbdNxp
Contributor II

Hi,

 I am working on an 2Wheeler Ev project that will be operating NXP S32K322 Cortex_M7_0.

I am trying to implement power saving feature for the project.

Now one difficulty I am facing to reduce current in uA , currently the current consumption

is around 6-9mA when configured Core standby mode with below configuration.

 

 

AbdNxp_6-1732795409691.pngAbdNxp_7-1732795431599.png

 

AbdNxp_0-1732795101657.pngAbdNxp_1-1732795129607.pngAbdNxp_2-1732795166524.pngAbdNxp_3-1732795200557.pngAbdNxp_4-1732795215142.png

AbdNxp_5-1732795391830.png

 

 

void PowerDeInitResources(void)
{
GPIOWritePin (KEYLESS_PWR_OUT_PORT, KEYLESS_PWR_OUT_PIN, (SysState_t) SYS_SET);
AppSuspendTasks ();
bleEnterSleepMode ();
 
SPIDeInit (0);
I2CDeInit ();
while (SYS_SUCCESS != ModemEnterSleepMode ());
GPIOWritePin(V4_LDO_DIS_PIN_PORT, V4_LDO_DIS_PIN_PIN, SYS_ON);
UARTDeInit (0);
UARTDeInit (1);
UARTDeInit (2);
CAN3EnableLisentOnlyMode ();
GPIOWritePin (BLE_RESET_PORT, BLE_RESET_PIN, SYS_OFF);
 
Dma_Ip_Deinit();
GPIOWritePin(LTE_POWER_KEY_PORT, LTE_POWER_KEY_PIN, SYS_OFF);
GPIOWritePin (HSD_8CH_IDLE_OUT_PORT, HSD_8CH_IDLE_OUT_PIN, (SysState_t) SYS_OFF);
//GPIOWritePin(MOTOR_IGNITION_ENABLE_OUT_PORT, MOTOR_IGNITION_ENABLE_OUT_PIN,SYS_RESET);
GPIOWritePin(AUX_BATT_CHARGE_ENABLE_OUT_PORT, AUX_BATT_CHARGE_ENABLE_OUT_PIN,SYS_OFF);
//Does doing below things helps to reduce lekage current throug gpio ?  
Siul2_Port_Ip_RevertPinConfiguration(CAN3_TX_PIN_PORT, CAN3_TX_PIN_PIN);
Siul2_Port_Ip_RevertPinConfiguration(SPI2_SIN_PORT, SPI2_SIN_PIN);
Siul2_Port_Ip_RevertPinConfiguration(SPI2_SOUT_PORT, SPI2_SOUT_PIN);
Siul2_Port_Ip_RevertPinConfiguration(SPI2_SCK_PORT, SPI2_SCK_PIN);
Siul2_Port_Ip_RevertPinConfiguration(SPI2_SIN_PORT, SPI2_SIN_PIN);
Siul2_Port_Ip_RevertPinConfiguration(SPI2_SOUT_PORT, SPI2_SOUT_PIN);
Siul2_Port_Ip_RevertPinConfiguration(SPI2_SCK_PORT, SPI2_SCK_PIN);
Siul2_Port_Ip_RevertPinConfiguration(UART0_TX_PORT, UART0_TX_PIN);
 
C40_Ip_Abort();
 
 
}
 
void PowerEnterLowPowerMode(uint32_t interval, bool_t useIntervalWakeup, PowerWakeupCallback_t p_UserWakeUpCallback )
{
if (SYS_FALSE == isLowPower)
{
p_UserWakeUpCallback = p_UserWakeUpCallback;
if (SYS_TRUE == useIntervalWakeup)
{
lowPowerIntervalSec = interval;
RTCSetAlarm(lowPowerIntervalSec, wakeupCallback);
 
}
isLowPower = SYS_TRUE;
Power_Ip_CM7_EnableSleepOnExit();
Power_Ip_CM7_EnableDeepSleep();
Power_Ip_SetMode(&Power_Ip_aModeConfigPB[1]); // this is th configuration represent in the snapshot
}
else
{
//Do Nothing
}
}
0 件の賞賛
返信
1 返信

591件の閲覧回数
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @AbdNxp,

Please refer to Table 15. STANDBY mode supply currents from the S32K3 Data Sheet, as well as the S32K Power Estimation Tool (PET) for an initial reference on current consumption.

Also, current consumption is based on the MCU, not the whole board. Are there any output pins that can drive an external load? If there are any input pins, can you try disabling the input buffer of the pins? You can also try to disable Pad Keeping.

You can refer to the following community posts for some example projects.

Best regards,
Julián

0 件の賞賛
返信