Atmel SAM4S-EK2 Atmel ATSAM4S-EK2 ATSAM4S-EK2 Data Sheet
Product codes
ATSAM4S-EK2
454
SAM4S [DATASHEET]
11100E–ATARM–24-Jul-13
When the counter reaches 0, the MOSCXTS bit is set, indicating that the main clock is valid. Setting
the MOSCXTS bit in PMC_IMR can trigger an interrupt to the processor.
the MOSCXTS bit in PMC_IMR can trigger an interrupt to the processor.
28.1.5.4 Main Clock Oscillator Selection
The user can select either the 12/8/4 MHz Fast RC Oscillator or the 3 to 20 MHz Crystal or Ceramic
Resonator-based oscillator to be the source of Main Clock.
Resonator-based oscillator to be the source of Main Clock.
The advantage of the 12/8/4 MHz Fast RC Oscillator is that it provides fast start-up time, this is why it
is selected by default (to start up the system) and when entering Wait Mode.
is selected by default (to start up the system) and when entering Wait Mode.
The advantage of the 3 to 20 MHz Crystal or Ceramic Resonator-based oscillator is that it is very
accurate.
accurate.
The selection is made by writing the MOSCSEL bit in the Main Oscillator Register (CKGR_MOR).
The switch of the Main Clock source is glitch free, so there is no need to run out of SLCK, PLLACK in
order to change the selection. The MOSCSELS bit of the Power Management Controller Status
Register (PMC_SR) allows knowing when the switch sequence is done.
The switch of the Main Clock source is glitch free, so there is no need to run out of SLCK, PLLACK in
order to change the selection. The MOSCSELS bit of the Power Management Controller Status
Register (PMC_SR) allows knowing when the switch sequence is done.
Setting the MOSCSELS bit in PMC_IMR can trigger an interrupt to the processor.
Enabling the Fast RC Oscillator (MOSCRCEN = 1) and changing the Fast RC Frequency
(MOSCCRF) at the same time is not allowed.
(MOSCCRF) at the same time is not allowed.
The Fast RC must be enabled first and its frequency changed in a second step.
28.1.5.5 Software Sequence to Detect the Presence of Fast Crystal
The frequency meter carried on the CKGR_MCFR register is operating on the selected main clock
and not on the fast crystal clock nor on the fast RC Oscillator clock.
and not on the fast crystal clock nor on the fast RC Oscillator clock.
Therefore, to check for the presence of the fast crystal clock, it is necessary to have the main clock
(MAINCK) driven by the fast crystal clock (MOSCSEL=1).
(MAINCK) driven by the fast crystal clock (MOSCSEL=1).
The following software sequence order must be followed:
MCK must select the slow clock (CSS=0 in the PMC_MCKR register).
Wait for the MCKRDY flag in the PMC_SR register to be 1.
The fast crystal must be enabled by programming 1 in the MOSCXTEN field in the
CKGR_MOR register with the MOSCXTST field being programmed to the appropriate
value (see the Electrical Characteristics chapter).
CKGR_MOR register with the MOSCXTST field being programmed to the appropriate
value (see the Electrical Characteristics chapter).
Wait for the MOSCXTS flag to be 1 in the PMC_SR register to get the end of a start-up
period of the fast crystal oscillator.
period of the fast crystal oscillator.
Then, MOSCSEL must be programmed to 1 in the CKGR_MOR register to select fast
main crystal oscillator for the main clock.
main crystal oscillator for the main clock.
MOSCSEL must be read until its value equals 1.
Then the MOSCSELS status flag must be checked in the PMC_SR register.
At this point, 2 cases may occur (either MOSCSELS = 0 or MOSCSELS = 1).
If MOSCSELS = 1, there is a valid crystal connected and its frequency can be
determined by initiating a frequency measure by programming RCMEAS in the
CKGR_MCFR register.
determined by initiating a frequency measure by programming RCMEAS in the
CKGR_MCFR register.
If MOSCSELS = 0, there is no fast crystal clock (either no crystal connected or a crystal
clock out of specification).
A frequency measure can reinforce this status by initiating a frequency measure by
programming RCMEAS in the CKGR_MCFR register.
clock out of specification).
A frequency measure can reinforce this status by initiating a frequency measure by
programming RCMEAS in the CKGR_MCFR register.
If MOSCSELS=0, the selection of the main clock must be programmed back to the main
RC oscillator by writing MOSCSEL to 0 prior to disabling the fast crystal oscillator.
RC oscillator by writing MOSCSEL to 0 prior to disabling the fast crystal oscillator.