cancel
Showing results for 
Search instead for 
Did you mean: 

Why S2LP does not work at low temperatures?

AKouz
Associate II

I use S2LP at 433 MHz with proprietary narrowband protocol. Crystal 25 MHz 10 ppm XRCGB25M000F1H02R0 from Murata; capacitors 18 pF.

Devices operate OK if ambient temperature is positive. When I put them into freezer they stop responding to the base station. Devices are temperature dataloggers. While being in freezer, they continue to log temperatures, and we can see that microcontroller works OK down to -17 C. But S2LP stops responding at temperatures around 0 C.

I suspect that S2LP oscillator does not start if it is cold. Did anyone experienced similar problems?

12 REPLIES 12
Winfred LU
ST Employee

S2-LP is capable of operating at ambient temperature down to -40 degrees C.

The Murata crystal can work down to -20 degrees C according to its datasheet.

Please check if all the other components can operate properly at low temperature.

Chances could be the capacitors change a lot their capacitance at low temperature, which changes the oscillating frequency out of the range that S2-LP needs.

Let me list the areas of interest:

  1. Crystal load capacitance is 10 pF, thus, with 18 pF capacitors around crystal the allowance for stray capacitance is as low as only 1 pF. I should try 15 pF or even 12 pF capacitors instead of 18 pF.
  2. Crystal ESR of 80 kOhm is quite high. While S2LP datasheet does not mention recommended ESR, the 80 kOhm looks a bit high. I should try a crystal with lower ESR.
  3. I do not use shutdown pin SDN. While S2LP datasheet does not require SDN pin to be used, maybe a short pulse on SDN pin helps S2LP oscillator to start, who knows.

So far I cannot see what else could be involved. Other components around S2LP are mainly capacitors. They are either NP0 if capacitance is 470 pF or lower, or X7R otherwise. Supply rail is 2.5V from a high quality LDO with plenty of decoupling ceramic caps 47nF, 1uF and 10uF. Also there is a supercap 0.5F across the rail.

AKouz
Associate II

In my device every few seconds microcontroller wakes up S2LP from standby mode and puts it into RX mode for about 10 ms. During that period I can see clock bursts at oscillator output Xout and at switch-mode regulator output SMPS1, even at low temperatures. Therefore S2LP crystal oscillator apparently works at low temperatures.

But there is no signal at GPIO0 pin configured as RX data output, it stays low. Only a 100 us pulse appears at RX output when microcontroller puts S2LP int RX mode. Actual RX signal appears for 10 ms when circuit warms up and disappears when it cools down.

AKouz
Associate II

When I've added full S2LP re-initialisation every minute, device starts working at low temperatures.

I guess S2LP internal analog circuitry is not very stable. Apparently it can tune itself to operating point at any temperature in the full range -40...+105C, but does it only once during initialisation. If temperature changed significantly, it looses operating point and require re-initialisation to restore it.

It would be nice to know a subset of registers sufficient for restoring operating point(s). So far I made full S2LP re-initialisation. It takes a while, but I can tolerate it once per minute.

It may be worth to measure the crystal to be sure if the frequency has drifted to much at low temperature.

Possibly synthesizer related registers are required to be reinitialized. (My guess)

This issue is still strange to me, since i knew several projects where S2-LP operates normally without needing reinitializing everything at low temperature such as -20 degree C.

I agree, it is strange. It is quite possible that the issue caused by a "not quite right" setting in one of the S2LP registers. I am not using STM libraries and rely on the data sheet and on evaluation board and software. It is a complex chip, while datasheet is not comprehensive, it leaves plenty of room for guesswork. Maybe STM libraries uses slightely different settings resulting in much beterr temperature stability.

Yesterday I observed communication at temperatures -7C. But after overnight in a freezer devices refuse to talk yet again. The quest is not over.

S2LP datasheet rev 7 in table 36 specifies power-up reset pulse wdth of 2 ms max. Also it mentions that "A software command SRES is also available, it generates an internal but partial resetting of the S2-LP". Datasheet does not mention how long I should wait after SRES before sending other commands.

I do not use hardwarre reset pin, I use SRES command. And I just wondering should I wait 2 ms after SRES? Maybe at room temperatures SRES processed faster, but at low temperatures a full 2 ms delay after SRES is required?

A test unit in a freezer can communicate to base station down to -10.9C. Communication was OK down to -10C, after that it became unreliable. The -10.9C was the temperature reported in the last session, after that connection is lost. Apparently S2LP temperature is not the same as sensor temperature, I did not bond them. It was just a quick test. I guess chip temperature was about -5C