beautypg.com

Compare output mode and waveform generation, Modes of operation, Normal mode – Rainbow Electronics ATmega8515L User Manual

Page 106: Atmega8515(l)

background image

106

ATmega8515(L)

2512A–AVR–04/02

Compare Output Mode and
Waveform Generation

The Waveform Generator uses the COM1x1:0 bits differently in Normal, CTC, and PWM
modes. For all modes, setting the COM1x1:0 = 0 tells the Waveform Generator that no
action on the OC1x Register Is to be performed on the next compare match. For com-
pare output actions in the non-PWM modes refer to Table 50 on page 116. For fast
PWM mode refer to Table 51 on page 116, and for phase correct and phase and fre-
quency correct PWM refer to Table 52 on page 117.

A change of the COM1x1:0 bits state will have effect at the first compare match after the
bits are written. For non-PWM modes, the action can be forced to have immediate effect
by using the FOC1x strobe bits.

Modes of Operation

The mode of operation, i.e., the behavior of the Timer/Counter and the Output Compare
pins, is defined by the combination of the

Waveform Generation mode (WGM13:0) and

Compare Output mode (COM1x1:0) bits. The Compare Output mode bits do not affect
the counting sequence, while the Waveform Generation mode bits do. The COM1x1:0
bits control whether the PWM output generated should be inverted or not (inverted or
non-inverted PWM). For non-PWM modes the COM1x1:0 bits control whether the out-
put should be set, cleared or toggle at a compare match. See “Compare Match Output
Unit” on page 105.

For detailed timing information refer to “Timer/Counter Timing Diagrams” on page 114.

Normal Mode

The simplest mode of operation is the

Normal mode (WGM13:0 = 0). In this mode the

counting direction is always up (incrementing), and no counter clear is performed. The
counter simply overruns when it passes its maximum 16-bit value (MAX = 0xFFFF) and
then restarts from the BOTTOM (0x0000). In normal operation the

Timer/Counter Over-

flow Flag (TOV1) will be set in the same timer clock cycle as the TCNT1 becomes zero.
The TOV1 flag in this case behaves like a 17th bit, except that it is only set, not cleared.
However, combined with the timer overflow interrupt that automatically clears the TOV1
flag, the timer resolution can be increased by software. There are no special cases to
consider in the normal mode, a new counter value can be written anytime.

The input capture unit is easy to use in Normal mode. However, observe that the maxi-
mum interval between the external events must not exceed the resolution of the counter.
If the interval between events are too long, the timer overflow interrupt or the prescaler
must be used to extend the resolution for the capture unit.

The output compare units can be used to generate interrupts at some given time. Using
the output compare to generate waveforms in Normal mode is not recommended, since
this will occupy too much of the CPU time.