fs23 fail to enter LPOFF

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

fs23 fail to enter LPOFF

146 Views
fengba_360
Contributor III

I'm using the S32K312 to communicate with the FS23 via SPI in order to control the FS23 to enter LPOFF mode. I sent the LPOFF command through SPI as follows:

First, I read the value of the SBC_FS23_M_SYS_CFG_ADDR register:
Sbc_fs23_ReadRegister(1, SBC_FS23_M_SYS_CFG_ADDR, &M_Sys_Cfg_RxData);

Second, I wrote the read value of the SBC_FS23_M_SYS_CFG_ADDR register, with the SBC_FS23_M_GO2LPOFF_MASK set to 0x0040 (1<<6) for the LPOFF sleep mode:
Sbc_fs23_WriteRegister(1, SBC_FS23_M_SYS_CFG_ADDR, M_Sys_Cfg_RxData | SBC_FS23_M_GO2LPOFF_MASK, &pu16RxData_LDT);

However, the FS23 did not enter LPOFF mode, and when I read the register value again, it hadn't changed. I can confirm that the SPI communication is working properly.There are no external wakeup sources connected

Can you guide me on whether there might be an issue with my configuration or if there are other registers that need to be configured?

0 Kudos
Reply
7 Replies

112 Views
guoweisun
NXP TechSupport
NXP TechSupport

Hi fengba

您能确认下进入LPOFF 模式之前是什么模式吗?

是从normal模式进去的吗?

M_STATUS register里面的 NORMAL_S bit确认下:

guoweisun_0-1733119118575.png

 

Thanks

0 Kudos
Reply

99 Views
fengba_360
Contributor III

Regarding the M_STATES register value of 12295 (binary representation: 0011000000000111), with bit13 being 1 indicating normal mode。

The value of the M_SYS_CFG register is 21507 (0101010000000011), but it has not been successfully modified.

微信图片_20241202194324.png

0 Kudos
Reply

96 Views
guoweisun
NXP TechSupport
NXP TechSupport

你能确定是normal模式,以后你发了什么command想 进入LPOFF模式的?

0 Kudos
Reply

83 Views
fengba_360
Contributor III

I am sure it's in normal mode, and I want to enter LPOFF mode by writing to the register SBC_FS23_M_SYS_CFG_ADDR (0x05). My steps are as follows:

Step 1: Read the value of the register SBC_FS23_M_SYS_CFG_ADDR (0x05) via SPI.

Step 2: Perform a bitwise OR operation between this value and SBC_FS23_M_GO2LPOFF_LPOFF (0x0001U << SBC_FS23_M_GO2LPOFF_SHIFT), and then write the result back to SBC_FS23_M_SYS_CFG_ADDR (0x05) to put fs23 into sleep mode.

0 Kudos
Reply

76 Views
guoweisun
NXP TechSupport
NXP TechSupport

Step 1: Read the value of the register SBC_FS23_M_SYS_CFG_ADDR (0x05) via SPI.

[gw]读出来的值是多少这个寄存器?

Step 2: Perform a bitwise OR operation between this value and SBC_FS23_M_GO2LPOFF_LPOFF (0x0001U << SBC_FS23_M_GO2LPOFF_SHIFT), and then write the result back to SBC_FS23_M_SYS_CFG_ADDR (0x05) to put fs23 into sleep mode.

[gw]写进去 M_SYS_CFG register 的值是多少?写过以后有没有再读一下验证写成功有否?

0 Kudos
Reply

61 Views
fengba_360
Contributor III

1.The value of the M_SYS_CFG register is 21507 (0101010000000011).

2.The written value is 21571 (0101010001000011).

3.To verify if the write was successful, the value I re-read is also 21507 (0101010000000011).

This problem has been bugging me for days. Can you please give me some guidance?

0 Kudos
Reply

48 Views
guoweisun
NXP TechSupport
NXP TechSupport

你写  M_SYS_CFG register as ‘xxxx x000 0100 0011’  试试‘x’代表任意值

0 Kudos
Reply