Datasheet

Table Of Contents
131
Atmel | SMART SAM D20 [DATASHEET]
Atmel-42129K–SAM-D20_datasheet–06/2014
16.6 Functional Description
16.6.1 Principle of Operation
XOSC, XOSC32K, OSC32K, OSCULP32K, OSC8M, DFLL48M, BOD33, and VREF are configured via SYSCTRL control
registers. Through this interface, the sub-peripherals are enabled, disabled or have their calibration values updated.
The Power and Clocks Status register gathers different status signals coming from the sub-peripherals controlled by the
SYSCTRL. The status signals can be used to generate system interrupts, and in some cases wake up the system from
standby mode, provided the corresponding interrupt is enabled.
The oscillator must be enabled to run. The oscillator is enabled by writing a one to the ENABLE bit in the respective
oscillator control register, and disabled by writing a zero to the oscillator control register. In idle mode, the default
operation of the oscillator is to run only when requested by a peripheral. In standby mode, the default operation of the
oscillator is to stop. This behavior can be changed by the user, see below for details.
The behavior of the oscillators in the different sleep modes is shown in Table 16-1 on page 131
To force an oscillator to always run in idle mode, and not only when requested by a peripheral, the oscillator
ONDEMAND bit must be written to zero. The default value of this bit is one, and thus the default operation in idle mode is
to run only when requested by a peripheral.
To force the oscillator to run in standby mode, the RUNSTDBY bit must be written to one. The oscillator will then run in
standby mode when requested by a peripheral (ONDEMAND is one). To force an oscillator to always run in standby
mode, and not only when requested by a peripheral, the ONDEMAND bit must be written to zero and RUNSTDBY must
be written to one.
Table 16-2 on page 131 shows the behavior in the different sleep modes, depending on the settings of ONDEMAND and
RUNSTDBY.
Note that this does not apply to the OSCULP32K oscillator, which is always running and cannot be disabled.
Table 16-1. Behavior of the Oscillators
Oscillator Idle 0, 1, 2 Standby
XOSC Run on request Stop
XOSC32K Run on request Stop
OSC32K Run on request Stop
OSCULP32K Run Run
OSC8M Run on request Stop
DFLL48M Run on request Stop
Table 16-2. Behavior in the different sleep modes
Sleep mode ONDEMAND RUNSTDBY Behavior
Idle 0, 1, 2 0 X Run
Idle 0, 1, 2 1 X Run when requested by a peripheral
Standby 0 0 Stop
Standby 0 1 Run
Standby 1 0 Stop
Standby 1 1 Run when requested by a peripheral