Periodic Interrupt/Wake-Up Timer - Semtech SH3000 User Manual

Table of Contents

Advertisement

6. Periodic Interrupt/Wake-up Timer

The periodic interrupt / wakeup timer can be used to create very accurate recurring interrupts for use by
the host microcontroller. With some minimal software support, it can also be used to create alarms, with
practically unlimited duration.
While the timer is running, the host can switch to a low-power mode (halted or stopped). The interrupt
wakes up the host, which can perform the requisite task and go back to sleep, until the next periodic
interrupt. This mode of operation can achieve extremely low average power consumption.
As shown in Figure 7, a 32-bit counter is clocked by 32.768 kHz, producing a minimum interval of 30.5 µs
and a maximum interval of 36.4 hours.
After reset, the timer is stopped until the new 32-bit value for the timer interval is written into the four
Period registers (R0x00-R0x03). When the least significant byte (the PeriodLSB register, R0x03) is
written, the whole value is moved to the Timer Interval latch, the counter is reset, and the counter starts to
increment with the 32 kHz clock.
When the 32-bit comparator detects a match, an interrupt is generated, and the counter is reset and starts
the next timing cycle.
Although the counter cannot be written to, the current value from the counter can be read at any time.
The whole 32-bit value is loaded into the 32-bit Timer Interval latch when the least significant byte is read.
This prevents errors stemming from the finite time between the readings of individual bytes of the current
value.
If there is an interrupt pending from the SH3000, and the host microcontroller does not clear the interrupt
pending bit, then the SH3000 issues an interrupt after each subsequent read or write cycle until this bit is
cleared (see Figure 7).
SH3000UM version 0.95
Copyright ©2002 Semtech Corporation
2002-08
SH3000 User Manual
Preliminary
23

Advertisement

Table of Contents
loading

Table of Contents