MPC5553/MPC5554 Microcontroller Reference Manual, Rev. 5
10-40
Freescale Semiconductor
10.5.6
Selecting Priorities According to Request Rates and Deadlines
The selection of the priorities for the ISRs can be made using rate monotonic scheduling (RMS) or a
superset of it, deadline monotonic scheduling (DMS). In RMS, the ISRs which have higher request rates
have higher priorities. In DMS, if the deadline is before the next time the ISR is requested, then the ISR is
assigned a priority according to the time from the request for the ISR to the deadline, not from the time of
the request for the ISR to the next request for it.
For example, ISR1 executes every 100
s, ISR2 executes every 200
s, and ISR3 executes every 300
s.
ISR1 has a higher priority than ISR2 which has a higher priority than ISR3. However, if ISR3 has a
deadline of 150
s, then it has a higher priority than ISR2.
The INTC has 16 priorities, which could be much less than the number of ISRs. In this case, the ISRs
should be grouped with other ISRs that have similar deadlines. For example, a priority could be allocated
for every time the request rate doubles. ISRs with request rates around 1 ms would share a priority, ISRs
with request rates around 500
s would share a priority, ISRs with request rates around 250
s would share
a priority, etc. With this approach, a range of ISR request rates of 2
16
could be covered, regardless of the
number of ISRs.
Reducing the number of priorities does reduce the processor's ability to meet its deadlines. However, it
also allows easier management of ISRs with similar deadlines that share a resource. They do not need to
use the PCP to access the shared resource.
10.5.7
Software Settable Interrupt Requests
The software settable interrupt requests can be used in two ways. They can be used to schedule a lower
priority portion of an ISR and for processors to interrupt other processors in a multiple processor system.
10.5.7.1
Scheduling a Lower Priority Portion of an ISR
A portion of an ISR needs to be executed at the PRI
n
value in INTC priority select registers
(INTC_PSR0–INTC_PSR307), which becomes the PRI value in INTC current priority register
(INTC_CPR) with the interrupt acknowledgement. The ISR, however, can have a portion of it which does
not need to be executed at this higher priority. Therefore, executing this later portion which does not need
to be executed at this higher priority can prevent the execution of ISRs which do not have a higher priority
than the earlier portion of the ISR but do have a higher priority than what the later portion of the ISR needs.
This preemptive scheduling inefficiency reduces the processor's ability to meet its deadlines.
One option is for the ISR to complete the earlier higher priority portion, but then schedule through the
RTOS a task to execute the later lower priority portion. However, some RTOSs can require a large amount
of time for an ISR to schedule a task. Therefore, a second option is for the ISR, after completing the higher
priority portion, to set a SET
n
bit in INTC software set/clear interrupt registers
(INTC_SSCIR0–INTC_SSCIR7). Writing a 1 to SET
n
causes a software settable interrupt request. This
software settable interrupt request, which usually will have a lower PRIn value in the INTC_PSRn,
therefore will not cause preemptive scheduling inefficiencies.
Summary of Contents for MPC5553
Page 5: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 2 Freescale Semiconductor...
Page 21: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 xvi Freescale Semiconductor...
Page 47: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 1 26 Freescale Semiconductor...
Page 163: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 4 20 Freescale Semiconductor...
Page 179: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 5 16 Freescale Semiconductor...
Page 561: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 13 38 Freescale Semiconductor...
Page 615: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 14 54 Freescale Semiconductor...
Page 707: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 17 68 Freescale Semiconductor...
Page 755: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 18 48 Freescale Semiconductor...
Page 873: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 19 118 Freescale Semiconductor...
Page 984: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 Freescale Semiconductor 21 41...
Page 985: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 21 42 Freescale Semiconductor...
Page 1019: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 22 34 Freescale Semiconductor...
Page 1129: ...MPC5553 MPC5554 Microcontroller Reference Manual Rev 5 25 90 Freescale Semiconductor...