AT91SAM7S32-AI ATMEL [ATMEL Corporation], AT91SAM7S32-AI Datasheet - Page 157

no-image

AT91SAM7S32-AI

Manufacturer Part Number
AT91SAM7S32-AI
Description
AT91 ARM Thumb-based Microcontrollers
Manufacturer
ATMEL [ATMEL Corporation]
Datasheet
6071A–ATARM–28-Oct-04
Note:
5. Selection of Programmable clocks
6. Enabling Peripheral Clocks
All parameters in PMC_MCKR can be programmed in a single write operation. If at some
stage one of the following parameters, CSS or PRES, is modified, the MCKRDY bit will go
low to indicate that the Master Clock and the Processor Clock are not ready yet. The user
must wait for MCKRDY bit to be set again before using the Master and Processor Clocks.
Code Example:
The Master Clock is main clock divided by 16.
The Processor Clock is the Master Clock.
Programmable clocks are controlled via registers; PMC_SCER, PMC_SCDR and
PMC_SCSR.
Programmable clocks can be enabled and/or disabled via the PMC_SCER and
PMC_SCDR registers. Depending on the system used, 3 Programmable clocks can be
enabled or disabled. The PMC_SCSR provides a clear indication as to which Programma-
ble clock is enabled. By default all Programmable clocks are disabled.
PMC_PCKx registers are used to configure Programmable clocks.
The CSS field is used to select the Programmable clock divider source. Four clock options
are available: main clock, slow clock, PLLCK. By default, the clock source selected is slow
clock.
The PRES field is used to control the Programmable clock prescaler. It is possible to
choose between different values (1, 2, 4, 8, 16, 32, 64). Programmable clock output is
prescaler input divided by PRES parameter. By default, the PRES parameter is set to 1
which means that master clock is equal to slow clock.
Once the PMC_PCKx register has been programmed, The corresponding Programmable
clock must be enabled and the user is constrained to wait for the PCKRDYx bit to be set in
the PMC_SR register. This can be done either by polling the status register or by waiting
the interrupt line to be raised if the associated interrupt to PCKRDYx has been enabled in
the PMC_IER register. All parameters in PMC_PCKx can be programmed in a single write
operation.
If the CSS and PRES parameters are to be modified, the corresponding Programmable
clock must be disabled first. The parameters can then be modified. Once this has been
done, the user must re-enable the Programmable clock and wait for the PCKRDYx bit to
be set.
Code Example:
write_register(PMC_PCK0,0x00000015)
Programmable clock 0 is main clock divided by 32.
Once all of the previous steps have been completed, the peripheral clocks can be enabled
and/or disabled via registers PMC_PCER and PMC_PCDR.
write_register(PMC_MCKR,0x00000011)
IF PLLx clock was selected as the Master Clock and the user decides to modify it by writing in
CKGR_PLLR, the MCKRDY flag will go low while PLL is unlocked. Once PLL is locked again,
LOCK goes high and MCKRDY is set.
While PLL is unlocked, the Master Clock selection is automatically changed to Main Clock. For
further information, see “Clock Switching Waveforms” on page 159.
AT91SAM7S32 Preliminary
157

Related parts for AT91SAM7S32-AI