Oscillator drift guidelines - sigfox-tech-radio/sigfox-ep-lib GitHub Wiki

Introduction

The Sigfox technology is based on a software defined network providing a cognitive behavior. This means the network does not impose any form of synchronization or heavy requirement to the terminals, but discovers their appearance in the operational uplink band and adapts as much as possible to their imperfections, at least up to a certain level that are the published limits.

On the device side, one of the main source of imperfection is the crystal oscillator used by the radio. This a very sensitive element in the hardware design.

The static drift of the oscillator, which is the absolute frequency inaccuracy (offset), is not of a high concern as long as the signal is within the uplink band. A calibration can be performed in production, or some margins, called guard bands, can be applied to guarantee that the uplink frequency is within the monitored spectrum of the base stations.

However, the dynamic drift, defined as the parasitic frequency variation of the oscillator during the uplink transmission, is a critical parameter which affects the reception performance. This parameter is not given in the crystal datasheet as it strongly depends on the hardware implementation. Since the signal is ultra narrow band (UNB), the base station applies narrow band filters on the incoming signal in order to reach the best performance. The signal has to remain in the channel filter during the whole transmission, that is why the dynamic drift value needs to be limited and compliant with the specification, in order to be the correctly demodulated by the network.

Sigfox specification

The dynamic drift criteria are given in the section 2.2.3 of the Sigfox device specification.

The drift is expressed in Hz/s. As an example, 50 Hz/s means that the frequency of the frame must not vary by more than 50 Hz in one second, or 25 Hz in an half of second, etc. The drift should be especially reduced when using the 100 bps bit rate, as the frame lasts longer.

100 bps 600 bps
Peak dynamic drift 30 Hz/s 100 Hz/s
Mean dynamic drift 20 Hz/s 50 Hz/s

Dynamic drift causes

Temperature variation

The most common cause of dynamic drift is the short-term temperature variation, as the crystal stability is very sensitive to this parameter.

When the radio transmission starts, multiple circuits are turned on: either internal for a chip or external when additional active circuits are used in the front-end. The sudden increase of current consumption leads to a PCB heating effect, which can disturb the oscillator.

Warning

When measuring the dynamic drift, the crystal must be protected from any air flow which can also create a temperature variation (wind, breath or equipment fan).

Vibration

The device vibration can also disturb the radio oscillator stability. Some test should be performed depending on the use case, to check if there is any consequence on the dynamic drift.

Power supply

  • Case of crystal

When a passive crystal oscillator is attached to a transceiver, it is internally linked to an active excitation circuit. The chipset injects a certain power to the crystal to start and maintain the oscillation. An excessive drive level can disturb the oscillator stability. Moreover, a bad power supply decoupling of the radio transceiver can have an impact on the oscillator circuit and the overall frequency stability.

  • Case of TCXO

Even it is internally regulated, an active oscillator is very sensitive to its power supply, especially the short term variations which are too quick to be compensated by the internal regulation loop. Indeed, some parasitic ripple can appear on the power supply during the radio transmission, in particular when an amplitude modulation is used: this is the case in the Sigfox DBPSK which has an amplitude shaping on a '0' bit transmission.

Design guidelines

Tip

If you have any issue with your radio design, the first advice is to get in touch directly with the chipset manufacturer and/or the crystal manufacturer in order to get the best technical support. Obviously they know their components better than anyone and they generally have reference implementations to compare with.

Environmental conditions

Special attention should be taken regarding the environmental conditions of the crystal during the frame transmission, depending on the targeted use case.

  • Since any air flow could affect the crystal oscillator stability, keep in mind to close the direct environment of the crystal (shielding, plastic cavity, or device enclosure that protect from external air stream) particularly if the device will be exposed to air streams.
  • As well as for vibrations conditions, if the device will be used in mobility or within specific condition.

Components selection

As long as a sufficient guard band is applied to the frequency range, a Sigfox device can operate with any crystal in term of frequency tolerance. However, using a 10ppm crystal could be simpler to manage the static drift because it will be less sensitive to environmental variations.

Tip

Depending on your oscillator accuracy, you can adjust the guard band used by the frequency generator of the library, by modifying the SIGFOX_RCx_EPSILON_EP_HZ macro in the src/sigfox_rc.c file, or by creating a custom RC structure with the desired value in the epsilon_hz field.

Schematic

First select the right load capacitors by taking into account the parasitic capacitance of the PCB (Cstray, which generally represents some pF).

C1 = C2 = 2 x (CL - Cstray)

At least on the prototyping phase, it could be useful to add also a series resistor R1 between the chipset oscillator output and the crystal. Some tens or hundreds of Ohms can help to reduce the injected power and thus the heat transfer to the crystal. A 0R can be mounted if not necessary.

The radio power supply must be stable enough with good decoupling capacitors. It is generally advised to have 2 capacitors per power supply pin or feeding point: a small capacitor to isolate the RF signals, such as a 100pF for the 800-900MHz band, and a larger one (hundreds of nF or few µF) to reduce the ripple caused by the amplitude modulation.

Tip

Refer to your specific chipset datasheet for better implementation tips.

PCB routing

As a general advice, caution must me considered on the radio components placement and routing. A transceiver is generally controlled by a digital interface (such as a SPI for example) with high frequency square signals. The RF part and especially the oscillator must be well isolated from the digital part to suppress any crosstalk. On a multi-layer PCB, the RF and oscillator tracks should not cross any other signals if possible.

Regarding the crystal placement itself, there is no single rule but two approaches can be considered.

  • Strong ground plane

In some cases, the dynamic drift is reduced by placing the crystal as close as possible to the radio chipset, and by attaching the ground pins directly to the main ground plane of the PCB. This can reduce the temperature variation because a copper plane heats slower than a single track.

The PCB thickness can also affect the dynamic drift: for instance changing from 0.4 mm to 0.6 mm can improve the dynamic drift, because there is more copper and thus a higher thermal inertia.

  • Thermal isolation

In other cases, the dynamic drift can be reduced by adding a thermal isolation between the crystal and the radio chipset. Unlike the previous method, this is achieved by placing the crystal a bit further away and by isolating the crystal from the top ground plane. The electrical connection to the ground is performed with vias to another layer ground plane. This way, the crystal is less affected by the temperature variation caused by the radio transmission, as it is “less” directly connected to the heating planes and tracks.

Programming

In most of devices, the radio can be configured by software, either by an external MCU or by an internal core in case of a SoC.

The drive level can sometimes be tuned in the chipset registers. A too large value can increase the dynamic drift and also damage the quartz quicker. The effects of overdriving can be significant, causing the crystal to age in a month what it would have aged in a year at its rated drive power. On the other hand, a too low value could stop the oscillation. Refer to the crystal datasheet to find the accurate value, and perform the test on several crystal batches.

Adding a delay between the oscillator startup and the beginning of the frame transmission can help to reduce the dynamic drift, since the transient effects are especially hard during the warm-up phase. The delay can vary from few to hundreds of milliseconds depending on the hardware implementation.

When using a multi-frame message (N > 1), the oscillator can be let running between the frames, instead of turning it off and on consecutively. This can also help to get a better frequency stability during the radio transmission.

⚠️ **GitHub.com Fallback** ⚠️