the master sees a "0" in TH, it knows that the transfer is complete. A
similar sequence of events occurs when the slave passes data to the
master through R and RH.
The register write-back method is similar to register handshaking, but
uses only the T and R data registers. The master writes data to T. When
the slave sees a non-zero value in T, it retrieves it and writes back a "0"
to T. A similar sequence occurs when the master is receiving data. This
simpler method works well as long as the data to be passed does not
include "0."
7.7.2
Vector Interrupts (VIRPT)
Vector interrupts are used for interprocessor commands between two
ADSP-2106xs or between a host and the ADSP-2106x. When the
external processor writes an address to the ADSP-2106x's VIRPT
register, a vector interrupt is caused.
When the vector interrupt is serviced, the ADSP-2106x automatically
pushes the status stack and begins executing the service routine
located at the address specified in VIRPT. The lower 24 bits of VIRPT
contain the address; the upper 8 bits may be optionally used as data to
be read by the interrupt service routine. At reset, VIRPT is initialized to
its standard address in the ADSP-2106x's interrupt vector table.
The minimum latency for vector interrupts is six cycles, five of which
are NOPs. When the RTI (return from interrupt) instruction is reached
in the service routine, the ADSP-2106x automatically pops the status
stack.
The VIPD bit in the SYSTAT register reflects the status of the VIRPT
register. If VIRPT is written while a previous vector interrupt is
pending, the new vector address replaces the pending one. If VIRPT is
written while a previous vector interrupt is being serviced, the new
vector address is ignored and no new interrupt is triggered. If the
ADSP-2106x writes to its own VIRPT register it is ignored.
To use the slave ADSP-2106x's vector interrupt feature, the master
ADSP-2106x should perform the following sequence of actions:
1. Poll the slave's VIRPT register until it reads a certain token value
(i.e. zero).
2. Write the vector interrupt service routine address to VIRPT.
3. When the service routine is finished, the slave ADSP-2106x should
write the token back into VIRPT to indicate that it is finished and
that another vector interrupt can be initiated.
www.BDTIC.com/ADI
Multiprocessing
7
7 – 33
Need help?
Do you have a question about the ADSP-2106x SHARC and is the answer not in the manual?