Timer Interface A (TIMA)
16.3.2 Input Capture
An input capture function has three basic parts:
1. Edge select logic
2. Input capture latch
3. 16-bit counter
Two 8-bit registers, which make up the 16-bit input capture register, are used to
latch the value of the free-running counter after the corresponding input capture
edge detector senses a defined transition. The polarity of the active edge is
programmable. The level transition which triggers the counter transfer is defined by
the corresponding input edge bits (ELSxB and ELSxA in TASC0–TASC3 control
registers with x referring to the active channel number). When an active edge
occurs on the pin of an input capture channel, the TIMA latches the contents of the
TIMA counter into the TIMA channel registers, TACHxH–TACHxL. Input captures
can generate TIMA CPU interrupt requests. Software can determine that an input
capture event has occurred by enabling input capture interrupts or by polling the
status flag bit.
The free-running counter contents are transferred to the TIMA channel status and
control register (TACHxH–TACHxL, see 16.7.5 TIMA Channel Registers) on
each proper signal transition regardless of whether the TIMA channel flag
(CH0F–CH3F in TASC0–TASC3 registers) is set or clear. When the status flag is
set, a CPU interrupt is generated if enabled. The value of the count latched or
“captured” is the time of the event. Because this value is stored in the input capture
register two bus cycles after the actual event occurs, user software can respond to
this event at a later time and determine the actual time of the event. However, this
must be done prior to another input capture on the same pin; otherwise, the
previous time value will be lost.
By recording the times for successive edges on an incoming signal, software can
determine the period and/or pulse width of the signal. To measure a period, two
successive edges of the same polarity are captured. To measure a pulse width, two
alternate polarity edges are captured. Software should track the overflows at the
16-bit module counter to extend its range.
Another use for the input capture function is to establish a time reference. In this
case, an input capture function is used in conjunction with an output compare
function. For example, to activate an output signal a specified number of clock
cycles after detecting an input event (edge), use the input capture function to
record the time at which the edge occurred. A number corresponding to the desired
delay is added to this captured value and stored to an output compare register (see
16.7.5 TIMA Channel Registers). Because both input captures and output
compares are referenced to the same 16-bit modulo counter, the delay can be
controlled to the resolution of the counter independent of software latencies.
Reset does not affect the contents of the input capture channel registers.
Data Sheet
238
MC68HC908MR32 • MC68HC908MR16 — Rev. 6.0
Timer Interface A (TIMA)
MOTOROLA