![](http://datasheet.mmic.net.cn/20000/MD80C32-20-883-D_datasheet_1389371/MD80C32-20-883-D_114.png)
114
ATmega64A [DATASHEET]
8160D–AVR–02/2013
Both the Input Capture pin (ICPn) and the Analog Comparator output (ACO) inputs are sampled using the same
noise canceler is enabled, additional logic is inserted before the edge detector, which increases the delay by four
system clock cycles. Note that the input of the noise canceler and edge detector is always enabled unless the
Timer/Counter is set in a Waveform Generation mode that uses ICRn to define TOP.
An Input Capture can be triggered by software by controlling the port of the ICPn pin.
16.6.2
Noise Canceler
The Noise Canceler improves noise immunity by using a simple digital filtering scheme. The Noise Canceler input
is monitored over four samples, and all four must be equal for changing the output that in turn is used by the edge
detector.
The Noise Canceler is enabled by setting the Input Capture Noise Canceler (ICNCn) bit in Timer/Counter Control
Register B (TCCRnB). When enabled the Noise Canceler introduces additional four system clock cycles of delay
from a change applied to the input, to the update of the ICRn Register. The Noise Canceler uses the system clock
and is therefore not affected by the prescaler.
16.6.3
Using the Input Capture Unit
The main challenge when using the Input Capture unit is to assign enough processor capacity for handling the
incoming events. The time between two events is critical. If the processor has not read the captured value in the
ICRn Register before the next event occurs, the ICRn will be overwritten with a new value. In this case the result of
the capture will be incorrect.
When using the Input Capture interrupt, the ICRn Register should be read as early in the interrupt handler routine
as possible. Even though the Input Capture interrupt has relatively high priority, the maximum interrupt response
time is dependent on the maximum number of clock cycles it takes to handle any of the other interrupt requests.
Using the Input Capture unit in any mode of operation when the TOP value (resolution) is actively changed during
operation, is not recommended.
Measurement of an external signal’s duty cycle requires that the trigger edge is changed after each capture.
Changing the edge sensing must be done as early as possible after the ICRn Register has been read. After a
change of the edge, the Input Capture Flag (ICFn) must be cleared by software (writing a logical one to the I/O bit
location). For measuring frequency only, the clearing of the ICFn flag is not required (if an interrupt handler is
used).
16.7
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 automatically 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 Generator 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
A special feature of Output Compare unit A allows it to define the Timer/Counter TOP value (that is, counter reso-
lution). In addition to the counter resolution, the TOP value defines the period time for waveforms generated by the
Waveform Generator.
Figure 16-4 shows a block diagram of the Output Compare unit. The small “n” in the register and bit names indi-
cates 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.