4 output compare unit – Rainbow Electronics ATtiny861_V User Manual
Page 96

96
2588B–AVR–11/06
ATtiny261/461/861
16.4
Output Compare Unit
The comparator continuously compares TCNT1 with the Output Compare Registers (OCR1A,
OCR1B, OCR1C and OCR1D). Whenever TCNT1 equals to the Output Compare Register, the
comparator signals a match. A match will set the Output Compare Flag (OCF1A, OCF1B or
OCF1D) at the next timer clock cycle. If the corresponding interrupt is enabled, the Output Com-
pare Flag generates an Output Compare interrupt. The Output Compare Flag is automatically
cleared when the interrupt is executed. Alternatively, the flag can be cleared by software by writ-
ing a logical one to its I/O bit location. The Waveform Generator uses the match signal to
generate an output according to operating mode set by the PWM1x, WGM10 and Compare Out-
put mode (COM1x1: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 (
).
Figure 16-4
shows a block diagram of the Output Compare unit.
Figure 16-4. Output Compare Unit, Block Diagram
The OCR1x Registers are double buffered when using any of the Pulse Width Modulation
(PWM) modes. For the normal mode of operation, the double buffering is disabled. The double
buffering synchronizes the update of the OCR1x Compare Registers to either top or bottom of
the counting sequence. The synchronization prevents the occurrence of odd-length, non-sym-
metrical PWM pulses, thereby making the output glitch-free. See
Figure 16-5
for an example.
During the time between the write and the update operation, a read from OCR1A, OCR1B,
OCR1C or OCR1D will read the contents of the temporary location. This means that the most
recently written value always will read out of OCR1A, OCR1B, OCR1C or OCR1D.
OCFnx (Int.Req.)
=
(10-bit Comparator )
8-BIT DATA BUS
TCNTn
WGM10
Waveform Generator
COMnX1:0
PWMnx
TCnH
OCWnx
10-BIT TCNTn
10-BIT OCRnx
OCRnx
FOCn
TOP
BOTTOM