User Manual
Apollo3 Blue Datasheet
DS-A3-0p9p1 Page 528 of 909 2019 Ambiq Micro, Inc.
All rights reserved.
12.1.6 Burst Mode Support
The Apollo3 Blue MCU supports the TurboSPOT burst operating mode. Under burst mode, the core clock
runs at 96MHz. Burst mode is initiated when the BURSTREQ bit in REG_CLK_GEN_FREQCTRL is
written with a '1'. Once the burst mode is available, the BURSTACK and BURSTSTATUS bit in
REG_CLK_GEN_FREQCTRL register are updated.
When burst mode is no longer required, software will write a '0' to the BURSTREQ bit in
REG_CLK_GEN_FREQCTRL. The BURSTSTATUS will be updated immediately, while the BURSTACK
will only be updated once the nominal operating mode is available.
The following steps are necessary for enabling burst mode:
(Note that Burst can only be enabled if Burst is allowed - indicated via the SKU register)
1. This can be checked with REG_MCU_CTRL_SKU register in MCU_CTRL - ALLOWBURST bit
2. Set the BURSTREQ bit in REG_MCU_CTRL_FEATUREENABLE
3. Write "0x47" to the CLKKEY register to enable access to CLK_GEN registers
4. Set BURSTREQ bit in REG_CLK_GEN_FREQCTRL
5. Poll BURSTSTATUS bit and BURSTACK bit in REG_CLK_GEN_FREQCTRL register
OR
Wait for Event trigger (enabled through BURSTFEATUREEVEN bit in REG_PWRCTRL_DEVP-
WREVENTEN register)
NOTE
In Burst Mode on the Apollo3 Blue MCU, the SYSTICK increments at twice the normal (48 MHz) clock rate.
Some RTOSes may use SYSTICK for scheduler timing by default, in which case scheduler event timing
will be wrong when using Burst Mode. It is recommended not to use SYSTICK and Burst Mode together
unless proper compensation is made, e.g., ignoring every other SYSTICK interrupt during Burst Mode.
12.1.7 Frequency Measurement
The Autocalibration logic may be used to measure the frequency of an internal clock signal relative to the
XT Oscillator frequency. The following steps are required to perform this measurement:
1. Write "0x47" to the CLKKEY register to enable access to CLK_GEN registers
2. Set the REG_CLKGEN_OCTRL_ACAL field to 000.
3. Clear the ACC interrupt flag.
4. Select the clock to be measured with the CKSEL REG_CLKGEN_CLKOUT_CKSEL field.
5. Set ACAL to 110.
6. Wait for the ACC interrupt flag to be set.
7. Read the REG_CLKGEN_ACALCTR_ACALCTR field. This will contain the number of reference
clocks which occurred during one cycle of the XT Oscillator.
8. Calculate the frequency of the measured clock.
The measured frequency is:
F
MEAS
= F
REF
÷ ACALCTR
where F
REF
is the frequency of the reference clock and ACALCTR is the value read from ACALCTR when
the measurement is complete. Note that the longer the measurement period is, the more time the
measurement takes, but the resulting F
MEAS
will be more accurate.