Real-time timer (rtt), 1 overview, 2 block diagram – Rainbow Electronics AT91CAP9S250A User Manual

Page 99: 3 functional description

Advertising
background image

99

6264A–CAP–21-May-07

AT91CAP9S500A/AT91CAP9S250A

16. Real-time Timer (RTT)

16.1

Overview

The Real-time Timer is built around a 32-bit counter and used to count elapsed seconds. It
generates a periodic interrupt and/or triggers an alarm on a programmed value.

16.2

Block Diagram

Figure 16-1. Real-time Timer

16.3

Functional Description

The Real-time Timer is used to count elapsed seconds. It is built around a 32-bit counter fed
by Slow Clock divided by a programmable 16-bit value. The value can be programmed in the
field RTPRES of the Real-time Mode Register (RTT_MR).

Programming

RTPRES

at 0x00008000 corresponds to feeding the real-time counter with a 1

Hz signal (if the Slow Clock is 32.768 Hz). The 32-bit counter can count up to 2

32

seconds,

corresponding to more than 136 years, then roll over to 0.

The Real-time Timer can also be used as a free-running timer with a lower time-base. The
best accuracy is achieved by writing RTPRES to 3. Programming RTPRES to 1 or 2 is possi-
ble, but may result in losing status events because the status register is cleared two Slow
Clock cycles after read. Thus if the RTT is configured to trigger an interrupt, the interrupt
occurs during 2 Slow Clock cycles after reading RTT_SR. To prevent several executions of
the interrupt handler, the interrupt must be disabled in the interrupt handler and re-enabled
when the status register is clear.

SLCK

RTPRES

RTTINC

ALMS

16-bit

Divider

32-bit

Counter

ALMV

=

CRTV

RTT_MR

RTT_VR

RTT_AR

RTT_SR

RTTINCIEN

RTT_MR

0

1

0

ALMIEN

rtt_int

RTT_MR

set

set

RTT_SR

read

RTT_SR

reset

reset

RTT_MR

reload

rtt_alarm

RTTRST

RTT_MR

RTTRST

Advertising