Skip to main content
PNare
Associate II
April 16, 2019
Question

S2-LP getting into unknown state (MC_STATE0 is 0x29)

  • April 16, 2019
  • 6 replies
  • 2289 views

Greetings, I'm configuring the S2-LP to act as a receiver and then strobing the reception. Sometimes the reception works and the S2-LP goes to the RX state as seen from the first 2 bytes of status on MISO . Sometime, randomly, it goes into an unknown state of 0x14 (MC_STATE0 value is 0x29). Why does this happen?

I don't know what other info is needed, please let me know and I'll answer.

Regards, Prithvi

    This topic has been closed for replies.

    6 replies

    Anders Dam Kofoed
    Associate II
    March 17, 2020

    Hi,

    I am having a similar issue, but just with MC_STATE0=0x74 instead.

    Did you ever find out why or how to solve it?

    My question is here:

    https://community.st.com/s/question/0D53W000002eTkjSAE/my-s2lp-tranceiver-is-reporting-state-0x74

    Kind rgds

    Anders

    Anders Dam Kofoed
    Associate II
    March 17, 2020

    Hi again

    I found out that I needed this in my mode-switch in order to re-calibrate the RCO:

     S2LPRefreshStatus(); // g_sStatus_MC_STATE
     // Recovery
     if (g_xStatus.MC_STATE != MC_STATE_READY && g_xStatus.MC_STATE != MC_STATE_TX && g_xStatus.MC_STATE != MC_STATE_RX && g_xStatus.MC_STATE != MC_STATE_STANDBY && g_xStatus.MC_STATE != MC_STATE_SLEEP)
     {
     printf("S2LP Recovery...\r\n");
     S2LPCmdStrobeSabort();
     HAL_Delay(1);
     S2LPCmdStrobeStandby();
     HAL_Delay(1);
     S2LPCmdStrobeReady();
     HAL_Delay(1);
     }

    I actually force it using S2LPCmdStrobeLockTx(); in the init() followed by S2LPCmdStrobeSabort(); but I still get MC_STATE=0x74 or sometimes 0x14.

    Someone mentioned that there is an ERRATA sheet where something about callibration word is mentioned and how to fix it. It is not it the S2-LP Errata sheet section but I would like to know where?

    Kind regards

    Anders Dam Kofoed

    DataHamster.io

    M F
    Associate II
    April 26, 2021

    I have observed as well the LP-SP2 going to the STATE 0x14 (MC_STATE0 = 0x29) with the following differences:

    1- It happens now and then at very low tempertares: -34°C and then also out of specified range, at -50°C

    2- it happens when I send the SABORT strobe to bring the chip from RX to READY state.

    Once the LP-S2 is in the STATE 0x14 (MC_STATE0 = 0x29), how can I bring the LP-SP2 from this undocumented state to the READY state?

    I have tried sending SABORT and also the READY strobes. None of them did "the magic". :(

    I have contacted STMicro. If I get some information I will post it.

    Marcos

    Anders Dam Kofoed
    Associate II
    May 3, 2021

    Did you ever receive a reply from ST?

    Anders Dam Kofoed
    Associate II
    April 26, 2021

    Looking forward to your reply.

    If we are to make production-ready code for the S2LP, then we must have ST to help with this - supplying us with a workaround!

    AndyR1
    Senior
    May 3, 2021

    hello, my s2lp goes to unknown state too, i couldnt reproduce the bug, do you know the difference between state LOCKON and LOCK_ST ?

    M F
    Associate II
    May 3, 2021

    After analysing, modifying and testing the fix I must correct my post written 7 days ago. In that post is to be read:

    2- it happens when I send the SABORT strobe to bring the chip from RX to READY state.

    It is the SABORT command that makes it actually possible to bring the LP-S2 from the undocumented state 0x14 (MC_STATE0 = 0x29) to the READY state.