rsc-464 ETC-unknow, rsc-464 Datasheet - Page 19

no-image

rsc-464

Manufacturer Part Number
rsc-464
Description
Speech Recognition Processor
Manufacturer
ETC-unknow
Datasheet
Preliminary Data Sheet
If an “irq” bit is set high and the corresponding “imr” bit is set high and the Global Interrupt Enable (“gie”; register
FF.bit0) bit is set high, an interrupt will occur. Interrupts may be nested if software handles saving and restoring the
“flagsHold” register (register CF). The “flags” register is copied to the “flagsHold” register and then the Global
Interrupt Enable is cleared, preventing subsequent interrupts until the IRET instruction is executed. The IRET
instruction will restore the “flags” register from the “flagsHold” register. The Global Interrupt Enable bit in the “flags”
register must not be re-enabled during the period after an interrupt has been acknowledged and before an IRET
instruction has been executed unless interrupt nesting is desired.
If an interrupt occurs during an instruction that clears the Global Interrupt Enable bit (typically the CLI instruction)
the value of the “gie” bit will be 0 upon completion of the Interrupt Service Routine and Return From Interrupt to the
instruction following the one that cleared the “gie” bit. (NOTE: This is a change from the operation of the RSC-364.)
The “flagsHold” register is accessible under program control at address CF in order to improve multi-tasking
operation.
External interrupts may be enabled on pins P0.0 (1
request), by setting register FD.Bit3=1 and register FD.Bit6=1, respectively. The polarity of the edges to trigger an
external interrupt request for P0.0 and are controlled by register D5.Bits[1:0]. Setting D5.Bit0=0 will cause a
positive going edge on P0.0 to generate and interrupt and D5.Bit0=1 will cause a negative going edge to generate
an interrupt. The same controls for P0.2 are possible with D5.Bit1. The corresponding external “irq” flag will be set
if the transition matches the interrupt edge control bit.
NOTE: If P0.0 or P0.2 are configured as outputs, writing to those outputs can trigger external interrupt requests if
the proper edge polarities occur. The user must be careful to avoid this, unless it is intended to use this as a way of
generating interrupt requests under internal software control.
An interrupt is disabled by writing a zero to the corresponding bit in the imr register (register 0FDH). However, an
active interrupt request can still be pending. To be certain that an interrupt does not happen, you should clear the
interrupt request flag in the irq register (register 0FEH) as well. For example:
For each interrupt, execution begins at a different address:
The interrupt vector is generated as a 20-bit address. The low 16 bits are derived from the execution table above,
and the high 4 bits are selected as a normal code fetch as described in the “Memory Addressing” section.
Specifically, the “cb1” bit is not touched by the interrupt.
If the corresponding mask register bit is clear, the “irq” bit will not cause an interrupt. However, it can be polled by
reading the “irq” register.
19
; Disable timer 1 interrupt
cli
and
mov
sti
Interrupt #0
Interrupt #1
Interrupt #2
Interrupt #3
Interrupt #4
Interrupt #5
Interrupt#6
Interrupt#7
imr,#0FEH
irq,#0FEH
Address 04H
Address 08H
Address 0CH
Address 10H
Address 14H
Address 18H
Address 1CH
Address 20H
; mask new interrupt requests
; clear any pending interrupt request
(Overflow of Timer 1)
(Overflow of Timer 2)
(Filter End Marker)(Reserved for Technology code)
(Edge of P00)
(Overflow of Timer 3)
(Block End)(Reserved for Technology code)
(Edge of P02)
(Overflow of MT timer)
P/N 80-0282-A
st
external interrupt request) and P0.2 (2
© 2005 Sensory Inc.
nd
external interrupt
RSC-464

Related parts for rsc-464