Output compare units, Atmega128(l) – Rainbow Electronics ATmega128L User Manual

Page 115

Advertising
background image

115

ATmega128(L)

2467B–09/01

Output Compare Units

The 16-bit comparator continuously compares TCNTn with the output compare register
(OCRnx). If TCNT equals OCRnx the comparator signals a match. A match will set the
output compare flag (OCFnx) at the next timer clock cycle. If enabled (OCIEnx = 1), the
output compare flag generates an output compare interrupt. The OCFnx flag is automat-
ically cleared when the interrupt is executed. Alternatively the OCFnx flag can be
cleared by software by writing a logical one to its I/O bit location. The waveform genera-
tor uses the match signal to generate an output according to operating mode set by the
waveform generation mode (WGMn3:0) bits and compare output mode (COMnx1:0)
bits. The TOP and BOTTOM signals are used by the waveform generator for handling
the special cases of the extreme values in some modes of operation (

See “Modes of

Operation” on page 117.)

A special feature of output compare unit A allows it to define the Timer/Counter TOP
value (i.e. counter resolution). In addition to the counter resolution, the TOP value
defines the period time for waveforms generated by the waveform generator.

Figure 48 shows a block diagram of the output compare unit. The small “n” in the regis-
ter and bit names indicates the device number (n = n

for Timer/Counter n), and the “x”

indicates output compare unit (A/B/C). The elements of the block diagram that are not
directly a part of the output compare unit are gray shaded.

Figure 48. Output Compare Unit, Block Diagram

The OCRnx register is double buffered when using any of the twelve pulse width modu-
lation
(PWM) modes. For the normal and clear timer on compare (CTC) modes of
operation, the double buffering is disabled. The double buffering synchronizes the
update of the OCRnx compare register to either TOP or BOTTOM of the counting

OCFnx (Int.Req.)

=

(16-bit Comparator )

OCRnx Buffer (16-bit Register)

OCRnxH Buf. (8-bit)

OCnx

TEMP (8-bit)

DATABUS

(8-bit)

OCRnxL Buf. (8-bit)

TCNTn (16-bit Counter)

TCNTnH (8-bit)

TCNTnL (8-bit)

COMnx1:0

WGMn3:0

OCRnx (16-bit Register)

OCRnxH (8-bit)

OCRnxL (8-bit)

Waveform Generator

TOP

BOTTOM

Advertising