English
Language : 

C8051F970-A-GM Datasheet, PDF (263/454 Pages) Silicon Laboratories – Low Power Capacitive Sensing MCU with up to 32 kB of Flash
C8051F97x
25.3.3. Software Considerations for Using the SmaRTClock Timer and Alarm
The SmaRTClock timer and alarm have two operating modes to suit varying applications. The two modes are
described below:
Mode 1:
The first mode uses the SmaRTClock timer as a perpetual timebase which is never reset to zero. Every 36 hours,
the timer is allowed to overflow without being stopped or disrupted. The alarm interval is software managed and is
added to the ALRMn registers by software after each alarm. This allows the alarm match value to always stay
ahead of the timer by one software managed interval. If software uses 32-bit unsigned addition to increment the
alarm match value, then it does not need to handle overflows since both the timer and the alarm match value will
overflow in the same manner.
This mode is ideal for applications which have a long alarm interval (e.g., 24 or 36 hours) and/or have a need for a
perpetual timebase. An example of an application that needs a perpetual timebase is one whose wake-up interval
is constantly changing. For these applications, software can keep track of the number of timer overflows in a 16-bit
variable, extending the 32-bit (36 hour) timer to a 48-bit (272 year) perpetual timebase.
Mode 2:
The second mode uses the SmaRTClock timer as a general purpose up counter which is auto reset to zero by
hardware after each alarm. The alarm interval is managed by hardware and stored in the ALRMn registers.
Software only needs to set the alarm interval once during device initialization. After each alarm, software should
keep a count of the number of alarms that have occurred in order to keep track of time.
This mode is ideal for applications that require minimal software intervention and/or have a fixed alarm interval.
This mode is the most power efficient since it requires less CPU time per alarm.
Important Note: The alarm interval will be 2 more SmaRTClock cycles than the expected value because 1 cycle
holds the alarm signal high and another cycle is used to reset the alarm.
264
Rev 1.0