Datasheet

Table Of Contents
and Temperature). The frequency is likely to be in the range 4-8MHz and is guaranteed to be in the range 1-12MHz.
For low cost applications where frequency accuracy is unimportant, the chip can continue to run from the ROSC. If greater
performance is required the frequency can be increased by programming the registers as described in Ring Oscillator. The
frequency will vary with PVT (Process, Voltage and Temperature) so the user must take care to avoid exceeding the
maximum frequencies described in the clock generators section. This variation can be mitigated in various ways if the
user wants to continue running from the ROSC at a frequency close to the maximum. Alternatively the user can use an
external clock or the XOSC to provide a stable reference clock and use the PLLs to generate the higher frequencies.
However, this will require external components, will cost board area and will increase power consumption.
If an external clock or the XOSC is used then the ROSC can be stopped to save power. However, the reference clock
generator and the system clock generator must be switched to an alternate source before doing so.
The ROSC is not affected by SLEEP mode. If required the frequency can be reduced before entering SLEEP mode to save
power. On entering DORMANT mode the ROSC is automatically stopped and is restarted in the same configuration when
exiting DORMANT mode. If the ROSC is driving clocks at close to their maximum frequencies then it is recommended to
drop the frequency before entering SLEEP or DORMANT mode to allow for frequency variation due to changes in
environmental conditions during SLEEP or DORMANT mode.
If the user wants to use the ROSC clock externally then it can be output to a GPIO pin using one of the clk_gpclk0-3
generators.
The following sections describe techniques for mitigating PVT variation of the ROSC frequency. They also provide some
interesting design challenges for use in teaching both the effects of PVT and writing software to control real time
functions.
NOTE
The ROSC frequency varies with PVT so the user can send its output to the frequency counter and use it to measure
any 1 of these 3 variables if the other 2 are known.
2.14.2.1.1. Mitigating ROSC frequency variation due to process
Process varies for two reasons. Firstly the chips leave the factory with a spread of process parameters which cause
variation in the ROSC frequency across chips. Secondly, process parameters vary slightly as the chip ages, though this will
only be observable over many thousands of hours of operation. So, to mitigate for process variation, the user can
characterise individual chips and program the ROSC frequency accordingly. This is an adequate solution for small
numbers of chips but is not suitable for volume production. In such applications the user should consider using the
automatic mitigation techniques described below.
2.14.2.1.2. Mitigating ROSC frequency variation due to voltage
Supply voltage varies for two reasons. Firstly, the power supply itself may vary, and secondly, there will be varying on-chip
IR drop as chip activity varies. If the application has a minimum performance target then the user needs to calibrate for
that application and adjust the ROSC frequency to ensure it always exceeds the minimum required.
2.14.2.1.3. Mitigating ROSC frequency variation due to temperature
Temperature varies for two reasons. Firstly, the ambient temperature may vary, and secondly, the chip temperature will
vary as chip activity varies due to self-heating. This can be mitigated by stabilising the temperature using a temperature
controlled environment and passive or active cooling. Alternatively the user can track the temperature using the on-chip
temperature sensor and adjust the ROSC frequency so it remains within the required bounds.
2.14.2.1.4. Automatic mitigation of ROSC frequency variation due to PVT
Techniques for automatic ROSC frequency control avoid the need to calibrate individual chips but require periodic access
to a clock reference or to a time reference. If a clock reference is available then it can be used to periodically measure the
RP2040 Datasheet
2.14. Clocks 162