Usage Of The Tc1728 Interrupt System; Spanning Interrupt Service Routines Across Vector Entries - Infineon Technologies TC1728 User Manual

32-bit single-chip microcontroller
Table of Contents

Advertisement

13.8

Usage of the TC1728 Interrupt System

The following sections provide examples of using the TC1728 interrupt system to solve
both typical and special application requirements.
13.8.1

Spanning Interrupt Service Routines Across Vector Entries

Each Interrupt Vector Table entry consists of eight words of memory. If an ISR can be
made to fit directly in the Interrupt Vector Table there is no need for a jump instruction to
vector to the rest of the interrupt handler elsewhere in memory. However, only the
simplest ISRs can fit in the eight words available to a single entry in the table. But it is
easy to arrange for ISRs to span across multiple entries, since the Interrupt Vector Table
is ordered not by the interrupt source but by interrupt priority. This technique is explained
in this section.
In the example of
entry 2. In
Figure
13-3, the next available entry after entry 2 is entry 5. Of course, if this
technique is used, it would be improper to allow any SRN to request service at any of the
spanned vector priorities. Thus, priority levels 3 and 4 must not be assigned to SRNs
requesting CPU service. They can, however, be used to request PCP service.
There is a performance trade-off that may arise when using this technique because the
range of priority numbers used increases. This may have an impact on the number of
arbitration cycles required to perform arbitration. Consider the case in which a system
uses only three active interrupt sources, that is, where there are only three SRNs
enabled to request service. If these three active sources are assigned to priority numbers
1, 2, and 3, it would be sufficient to perform the arbitration in just one cycle. However, if
the ISR for interrupt priority 2 is spanned across three Interrupt Vector Table entries as
shown in
Figure
13-3, the priority numbers 1, 2 and 5 would have to be assigned. Thus,
two arbitration cycles would have to be used to perform the full arbitration process.
The trade-off between the performance impact of the number of arbitration cycles and
the performance gain through spanning service routines can be made by the system
designer depending on system needs. Reducing the number of arbitration cycles
reduces the service request arbitration latency - spanning service routines reduces the
run time of service routines (and therefore also the latency for further interrupts at that
priority level or below). For example, if there are multiple fleeting measurements to be
made by a system, reducing arbitration latency may be most important. But if keeping
total interrupt response time to a minimum is most urgent, spanning Interrupt Vector
Table entries may be a solution.
User's Manual
Interrupt, V1.4
Figure
13-3, entry locations 3 and 4 are occupied by the ISR for
13-18
TC1728
Interrupt System
V1.0, 2011-12

Advertisement

Table of Contents
loading

Table of Contents