
Understanding the eTPU Channel Hardware, Rev. 0
Architecture of the eTPU Channel
Freescale Semiconductor
10
2.3.3
Pin Filters
Every channel pin has an input filter designed to reject fast noise pulses. The filter is programmed
identically for all eTPU input pins, except optionally the Angle Clock. When the filter is programmed to
reject pulses faster than a couple of clock periods, it will also delay the recognition of an input transition
by a similar amount of time. See the Reference Manual for details.
2.3.4
Output Pin Buffers
The eTPU provides software control of pin output buffers for each channel. Each buffer, when enabled,
effectively connects the eTPU output to the MCU pin. When the buffer is disabled, the output drive is
tri-stated. However, in some implementations, the MCU does not provide connection from the eTPU to
the output buffers enable control. In such cases the eTPU output may be controlled by another facility on
the MCU. See the MCU Reference Manual for details.
2.4
Other Channel Resources
In addition to the action units and pin logic, each channel has two flags and two function mode bits.
2.4.1
Channel Flags
There are two channel flags associated with each channel. These flags, designated flag0 and flag1, can be
set and cleared by the eTPU software, and can be used to qualify the entry vectors. They cannot be read or
tested by the eTPU engine.
2.4.2
Function Modes
Not shown in the channel block diagram, there are also two function mode bits associated with each
channel. There may be set or cleared by the host only, and tested by the eTPU.
2.5
Channel Service Requests
The channel hardware is one of the three sources of service requests that can be made for an eTPU channel,
along with host service requests (HSRs) and links from other channels. Depending on the channel mode
and software, transitions and matches can result in channel service requests only after they are enabled by
eTPU software. Therefore a channel cannot respond to a hardware request until it has received at least one
HSR or link, and executed a channel initialization thread. Somewhere in that thread should be the macro:
EnableMatchAndTransitionEventHandling()
or
EnableEventHandling()
. No channel service requests will
be granted by the eTPU scheduler until that instruction is executed. The channel service requests can also
be disabled by executing
DisableMatchAndTransitionEventHandling()
or, alternately
DisableEventHandling()
.