beautypg.com

Calibrating the clock, Alarm, Watchdog timer – Cypress AutoStore STK17TA8 User Manual

Page 15: Power monitor, Stk17ta8

background image

STK17TA8

Document #: 001-52039 Rev. **

Page 15 of 23

Calibrating The Clock

The RTC is driven by a quartz controlled oscillator with a nominal

frequency of 32.768 KHz. Clock accuracy will depend on the

quality of the crystal, specified (usually 35 ppm at 25 C). This

error could equate to 1.53 minutes gain or loss per month. The

STK17TA8 employs a calibration circuit that can improve the

accuracy to +1/-2 ppm at 25 C. The calibration circuit adds or

subtracts counts from the oscillator divider circuit.
The number of time pulses are added or substracted depends

upon the value loaded into the five calibration bits found in

Calibration register (at 0x1FFF8). Adding counts speeds the

clock up; subtracting counts slows the clock down. The

Calibration bits occupy the five lower order bits of the register.

These bits can be set to represent any value between 0 and 31

in binary form. Bit D5 is a Sign bit, where a “1” indicates positive

calibration and a “0” indicates negative calibration. Calibration

occurs during a 64 minute period. The first 62 minutes in the

cycle may, once per minute, have one second either shortened

by 128 or lengthened by 256 oscillator cycles.
If a binary “1” is loaded into the register, only the first 2 minutes

of the 64 minute cycle is modified; if a binary 6 is loaded, the first

12 will be affected, and so on. Therefore each calibration step

has the effect of adding 512 or subtracting 256 oscillator cycles

for every 125,829,120 actual oscillator cycles. That is +4.068 or

-2.034 ppm of adjustment per calibration step in the calibration

register.
The calibration register value is determined during system test

by setting the CAL bit in the Flags register (at 0x1FFF0) to 1. This

causes the INT pin to toggle at a nominal 512 Hz. This frequency

can be measured with a frequency counter. Any deviation

measured from the 512 Hz will indicate the degree and direction

of the required correction. For example, a reading of 512.01024

Hz would indicate a +20 ppm error, requiring a -10 (001010) to

be loaded into the Calibration register. Note that setting or

changing the calibration register does not affect the frequency

test output frequency.
To set or clear CAL, set the write bit “W” (in the Flags register at

0x1FFF0) to a "1" to enable writes to the Flag register. Write a

value to CAL. and then reset the write bit to "0" to disable writes.
The default Calibration register value from the factory is 00h. The

user calibration value loaded is retained during a power loss.

Alarm

The alarm function compares a user-programmable alarm

time/date (stored in registers 0x1FFF1-5) with the real time clock

time-of-day/date values. When a match occurs, the alarm flag

(AF) is set and an interrupt is generated if the alarm interrupt is

enabled. The alarm flag is automatically reset when the Flags

register is read.
Each of the alarm registers has a match bit as its MSB. Setting

the match bit to a 1 disables this alarm register from the alarm

comparison. When the match bit is 0, the alarm register is

compared with the equivalent real time clock register. Using the

match bits, the alarm can occur as specifically as one particular

second on one day of the month or as frequently as once per

minute.
Note The product requires the match bit for seconds(1x1FFF2 -

D7) be set to 0 for proper operation of the Alarm Flag and

Interrupt.

The alarm value should be initialized on power-up by software

since the alarm registers are not nonvolatile.
To set or clear Alarm registers, set the write bit “W” (in the Flags

register at 0x1FFF0) to a "1" to enable writes to the Alarm

registers. Write an alarm value to the alarm registers and then

reset the write bit to "0" to disable writes.

Watchdog Timer

The watchdog timer is designed to interrupt or reset the

processor should the program get hung in a loop and not

respond in a timely manner. The software must reload the

watchdog timer before it counts down to zero to prevent this

interrupt or reset.
The watchdog timer is a free running down counter that uses the

32 Hz clock (31.25 ms) derived from the crystal oscillator. The

watchdog timer function does no operate unless the oscillator is

running.
The watchdog counter is loaded with a starting value from the

load register and then counts down to zero setting the watchdog

flag (WDF) and generating an interrupt if the watchdog interrupt

is enabled. The watchdog flag bit is reset when the flag register

is read. The operating software would normally reload the

counter by setting the watchdog strobe bit (WDS) to 1 within the

timing interval programmed into the load register.
To use the watchdog timer to reset the processor on timeout, the

INT is tied to processor master reset and Interrupt register is

programmed to 24h to enable interrupts to pulse the reset pin on

timeout.
To load the watch dog timer, set a new value into the load register

by writing a “0” to the watchdog write bit (WDW) of the watchdog

register (at 01x1FFF7). Then load a new value into the load

register. Once the new value is loaded, the watchdog write bit is

then set to 1 to disable watchdog writes. The watchdog strobe

bit (WDS) is then set to 1 to load this value into the watchdog

timer.
Note Setting the load register to zero disables the watchdog

timer function.
The system software should initialize the watchdog load register

on power-up to the desired value since the register is not nonvol-

atile.

Power Monitor

The STK17TA8 provides a power monitor function. The power

monitor is based on an internal band-gap reference circuit that

compares the V

CC

voltage to V

SWITCH

.

When the power supply drops below V

SWITCH

, the real time clock

circuit is switched to the backup supply (battery or capacitor) .
When operating from the backup source, no data may be read

or written to the nvSRAM and the clock functions are not

available to the user. The clock continues to operate in the

background. Updated clock data is available to the user t

HRECALL

delay after VCC has been restored to the device.
When power is lost, the PF flag in the Flags Register is set to

indicate the power failure and an interrupt is generated if the

power fail interrupt is enabled (interrupt register=20h). This line

would normally be tied to the processor master reset input for

perform power-off reset.

[+] Feedback