TC1796
System Units (Vol. 1 of 2)
Interrupt System
User’s Manual
14-6
V2.0, 2007-07
Interrupt, V2.0
14.2.1.4 Service Request Flag (SRR)
When set, the SRR flag indicates that a service request is pending. It can be set or
cleared directly by hardware or indirectly through software using the SETR and CLRR
bits. Writing directly to this bit via software has no effect.
The SRR status bit can be directly set or cleared by the associated hardware. For
instance, in the General Purpose Array Unit, an associated timer event can cause this
bit to be set to 1. The details of how hardware events can cause the SRR bit to be set
are defined in the individual peripheral/module chapters.
The acknowledgment of the service request by either the Interrupt Control Unit (ICU) or
the PCP Interrupt Control Unit (PICU) causes the SRR bit to be cleared.
SRR can be set or cleared either by hardware or by software regardless of the state of
the enable bit SRE. However, the request is only forwarded for service if the enable bit
is set. If SRE = 1, a pending service request takes part in the interrupt arbitration of the
service provider selected by the device’s TOS bit. If SRE = 0, a pending service request
is excluded from interrupt arbitrations.
SRR is automatically cleared by hardware when the service request is acknowledged
and serviced. Software can poll SRR to check for a pending service request. SRR must
be cleared by software in this case by writing a 1 to CLRR.
It is advised not to clear a pending service request flag SRR (writing CLRR = 1) and to
enable the corresponding service request node SRN (writing SRE = 1) simultaneously
at the same write access to the Service Request Control Register. When doing this, an
unintended interrupt request might be generated. Instead of executing one write access,
it is recommended to split the two actions into two consecutive write accesses to the
corresponding Service Request Control Register, starting first clearing the pending
interrupt flag and afterwards enabling the service request node.
14.2.1.5 Type-Of-Service Control (TOS)
There are two service providers for service requests in the TC1796, the CPU and the
PCP. The TOS bit is used to select whether a service request generates an interrupt to
the CPU (TOS = 0) or to the PCP (TOS = 1). Bit 11 of the Service Request Control
Register is read-only, returning 0 when read. Writing to this bit position has no effect.
However, to ensure compatibility with future extensions, bit 11 should always be written
with a 0.
Note that several Service Request Control Registers (e.g. in the PCP) have a hardwired
TOS bit (0 or 1) that cannot be written. These registers can only generate an interrupt to
one dedicated service provider (PCP or CPU).
Note: Before modifying the content of a TOS bit, the corresponding SRN must be
disabled (SRE = 0).