2403637_en-US

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

2403637_en-US

2403637_en-US

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?

タグ(1)
評価なし
バージョン履歴
最終更新日:
18 時間前
更新者: