![Rabbit Rabbit 4000 User Manual Download Page 131](http://html1.mh-extra.com/html/rabbit/rabbit-4000/rabbit-4000_user-manual_3116714131.webp)
121
15. T
IMER
C
15.1 Overview
The Timer C peripheral is a 16-bit up-counter clocked by the peripheral clock divided by 2,
by the peripheral clock divided by 16, or by the output of countdown timer A1. The
counter counts from zero to the limit programmed into the Timer C divider registers and
then restarts at zero, so the overall cycle count is the value in the divider registers plus one.
There are four Timer C outputs that are called Timers C0–C3. Each output is controlled by
a 16-bit set value and a 16-bit reset value. Each output is set to one when the count
matches the value in the corresponding set register and is cleared when the count matches
the value programmed in the corresponding reset register. This allows the creation of
quadrature signals or three-phase signals with a variable frequency for motor-control
applications. The values in all of the Timer C registers are transferred to holding registers
for use during the count cycle when the counter is reloaded with zeros, allowing the con-
trol registers to be reloaded at any time during the count cycle.
Timer C can generate an interrupt when the count limit value is reached.
A separate Timer C Block Access Register (TCBAR) and Timer C Block Pointer Register
(TCBPR) are available to allow DMA control of Timer C. The pointer register contains
the address of the Timer C register to be accessed via the access register. Each read or
write of the access register automatically increments the pointer register through the
sequence shown below. Note that only the lower five bits of the pointer actually change.
This allows the DMA to write to a fixed internal I/O location but still program all of the
relevant Timer registers. The pointer register can be written and read if necessary. Nor-
mally the pointer register is initialized to 0x02 (the Timer C Divider Low Register), and
the DMA then transfers blocks of 18 bytes to completely reprogram Timer C.
0x502 -> 0x503 -> 0x508 -> 0x509 -> 0x50A -> 0x50B ->
0x50C -> 0x50D -> 0x50E -> 0x50F -> 0x518 -> 0x519 ->
0x51A -> 0x51B -> 0x51C -> 0x51D -> 0x51E -> 0x51F ->
When the DMA destination address is the TCBAR, the DMA request from Timer C is
connected automatically to the DMA.
Summary of Contents for Rabbit 4000
Page 1: ...Rabbit 4000 Microprocessor User s Manual 019 0152 070720 H...
Page 18: ...8 Rabbit 4000 Microprocessor User s Manual...
Page 40: ...30 Rabbit 4000 Microprocessor User s Manual...
Page 74: ...64 Rabbit 4000 Microprocessor User s Manual...
Page 82: ...72 Rabbit 4000 Microprocessor User s Manual...
Page 86: ...76 Rabbit 4000 Microprocessor User s Manual...
Page 96: ...86 Rabbit 4000 Microprocessor User s Manual...
Page 182: ...172 Rabbit 4000 Microprocessor User s Manual...
Page 240: ...230 Rabbit 4000 Microprocessor User s Manual...
Page 248: ...238 Rabbit 4000 Microprocessor User s Manual...
Page 256: ...246 Rabbit 4000 Microprocessor User s Manual...
Page 310: ...300 Rabbit 4000 Microprocessor User s Manual...
Page 330: ...320 Rabbit 4000 Microprocessor User s Manual...
Page 348: ...338 Rabbit 4000 Microprocessor User s Manual...