
Enhanced Time Processing Unit (eTPU2)
MPC5644A Microcontroller Reference Manual, Rev. 6
Freescale Semiconductor
831
This scheme assures that no channel is left with its grant bit forever asserted (preventing it from being
serviced again), even if the channel priorities are reassigned during the execution.
Priority level is determined based on the maximum latency desired for each channel. A channel having a
Function that requires the most frequent or more immediate service should be allocated a high priority
level.
The eTPU employs a
primary
and a
secondary priority scheme
. These two schemes ensure frequent
servicing of high-demand Functions and ensure a minimum time allocation to all channels requesting
service, regardless of their priority level. The primary scheme prioritizes requesting channels that have
different priority levels; the secondary scheme prioritizes requesting channels that have the same priority
level.
Initially, a channel requests service and is granted a time slot by the Scheduler: Service Grant bit is
asserted. If only high-level channels constantly receive service first because of their priority level, middle-
and low-level channels would only be serviced by default, i.e., if no high-level channels request service.
To ensure that each priority level receives an opportunity for servicing, every time slot has a fixed priority
level that the Scheduler honors first. Divided into sets of seven, time slots are numbered from one to seven.
illustrates the numbered time slots in sets of seven (fields A and B) and identifies their
assigned default priority level. The high level has more time slots than the middle and low levels. Out of
every seven time slots available, four are assigned to honor high-level channels first, two are assigned to
honor middle-level channels first, and one is assigned to honor low-level channels first. Only one request
(in each engine) is serviced per time slot. When no channel requests service and the microengine is idle
the priority scheme is initialized to time slot one, to prevent priority inversion on the next request
1
.
Figure 24-31. Time Slot Priority levels
24.5.3.2.1
Primary scheme – priority among channels on different levels
Although time slot priority assignment is fixed, the servicing priority is not. The primary scheme
acknowledges the priority level assigned to a time slot, granting service first to a channel having the same
1. Priority inversion would occur in the following situation: no channel is requesting service, and the current time slot is primarily
assigned to a low-priority channel. If the Scheduler was not reset to time slot one and two channels requested service at the same
time, one with high priority and the other with low priority, the channel to be serviced would be the low-priority channel.
1
2
3
4
5
6
7
1
2
3
H
M
H
L
H
M
H
H
M
H
4
5
L
H
HIGH
MIDDLE
LOW
A
B
Summary of Contents for MPC5644A
Page 2: ...MPC5644A Microcontroller Reference Manual Rev 6 2 Freescale Semiconductor...
Page 24: ...MPC5644A Microcontroller Reference Manual Rev 6 24 Freescale Semiconductor...
Page 26: ...MPC5644A Microcontroller Reference Manual Rev 6 26 Freescale Semiconductor...
Page 52: ...Introduction MPC5644A Microcontroller Reference Manual Rev 6 52 Freescale Semiconductor...
Page 56: ...Memory Map MPC5644A Microcontroller Reference Manual Rev 6 56 Freescale Semiconductor...
Page 1228: ...Decimation Filter MPC5644A Microcontroller Reference Manual Rev 6 1228 Freescale Semiconductor...
Page 1440: ...FlexCAN Module MPC5644A Microcontroller Reference Manual Rev 6 1440 Freescale Semiconductor...