FS2400 current consumption after wakeup hello expert: my chip is S32K312 and SBC is FS2400 now i need to wake up the chip and the wakeup source is a GPIO falling edge before make S32K312 going to standby ,i set the FS2400 goto LPON mode /* register M_WU1_EN : filed CAN_WUEN set to wakeup and interrupt(03) */ Sbc_FS24_Ip_WriteRegister(0, SBC_FS24_IP_M_WU1_EN_ADDR, SBC_FS24_IP_M_CAN_WUEN_MASK); /* register M_IOWU_EN : filed WAKE2,WAKE3,HVIO1 set to no wakeup and interrupt(00) */ Sbc_FS24_Ip_WriteRegister(0, SBC_FS24_IP_M_IOWU_EN_ADDR, 0x00); /* register M_CAN : filed CAN MODE set to Transceiver receive only mode */ Sbc_FS24_Ip_WriteRegister(0, SBC_FS24_IP_M_CAN_ADDR, SBC_FS24_IP_M_CAN_MODE_RX_ONLY); /* go to LPON mode */ Sbc_FS24_Ip_WriteRegister(0, SBC_FS24_IP_M_SYS_CFG_ADDR, SBC_FS24_IP_M_GO2LPON_MASK) after wakeup ,i set the SBC goto normal Lpspi_Ip_Init(&Lpspi_Ip_PhyUnitConfig_SpiPhyUnit_SBC_Instance_0); Sbc_FS24_Ip_InitDriver(&Sbc_FS24_Ip_Config); Sbc_FS24_Ip_InitDevice(SBC_FS24_DEVICE_ID); eReturnValue = Sbc_FS24_Ip_CanTrcvSetState(SBC_FS24_DEVICE_ID, SBC_FS24_CANTRCV_STATE_ACTIVE); Sbc_FS24_Ip_WriteRegister(0, SBC_FS24_IP_M_SYS_CFG_ADDR, SBC_FS24_IP_M_GO2NORMAL_MASK); i found the current consumption is 54mA but the POR current consumption is 72mA if i do nothing about the SBC before goto standby ,after wakeup ,the current consumption is same as POR, so i think the sbc status is something wrong ,can you tell me why? Re: FS2400 current consumption after wakeup Hello PINKMAN
Good day!
Based on the behavior you described, I do not think the FS2400 is necessarily "stuck", but it is very likely that after waking from LPON the SBC is not returning to exactly the same configuration/state as after a POR
The datasheet states that waking from LPON returns the device directly to Normal mode through the wake-up sequence. The device does not re-enter INIT state automatically after an LPON wake-up
Also, if the device goes in LPON or LPOFF or Fail-safe mode while in INIT state, the device stays in INIT state, which can lead to misconfiguration of the device. It is recommended to read the INIT_S status bit in M_STATUS register before going to LPON or LPOFF mode, and to go only if the device is no longer in INIT state
I would capture and compare the following registers in both cases (POR path and LPON-wakeup path):
M_STATUS
M_SYS_CFG
M_CAN
M_SYS1_CFG
M_REG_CTRL
M_IOWU_EN
M_WU1_EN
I hope this information has helped you, please let me know if you need help with anything else.
Have a great day and best of luck. Re: FS2400 current consumption after wakeup hi : RafaR Based on your suggestion, I compared the FS2400 registers during POR and wake-up. I found that during POR, the value of register M_REG_CTRL is 0x04, while after wake-up, the value of register M_REG_CTRL is 0x1304. Based on this finding, I traced it to the function Sbc_FS24_Ip_InitDevice → Sbc_FS24_Ip_OptionalInitSequence → Sbc_FS24_Ip_InitMain, where there is an operation on M_REG_CTRL. However, this function has a prerequisite that SBC_FS24_NORMAL == ePowState. Therefore, during POR, this function can be executed, but during wake-up, GOTONORMAL is executed after Sbc_FS24_Ip_InitDevice, so this function cannot be executed, resulting in a power consumption difference. So I have two questions: 1. Is Sbc_FS24_Ip_InitDevice mandatory? Because I found that even if I do not call it during initialization, CAN message transmission/reception and power supply still work fine. 2. Where does this power consumption difference mainly come from?
View full article