
Reset and clock control (RCC)
RM0453
284/1454
RM0453 Rev 2
When the CPUs are in one of the low-power modes (Stop, Standby, or Shutdown) and the
sub-GHz radio is in Sleep, the HSE32 clock including the TCXO is disabled.
7.2.2 HSI16
clock
The HSI16 clock signal is generated from an internal 16 MHz Oscillator.
The HSI16 oscillator has the advantage of providing a clock source at low cost. It also has a
faster startup time than the HSE32 crystal oscillator however, even with calibration the
frequency is less accurate than an external crystal oscillator or ceramic resonator.
The HSI16 clock can be selected as system clock after wakeup from Stop modes (Stop 0,
Stop 1 or Stop 2). Refer to
. It can also be used as a backup
clock source (auxiliary clock) if the HSE32 crystal oscillator fails. Refer to
Clock security system on HSE32 (CSS)
.
Calibration
The RC oscillator frequencies can vary from one chip to another due to manufacturing
process variations. This is why each device is factory calibrated by ST for 1 % accuracy at
T
A
= 25 °C.
After a reset, the factory calibration value is loaded in the HSICAL[7:0] bits in the
internal clock sources calibration register (RCC_ICSCR)
.
If the application is subject to voltage or temperature variations, this may affect the RC
oscillator speed. The HSI16 frequency can be trimmed in the application using the
HSITRIM[6:0] bits in the
RCC internal clock sources calibration register (RCC_ICSCR)
.
For more details on how to measure the HSI16 frequency variation, refer to
Internal/external clock measurement with TIM16/TIM17
The HSIRDY flag in the
RCC clock control register (RCC_CR)
indicates if the HSI16 RC is
stable or not. At startup, the HSI16 RC output clock is not released until this bit is set by
hardware.
The HSI16 RC can be switched on and off using the HSION bit in the
The HSI16 signal can also be used as a backup source (Auxiliary clock) if the HSE32 crystal
oscillator fails. Refer to
Section 7.2.10: Clock security system on HSE32 (CSS) on
.
7.2.3 MSI
clock
The MSI clock signal is generated from an internal RC oscillator. Its frequency range can be
adjusted by software using the MSIRANGE[3:0] bits in the
. The following frequency ranges are available: 100 kHz, 200 kHz, 400 kHz,
800 kHz, 1 MHz, 2 MHz, 4 MHz (default value), 8 MHz, 16 MHz, 24 MHz, 32 MHz and
48 MHz. To use the MSI range, it must be selected by MSIRGSEL.
The MSI clock is used as system clock after restart from Reset, wakeup from Standby and
Shutdown low-power modes. After restart from Reset and Shutdown, the MSI frequency is
set to its default value 4 MHz (see
). When wakeup from
Standby, MSI can be adjusted by software using the MSISRANGE[3:0] bits in the
control/status register (RCC_CSR)
. The following frequency ranges are available: 1MHz,
2 MHz, 4 MHz (default value) and 8 MHz.