Enhanced Time Processing Unit (eTPU)
MPC5566 Microcontroller Reference Manual, Rev. 2
18-8 Freescale Semiconductor
18.1.4.6 Microengine
The eTPU microengine is a simple RISC implementation that performs each instruction in a microcycle 
of two system clocks, while pre-fetching the next instruction through an instruction pipeline. Instruction 
execution time is constant for the arithmetic logic unit (ALU) unless it gets wait states from SDM 
arbitration.
Microcode is stored in shared code memory (SCM) that is 32 bits wide. The microengine instruction set 
provides basic arithmetic and logic operations, flow control (jumps and subroutine calls), SDM access, and 
channel configuration and control. The instruction formats are defined in such a way that allow particular 
combinations of two or three of these operations with unconflicting resources to be executed in parallel in 
the same microcycle, thus improving performance.
The microengine also has an independent multiply/divide/MAC unit that performs these complex 
operations in parallel with other microengine instructions.
Channel functionality is integrated into the instruction set through channel control operations and 
conditional branch operations, which support jumps/calls on channel-specific conditions. This allows 
quick and terse channel configuration and control code, contributing to reduced service time.
18.1.4.7 Dual eTPU Engine System
The MPC5566 eTPU implementation includes two eTPU engines sharing SDM and the same code in the 
SCM. 
The two eTPU engines share the bus interface unit (BIU) and the shared data memory (SDM). This allows 
the MPC5566 core to communicate with the eTPU and also provides a means of communication between 
the eTPU engines. The shared BIU includes coherency logic which supports dual parameter (8 bytes) 
coherency in transfers between the host and eTPU, using a temporary parameter area within the SDM.
18.1.4.8 Debug Interface
Nexus level 3 debug support is available through the eTPU Nexus development interface (NDEDI). Refer 
to Chapter 25, “Nexus Development Interface.”
18.1.5 Features
The eTPU includes these distinctive features:
• Up to 32 channels for each eTPU engine: each channel is associated with an I/O signal pair
— Enhanced input digital filters on the input pins for improved noise immunity. The eTPU digital 
filter can use two samples, three samples, or work in continuous mode.
— Orthogonal channels, except for channel 0: each channel can perform any time function. Each 
time function can be assigned to more than one channel at a given time, so each signal can have 
any functionality. Channel 0 has the same capabilities of the others, but can also work with 
special angle counter logic.
— A link service request allows activation of a channel thread by request of another channel, even 
between eTPU engines.