5S5S6-bit input-only port with Schmitt-Trigger characteristics.
Port 5 pins also serve as timer inputs:
98I5SP5.10T6EUDGPT2 Timer T6 Ext.Up/Down
Ctrl.Input
99I5SP5.11T5EUDGPT2 Timer T5 Ext.Up/Down
Ctrl.Input
100I5SP5.12T6INGPT2 Timer T6 Count Input
1I5SP5.13T5INGPT2 Timer T5 Count Input
2I5SP5.1 4T4 EUDGPT1 Timer T4 E x t. Up / Down
Ctrl.Input
3I5SP5.1 5T2 EUDGPT1 Timer T2 E x t. Up / Down
Ctrl.Input
5I3TX TAL1:Input to the oscillator amplifier and internal clock
generator
6O3TXTAL 2:Output of the oscillator amplifier circuit.
To clock the device from an external source, drive
XTAL1, while leaving XTAL2 unconnected.
Observe minimum and maximum high/low and
rise/fall times specified in the AC Characteristics.
Table 1 Pin def i nition s
5/77
1
ST10R272L - PIN DESCR IPTION
1)
Symbol
P3.0 –
P3.13
P3.15
Pin Number
(TQFP)
8-21
Input (I)
I/O
Output (O)
Kind
Function
5T 5TA 15-bit (P3.14 is missing) bidirectional I/O port. Port 3 is bit-
wise programmable for input or output via direction bits. For a
22
I/O
pin configured as input, the output driver is put into highimpedance state. Port 3 outputs can be configured as push/
pull or open drain drivers. The following pins have alternate
I/O5TAn 8-bit bidirectional I/O port. Port 8 is bit-wise programmable
for input or output via direction bits. For a pin configured as
input, the output driver is put into high-impedance state.
Port 4 can be used to output the segment address lines for
external bus configuration.
23O5TP4.0A16Least Significant Segment Addr. Line
..................
26O5TP4.3A19Segment Address Line
29O5TP4.4A20Segment Address Line
O5TSSPCE1 Chip Enable Line 1
30O5TP4.5A21Segment Address Line
O5TSSPCE0SSPChip Enable Line 0
31O5TP4.6A22Segment Address Line
I/O5TSSPDATSSP Data Input/Outpu t Line
RD
WR/
WRL
READY/
READY
32O5TP4.7A23Most Significant Segment Addr. Line
O5TSSPCLKSSP Clock Output Line
33O5TExternal Memory Read Strobe. RD is activated for every exter-
nal instruction or data read access.
34O5TExternal Memory Write Strobe. In WR-mode, this pin is acti-
vated for every external data write access. In WRL-mode, this
pin is activated for low byte data write accesses on a 16-bit
bus, and for every data write access on an 8-bit bus.
See WRCFG in the SYSCON register for mode selection.
35I5TReady Input. Active level is programmable. When the Ready
function is enabled, the selected inactive level at this pin dur-
ing an external memory access will force the insertion of mem-
ory cycle time waitstates until the pin returns to the selected
active level. Polarity is pro gram mable.
Table 1 Pin def i nition s
7/77
1
ST10R272L - PIN DESCR IPTION
1)
Symbol
Pin Number
(TQFP)
Input (I)
Output (O)
Kind
Function
ALE36O5TAddress Latch Enable Output. Can be used for latching the
address into external memory or an address latch in the multi-
plexed bus modes.
EA
37I5TE xt ernal Access Enable pin. Low level at this pin during and
after reset forces the ST10R272L to begin instruction execu-
tion out of external memory. A high level forces execution out
of the internal ROM. The ST10R272L must have this pin tied
to ‘0’.
PORT0:
P0L.0–
P0L.7,
P0H.0 -
P0H.7
41 - 48
51 - 58
I/O5TPORT0 has two 8-bit bidirectional I/O ports P0L and P0H. It is
bit-wise programmable for input or output via direction bits. For
a pin configured as input, the output driver is put into high-
impedance state.
For external bus configuration, PORT0 acts as address (A)
and address/data (AD) bus in multiplexed bus modes and as
I/O5TPORT1 has two 8-bit bidirectional I/O ports P1L and P1H. It is
bit-wise programmable for input or output via direction bits. For
a pin configured as input, the output driver is put into high-
impedance state. PORT1 acts as a 16-bit address bus (A) in
demultiplexed bus modes and also after switching from a
demultiplexed bus mode to a multiplexed bus mode.
Table 1 Pin def i nition s
ST10R272L - PIN DESCR IPTION
1)
Symbol
Pin Number
(TQFP)
Input (I)
Output (O)
Kind
Function
RSTIN79I5TReset Input with Schmitt-Trigger cha racteristics. Resets the
device when a low level is applied for a specified duration while
the oscillator is running. An internal pull up resi stor enables
power-on reset using only a capacitor connected to
a bonding option, the RSTIN
pin can also be pulled-down for
V
SS
. With
512 internal clock cycles for hardware, software or watchdog
timer triggered resets
RSTOUT
80O5TInternal Reset Indication Output. This pin is set to a low level
when the part is ex ecutes hardware-, software- or watchdog
timer reset. RSTOUT
remains low until the EINIT (end of ini-
tialization) instruction is executed.
NMI
81I5SNon-Maskable Interrupt Input. A high to low transition at this
pin causes the CPU to vector to the NMI trap routine.
P6.0P6.7
If it is not used, NMI
82-89I/O5TAn 8-bit bidirectional I/O port. Port 6 is bit-wise programmable
for input or output via direction bits. For a pin configured as
should be pulled high externally.
input, the output driver is put into high-impedance state. Port 6
outputs can be configured as push/pull or open drain drivers.
The following Port 6 pins have alternate functions:
82O5TP6.0CS0
Chip Select 0 Output
..................
86O5TP6.4CS4
87I5TP 6. 5HOL D
Chip Select 4 Output
External Master Hold Request Input
(Master mode: O, Slave mode: I)
88I/O5TP6.6HLDA
89O5TP6.7BRE Q
Hold Acknowledge Output
Bus Request Output
Table 1 Pin def i nition s
9/77
1
ST10R272L - PIN DESCR IPTION
1)
Symbol
P2.8 –
P2.11
Pin Number
(TQFP)
Input (I)
Output (O)
Kind
Function
90 - 93I/O5TPor t 2 is a 4-bit bidirectional I/O port. It is bit-wise programma-
ble for input or output via di rection bits. For a pin configured as
input, the output driver is put into high-impedance state. Port 2
outputs can be configured as push/pull or open drain drivers.
The following Port 2 pins have alternate functions:
90I5TP 2.8EX0INFast External Interrupt 0 Input
..................
93I5TP 2.11EX 3INFast External Interrupt 3 Input
P7.0 –
P7.3
94 - 97I/O5TPor t 7 is a 4-bit bidirectional I/O port. It is bit-wise programma-
ble for input or output via di rection bits. For a pin configured as
input, the output driver is put into high-impedance state. Port
7outputs can be configured as push/pull or open drain drivers.
The following Port 7 pins have alternate functions:
97O5TP7.3POUT3PWM (Channel 3) Output
RPD40I/O5TInput timing pin for the return from powerdown circuit and
power-up asynchronous reset.
V
DD
7, 28,
-PODi gital supply voltage.
38, 49,
69, 78
V
SS
4, 27,
-PODi gital ground.
39, 50,
70, 77
Table 1 Pin def i nition s
1) The following I/O kinds are used. Refer to
page 40 for a detailed description.
PO: Power pin
3T: 3 V tolerant pin (voltage max. respect to Vss is -0.5 to VDD + 0.5)
5V: 5 V tolerant pin (voltage max. respect to Vss is -0.5 to 5.5 only if chip is powered)
5S: 5 V tolerant and f ail-safe pin (-0.5-5.5 ma x. voltage w.r.t. Vss ev en if chip is n ot pow-
ered).
10/77
1
ELECTRICAL CHARACTERISTICS
on
ST10R272L - FUNCTIONAL DESCRIPTION
2FUNCTI ONAL DESCRIPT ION
ST10R272L architecture combines the advantages of both RISC and CISC processors wi th
an advanced peripheral subsystem. The following block diagram overviews the different onchip components and the internal bus structure.
The ST10R272L is a ROMless device, the internal RAM space is 1 KByte. The RAM address
space is used for variables, register banks, the system stack, the PEC pointers (in 00’FCE0h
- 00’FCFFh) and the bit-addressable space (in 00’FD00h - 00’FDFFh).
00’EFFFh
256 Byte
00’EF00h
00’1FFFh
8K-byte
00’0000h
RAM/SFR
XSSP
External
memory
internal
memory
System Segment 0
64 K-Byte
00’FFFFh
00’F000h
Data Page 3
00’F000h
Data Page 2
00’8000h
Data Page 1
Block 1
00’4000h
Data Page 0
Block 0
00’0000h
00’FF3Fh
00’FF20h
00’FE3Fh
00’FE20h
00’FF3Fh
00’FF20h
00’F03Fh
00’F020h
SFR Area
(reserved)
RAM
ESFR Area
(reserved)
DPRAM / SFR Area
4 K-Byte
00’FFFFh
00’FE00h
1K-Byte
00’FA00h
00’F200h
00’F000h
12/77
1
Figure 3 Memory map
ST10R272L - CENTRAL PROCESSING UNIT
4CENTRAL PROCESSING UNIT
The main core of the CPU contains a 4-stage instruction pipeline, a MAC multiplyaccumulation unit, a separate multiply and divide unit, a bit-mask generator and a barrel
shifter. Most instructions can be ex ecuted i n one machine cycle r equiring 40ns at 50MHz CPU
clock.
The CPU includes an actual register context consisting of 16 wordwide GPRs physically
located in the on-chip RAM area. A Context Pointer (CP) register determines the base
address of the activ e register bank to be ac cessed b y the CPU . T he number of r egister banks
is only restricted by the available internal RAM space. For easy parameter passing, one
register bank may overlap others.
A system stack of up to 1024 bytes is provided as a storage for temporary data. The system
stack is al located in the on-chip RAM area, and it i s accessed by the C PU via the stac k pointer
(SP) register. Two separate SFRs, STKOV and STKUN, are compared against the stack
pointer value during each stack access to detect stack overflow or underflow.
SP
STKOV
STKUN
Exec. Unit
Instr. Ptr
Instr. Reg
4-Stage
Pipeline
PSW
SYSCON
BUSCON 0
BUSCON 1
BUSCON 2
BUSCON 3
BUSCON 4
Data Pg. Ptrs
CPU
MDH
MDL
Mul./Div.-HW
Bit-Mask Gen.
ALU
16-Bit
Barrel-Shift
Context Ptr
ADDRSEL 1
ADDRSEL 2
ADDRSEL 3
ADDRSEL 4
Code Seg. Ptr.
R15
General
Purpose
Registers
R0
IDX0
QX0
QR0
IDX1
QX1
QR1
Figure 4 CPU block diagram
16
16
Internal
RAM
1KByte
R15
R0
13/77
1
ST10R272L - MULTIPLY-ACCUMULATE UNIT (MAC)
5MULTIPLY-ACCUMULATE UNIT (MAC)
The MAC is a specialized co-processor added to the ST10R272L CPU core to improve the
performance of signal processing algorithms. It includes:
•a multiply-accumulate unit
•an address generation unit, able to feed the mac unit with 2 operands per cycle
•a repeat unit, to execute a series of multiply-accumulate instructions
New addressing capabilities enable the CPU to supply the MAC with up to 2 operands per
instruction cycle. MAC instructions: multiply, multiply-accumulate, 32-bit signed arithmetic
operations and the CoMOV transfer instruction have been added to the standard instruction
set. Full details are provided in the ‘ST10 Fami ly Programming Ma nual’.
dual-port
internal RAM
Peripheral
interface
data buses
ST10R272L CPU
new addressing features
QX0
IDX0
IDX1
QX1
operands
16 x16
multiplier
40-bit ALU
shifter
MAC CoProcessor
control
MCW
MAL
MRW MAH
MSW
Figure 5 MAC architecture
QR0
QR1
repeat unit
40-bit accumulator
external
memory
program
memory
program code
14/77
1
ST10R272L - MULTIPLY-ACCU MULATE UNIT (MAC)
5.1 MAC Features
Enhanced addressing capabilities
Double indirect addressing mode with pointer post-modification.
•
•Parallel Data Move allows one operand move during Multiply-Accumulate instructions
without penalty.
•CoSTORE instruction (for fast access to the MAC SFRs) and CoMOV (for fast memory to
memory table transfer).
General
Two-cycle execution for all MAC operations.
•
•16 x 16 signed/unsigned parallel multiplier.
•40-bit signed arithmetic unit with automatic saturation mode.
•40-bit accumulator.
•8-bit left/right shifter.
•Scaler (one-bit left shifter)
•Data limiter
•Full instruction set with multiply and multiply-accumulate, 32-bit signed arithmetic and
compare instructions.
•Three 16-bit status and control registers: MSW: MAC Status Word, MCW: MAC Control
Word, MRW: MAC Repeat Word.
Progra m control
Repeat Unit allows some MAC co-pr ocessor instructions to be repeated up to 8192 times .
•
Repeated instructions may be interrupted.
•MAC interrupt (Class B Trap) on MAC condition flags.
15/77
1
ST10R272L - MULTIPLY-ACCUMULATE UNIT (MAC)
5.2 MAC Operation
Instruction pipelini ng
All MAC instructions use the 4-stage pipeline. During each stage the following tasks are
performed:
•FETCH: All new instructions are double-word instructions.
•DECODE: If required, operand addresses are calculated and the resulting operands are
fetched. IDX and GPR pointers are post-modified if necessary.
•EXECUTE: Performs the MAC operation. At the end of the cycle, the Accumulator and the
MAC condition flags are updated if required. Modified GPR pointers are written-back
during this stage, if required.
•WRITEBACK: Operand write-back in the case of parallel data move.
NoteAt least one instruction which does not use the MAC must be inserted between two
instructions that read from a MAC register. This is because the Accumulator and the
status of the MAC are modified during the Execute stage. The CoSTORE instruction
has been added to allow access to the MAC registers immediately after a MAC
operation.
Address generation
MAC instructions can use some standard ST10 addressing modes such as GPR direct or
#data4 for immediate shift value.
New addressing modes have been added to supply the MAC with two new operands per
instruction cycle. These allow indirect addressing with address pointer post-modification.
Double indirect addressing requires two pointers. Any GPR can be used for one pointer, the
other pointer is provided by one of two specific SFRs IDX0 and IDX1. Two pairs of offset
registers QR0/QR1 and QX0/QX1 are associated with each pointer (GPR or IDX
pointer allows access to the entire memory space, but IDX
Port RAM, except for the CoMOV instruction.
are limited to the internal Dual-
i
). The GPR
i
16/77
1
ST10R272L - MULTIPLY-ACCU MULATE UNIT (MAC)
The following table shows the various combinations of pointer post-modification for each of
these 2 new addressing modes. In this document the symbols “[Rw
Ta ble 2 Pointer post-modification combinations for IDXi an d Rwn
For the CoMACM class of instruction, Parallel Data Move mechanism is implemented. This
class of instruction is only a vailable with double indi rect address ing mode. P ar al lel D ata Mo v e
allows the operand pointed by IDX
to be moved to a new location in parallel with the MAC
i
operation. The write-back address of Parallel Data Move is calculated depending on the postmodification of IDX
new value of IDX
. It is obtained by the rev erse oper ation than the one used to calculate the
i
. The following table shows these rules.
i
Instructio nWriteback Address
CoMACM [IDX
CoMACM [IDX
CoMACM [IDX
CoMACM [IDX
+],...<IDXi-2>
i
-],...<IDXi+2>
i
+QXj],...<IDXi-QXj>
i
-QXj],...<IDXi+QXj>
i
Table 3 Parallel data move addressing
17/77
1
ST10R272L - MULTIPLY-ACCUMULATE UNIT (MAC)
The Parallel Data Move shifts a table of operands in parallel with a computation on those
operands. Its specific use is for signal processing algorithms like filter computation. The
following figure gives an example of Parallel Data Move with CoMACM instruction.
CoMACM [IDX0+], [R2+]
16-bit
n+2
n
n-2
n-4
X
IDX0X
n+2
n
n-2
n-4
IDX0
X
After ExecutionBefore Execution
Parallel Data Move
Figure 6 Example of parallel data move
16 x 16 signed/unsigned parallel mul tiplier
The multiplier executes 16 x 16-bit parallel signed/unsigned fractional and integer multiplies.
The multiplier has two 16-bit i nput ports, and a 32-bit product output port. The input ports can
accept data from the MA-bus and from the MB-bus. The output is sign-extended and then
feeds a scaler that shifts the multiplier output according to the shift mode bit MP specified in
the co-processor Control Word (MCW). The product can be shifted one bit left to compensate
for the extra sign bit gained in multiplying two 16-bit signed (2’s complement) fractional
numbers if bit MP is set.
40-bit signed arithmetic unit
The arithmetic unit over 32 bits wide to allow intermediate overflow in a series of multiply/
accumulate operations. The extension flag E, contained in the most significant byte of MSW,
is set when the Accumulator has overflowed beyond the 32-bit boundary, that is, when there
are significant (non-sign) bits in the top eight (signed arithmetic) bits of the Accumulator.
The 40-bit arithmetic unit has two 40-bit input ports A and B. The A-input port accepts data
from 4 possible sources: 00,0000,0000h, 00,0000,8000h (round), the sign-extended product,
or the sign-extended data c on veyed by the 32-bit bus resulting fr om the concatenation of MAand MB-buses. Product and Concatenation can be shifted left by one according to MP for the
multiplier or to the i ns truction f or the concatenation. The B-input port is fed either by the 40-bit
shifted/not shifted and inverted/not inverted accumulator or by 00,0000,0000h. A-input and B-
18/77
1
ST10R272L - MULTIPLY-ACCU MULATE UNIT (MAC)
input ports can receive 00,0000,0000h to allow direct transfers from the B-source and Asource, respectively, to the Accumulator (case of Multiplication, Shift.). The output of the
arithmetic unit goes to the Accumulator.
It is also possible to saturate the Accumulator on a 32-bit value, automatically after every
accumulation. Automatic saturation is enabled by setting the saturation bit MS in the MCW
register. When the Accumulator is in the saturation mode and an 32-bit overflow occurs, the
accumulator is loaded with either the most positive or the most negative value representable
in a 32-bit value, depending on the direction of the overflow. The value of the Accumulator
upon saturation is 00,7fff,ffffh (positive) or ff,8000,0000h (negative) in signed arithmetic.
Automatic saturation sets the SL flag MSW. This flag is a sticky flag which means it stays set
until it is explicitly reset by the user.
40-bit overflow of the Accumulator sets the SV flag in MSW. This flag is also a sticky flag.
40-bit accumulator register
The 40-bit Accumulator consists of three SFR registers MAH, MAL and MAE. MAH and MAL
are 16-bit wide. MAE is 8-bit wide and is contained within the least significant byte of MSW.
Most co-processor operations specify the 40-bit Accumulator register as source and/or
destination operand.
Data limite r
Saturation arithmetic is also provided to selectively limit overflow, when reading the
accumulator by means of a CoSTORE <destination>
on the MAC Accumulator. If the contents of the Accumulator can be represented in the
destination operand size without overflow, the data limiter is disabled and the operand is not
modified. If the contents of the accumulator cannot be represented without overflow in the
destination operand size, the limiter will substitute a ‘limited’ data as explained in the f ollowing
table.
RegisterE bitN bitOutput of the Limiter
x0xunchanged
MAS107fffh
MAS118000h
Table 4 Data Limit Values
NoteIn this case, the accumulator and the status register are not affected. MAS readable
from a CoSTORE instruction.
MAS instruction. Limiting is performed
19/77
1
ST10R272L - MULTIPLY-ACCUMULATE UNIT (MAC)
Accumulator shi fter
The Accumulator shifter is a parallel shifter with a 40-bit input and a 40-bit output. The source
operand of the shifter is the Accumulator and the possible shifting operations are:
•No shift (Unmodified)
•Up to 8-bit Arithmetic Left Shift
•Up to 8-bit Arithmetic Right Shift
E, SV and SL bits from MSW are affected by Left shifts , theref or e i f the satur ation mechanism
is enabled (MS), the behavior is similar to the one of the arithmetic unit. The carry flag C is
also affected by left shifts.
Repeat unit
The MAC includes a repeat unit allowing the repetition of some co-processor instructions up
13
to 2
(8192) times. The repeat count may be specified either by an immediate value (up to 31
times) or by the content of the Repeat Count ( bits 12 to 0) i n the MAC Repeat Word (MR W). If
the Repeat Count equals “N” the instruction will be executed “N+1” times. At each iteration of
a cumulative instruction the Repeat Count is tested for zero. If it is zero the instruction is
terminated else the Repeat Count is decremented and the instruction is repeated. During
such a repeat sequence, the Repeat Flag in MRW is set until the last execution of the
repeated instruction.
The syntax of repeated instructions is shown in the following exam ples :
1Repeat #24 times
CoMAC[IDX0+],[R0+]; repeated 24 times
In example 1, the instruction is repeated according to a 5-bit immediate value. The Repeat
Count in MRW is automatically loaded with this value minus one (MRW=23).
1MOV MRW, #00FFh; load MRW
NOP; instruction latency
Repeat MRW times
CoMACM [IDX1-],[R2+]; repeated 256 times
In this example, the instruction is repeated according to the Repeat Count in MRW. Notice that
due to the pipeline processing at least one instruction should be inserted between the write of
MRW and the next repeated instruction.
Repeat sequences may be interrupted. When an interrupt occurs during a repeat sequence,
the sequence is stopped and the i nterrupt routine i s e xecuted. The repeat sequence resumes
at the end of the interrupt routine. During the interrupt, MR remains set, indicating that a
repeated instruction has been interrupted and the Repeat Count holds the number (minus 1)
20/77
1
ST10R272L - MULTIPLY-ACCU MULATE UNIT (MAC)
of repetition that remains to complete the sequence. If the R epeat Unit is us ed in the i nterrupt
routine, MRW must be saved by the user and restored before the end of the interrupt routine.
NoteThe Repeat Count should be used with caution. In this case MR should be written as
0. In general MR should not be set by the user otherwise correct instruction
processing can not be guaranteed.
MAC interrupt
The MAC can generate an interrupt according to the value of the status flags C (carry), SV
(overf low), E (ex tension) or SL (limit) of the MSW . T he MAC interrupt is globally enabl ed when
the MIE flag in MCW is set. When it is enabled the flags C, SV, E or SL can triggered a MAC
interrupt when they are set provided that the corresponding mask flag CM, VM, EM or LM in
MCW is also set. A MAC interrupt request set the MIR flag in MSW, this flag must be reset by
the user during the interrupt routine otherwise the interrupt processing restarts when
returning from the interrupt routine.
The MAC interrupt is implemented as a Class B hardware trap (trap num ber Ah - trap priority
I). The associated Trap Flag in the TFR register is MACTRP, bit #6 of the TFR (Remember
that this flag must also be reset by the user in the case of an MAC interrupt request).
As the MAC status flags are updated (or eventually written by software) during the Execute
stage of the pipeline, the response time of a MAC interrupt request is 3 instruction cycles (see
Figure 3). It is the number of instruction cycles required between the time the request is sent
and the time the first instruction located at the interrupt vector location enters the pipeline.
Note that the IP value stacked after a MAC interrupt does not point to the instruction that
triggers the interrupt.
Response Time
FETCH
DECODE
EXECUTE
WRITEBACK
N
N-1
N-2
N-3
N+1
N
N-1
N-2
N+2
N+1
N
N-1
N+3
N+2
N+1
N
MAC Interrupt Request
N+4
TRAP (1)
N+2
N+1
I1
TRAP (2)
TRAP (1)
N+2
I2
I1
TRAP (2)
TRAP (1)
Figure 7 Pipeline diagram for MAC interrupt response tim e
21/77
1
ST10R272L - INTERRUPT AND TRAP FUNCTIONS
Number representation & roundi ng
The MAC supports the two’s-complement representation of binary numbers. In this format,
the sign bit is the MSB of the binary word. This is set to zero for positive numbers and set to
one for negative num ber s. Unsigned numbers are supported only by multiply/multiplyaccumulate instructions which specifies whether each operand is signed or unsigned.
In two’s complement fractional format, the N-bit operand is represented using the 1.[N-1]
format (1 signed bit, N-1 fractional bits). Such a format can represent numbers between -1
-[N-1]
and +1-2
. This format is suppor ted when MP of MCW is set.
The MAC implements ‘two’s c om plement r oundi ng’. With this rounding type, one is added to
the bit to the right of the rounding point (bit 15 of MAL), before truncation (MAL is cleared).
6INTERRUPT AND TRAP FUNCTIONS
The architecture of the ST10R272L supports s everal mechanisms for fast and flexible
response to the service requests that can be generated from various sources, internal or
external to the microcontroller. Any of these interrupt requests can be programmed to be
serviced, either by the Interrupt Controller or by the Peripheral Event Controller (PEC).
In a standard interrupt service, program executi on is suspended and a branch to the interrupt
service routine is performed. For a PEC service, just one cycle is ‘stolen’ from the current
CPU activity. A PEC service is a single, byte or word data transfer between any two memory
locations, with an additional increment of either the PEC source or the destination pointer. An
individual PEC transfer counter is decremented for each PEC service, except in the
continuous transfer mode. When this counter reaches zero , a standard interrupt is performed
to the corresponding source-related vector location. PEC services are very well suited, for
example, to the transmission or reception of blocks of data. The ST10R272L has 8 PEC
channels, each of which offers fast interrupt-driven data transfer capabilities.
A separate control register which contains an interrupt request flag, an interrupt enable flag
and an interrupt priority bitfield, exists f or each of the possib le interrupt sources. Via it s related
register, each source can be programmed to one of sixteen interrupt priority levels. Once
having been accepted by the CPU, an interrupt service can only be interrupted by a higher
priority service request. For standard interrupt processing, each of the possible interrupt
sources has a dedicated vector location.
Fast external interrupt inputs are provided to service external interrupts with high precision
requirements. These fast interrupt inputs, feature programmable edge detection (rising edge,
falling edge or both edges).
Software interrupts are supported by means of the ‘TRAP’ instruc tion in combination with an
individual trap (interrupt) number.
Table 5 List of possible interrupt sources, flags, vector and trap numbers
23/77
1
ST10R272L - INTERRUPT AND TRAP FUNCTIONS
6.2 Hardware Traps
Exceptions or error conditions that arise during run-time are called Hardware Traps. Hardware
traps cause immediate non-maskable system reaction similar to a standard interrupt service
(branching to a dedicated vector table location). The occurrence of a hardware trap is
additionally signified by an individual bit in the trap flag register (TFR). Except when another
higher prioritized trap service is in progress, a hardware trap will interrupt any actual progr am
ex ecution. In turn, hardware trap services can not normally be interrupted by standard or PEC
interrupts. The following tab le shows all of the possible ex ceptions or error conditions that can
arise during run-time: