ST67W611M1 32.768 kHz and low power operation

home.png Back to main page

1. Introduction

Radio protocols require a low frequency clock, typically 32.768 kHz, to enable the low-power application scenarios.

The ST67W611M1 does not integrate a 32.768 kHz crystal because this would increase the bill of materials (BOM), which may not be necessary for some applications. Instead, it embeds an RC oscillator that generates this frequency. However, the low accuracy (± 5%) of this RC oscillator may be insufficient to enable certain low-power modes or achieve the expected low-power performance. For example, an accurate low-frequency clock is mandatory to enable low-power Bluetooth® LE or achieve the desired performance for low-power Bluetooth® LE and Wi-Fi®. Alternatives are available and described below.

2. 32.768 kHz sources

2.1. Option 1 - Internal RC oscillator

This configuration, described in the introduction, is the default configuration of the X-NUCLEO-67W61M1 board A04 revision and the associated X-CUBE-ST67W61 software. As explained, one of the following options must be selected if low-power Bluetooth® LE is targeted.

2.2. Option 2 - Crystal on the motherboard

It is possible to replace the default RC oscillator with a 32.768 kHz crystal on the motherboard. The crystal must be connected to ST67W611M1 XTAL32K_IN (14) and XTLA32K_OUT (13) pins. The ST67W611M1 integrates matched capacitances with an equivalent capacitance value of 8 pF capacitances. Adding load capacitances on the board may therefore be unnecessary, but it is recommended to provision them on the board to match the selected crystal.

A 32.768 kHz crystal is already present on the X-NUCLEO-67W61M1 board A04 revision. To select it, apply the following hardware changes:

  • Fit SB37 and SB38.
  • Unfit SB56 and SB57.

The X-CUBE-ST67W61 software projects must be recompiled with this clock source option selected. Refer to the software documentation for more details.

2.3. Option 3 - Single-ended clock from the host

It is also possible to replace the RC oscillator by a 32.768 kHz single-ended clock from the host. In this case, it must be fed to the ST67W611M1 through the XTAL32K_OUT (13) pin.

The X-NUCLEO-67W61M1 board A04 revision does not require any modification to enable this configuration. Such a clock can be fed through connector CN8.2.

When associated with a NUCLEO-U575ZI-Q board, the X-CUBE-ST67W61 software projects must be recompiled to enable the 32.768 kHz clock generation and route it on the STM32U5 PA2 pin. These changes are described in the next section.

The customer is responsible for analyzing the case of other NUCLEO boards.

3. 32.768 kHz hardware implementation

Clock Mode Hardware description
internal RC oscillator Both XTAL32K_IN (14) and XTLA32K_OUT (13) pins must be left open.
on-board crystal Must be connected to XTAL32K_IN (14) and XTLA32K_OUT (13) pins.
Load capacitance must be provisioned in case the integrated 8 pF equivalent capacitance is insufficient.
The crystal must be placed as close as possible to the module pins and shielded by ground planes to prevent long traces that may be affected by external interference.
It is also recommended to avoid routing high-speed signals or sensitive power below the crystal.
external single-ended clock Must be connected to the XTLA32K_OUT (13) pin.
It must have a 3.3 V voltage swing and be routed with a proper shielding.

4. 32.768 kHz clock activation on the NUCLEO-U575ZI-Q board

All the projects in the X-CUBE-ST67W61 include an STM32CubeMX .ioc project. It is possible to enable the STM32U5 32.768 kHz clock and output it on PA2 pin of any project by editing the corresponding .ioc project. The same can be achieved by applying the changes directly to the Core/Src/main.c file of the desired project:

  • In the SystemClock_Config() function, add the following code at the end of the function:
/** LSCO configuration */
HAL_RCCEx_EnableLSCO(RCC_LSCOSOURCE_LSE);
  • In the MX_GPIO_Init() function, add the following code:
/* Configure GPIO pin: PA2 */
GPIO_InitStruct.Pin = GPIO_PIN_2;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

As SB57 is kept fitted, ensure all STM32U5 unused GPIOs are configured as input analog pins.

The X-CUBE-ST67W61 projects must also be modified to select this external clock option. See indications below and refer to the software documentation for more details.

5. Low Power Mode activation on the NUCLEO-U575ZI-Q application

The 32.768 kHz source clock option can be selected by modifying the following #define in ST67W6X/Target/w6x_config.h:

/** NCP clock mode : 1: Internal RC oscillator, 2: External passive crystal, 3: External active crystal */
#define W6X_CLOCK_MODE                          1

To enable low-power mode from the application firmware, modify the following #define in the same file:

/** NCP will go by default in low power mode when NCP is in idle mode */
#define W6X_POWER_SAVE_AUTO                     1