Rainbow Electronics AT91CAP9S250A User Manual

Page 357

Advertising
background image

357

6264A–CAP–21-May-07

AT91CAP9S500A/AT91CAP9S250A

So, the main oscillator will be enabled (MOSCS bit set) after 56 Slow Clock Cycles.

2.

Checking the Main Oscillator Frequency (Optional):

In some situations the user may need an accurate measure of the main oscillator frequency.
This measure can be accomplished via the CKGR_MCFR register.

Once the MAINRDY field is set in CKGR_MCFR register, the user may read the MAINF field
in CKGR_MCFR register. This provides the number of main clock cycles within sixteen slow
clock cycles.

3.

Setting PLL A and divider A:

All parameters necessary to configure PLL A and divider A are located in the CKGR_PLLAR
register.

It is important to note that Bit 29 must always be set to 1 when programming the
CKGR_PLLAR register.

The DIVA field is used to control the divider A itself. The user can program a value between
0 and 255. Divider A output is divider A input divided by DIVA. By default, DIVA parameter is
set to 0 which means that divider A is turned off.

The OUTA field is used to select the PLL A output frequency range.

The MULA field is the PLL A multiplier factor. This parameter can be programmed between
0 and 2047. If MULA is set to 0, PLL A will be turned off. Otherwise PLL A output frequency
is PLL A input frequency multiplied by (MULA + 1).

The PLLACOUNT field specifies the number of slow clock cycles before LOCKA bit is set in
the PMC_SR register after CKGR_PLLAR register has been written.

Once CKGR_PLLAR register has been written, the user is obliged to wait for the LOCKA 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 LOCKA has been enabled
in the PMC_IER register.

All parameters in CKGR_PLLAR can be programmed in a single write operation. If at some
stage one of the following parameters, SRCA, MULA, DIVA is modified, LOCKA bit will go
low to indicate that PLL A is not ready yet. When PLL A is locked, LOCKA will be set again.
User has to wait for LOCKA bit to be set before using the PLL A output clock.

Code Example:

write_register(CKGR_PLLAR,0x20030605)

PLL A and divider A are enabled. PLL A input clock is main clock divided by 5. PLL An out-
put clock is PLL A input clock multiplied by 4. Once CKGR_PLLAR has been written,
LOCKA bit will be set after six slow clock cycles.

4.

Setting PLL B and divider B:

All parameters needed to configure PLL B and divider B are located in the CKGR_PLLBR
register.

The DIVB field is used to control divider B itself. A value between 0 and 255 can be pro-
grammed. Divider B output is divider B input divided by DIVB parameter. By default DIVB
parameter is set to 0 which means that divider B is turned off.

Advertising