
PSB 7238
Interfaces and Memory Organization
Semiconductor Group
41
Data Sheet 1998-07-01
I/O Access from the Host to the Mailbox (Summary)
Read
Host programs the desired start address (00
H
to FF
H
) into address register 48
H
.
Loop:
A read access from host to 4C
H
gives the data from the current location in the read
mailbox pointed to by the address register in 48
H
.
The address register is autoincremented.
Go to Loop.
Write
Host programs the desired start address (00
H
to FF
H
) into address register 4A
H
.
Loop:
A write access from host to 4C
H
writes the data into the current location in the write
mailbox pointed to by the address register in 4A
H
.
The address register is autoincremented.
Go to Loop.
(In the case of overflow, the address register 48
H
or 4A
H
wraps around to 00
H
.)
Software Handling of Communication via Mailbox
To indicate that data is ready to be read by the host/DSP, the DSP/host may use a
general purpose 8-bit interrupt register located in the host/DSP comm section of the
Directly Accessible Register Bank (DARB), associated with a 16-bit soft command and
status word in the same area. This protocol is implemented in software. The same
applies for indicating to the host/DSP that data has been read, in other words, the
memory in one direction is free. See example below for using the mailbox involving a
handshake protocol between the DSP and the host.
Simultaneous read/write is not prohibited by hardware, but a handshake mechanism
(via IND/INH software interrupt registers with optional control data) is implemented in
software.
Procedure from host to DSP (example):
Host
Write mailbox (1 to 256 bytes) if free (released by DSP)
Write word in control register (60-61
H
) (e.g. number of bytes in mailbox)
Write 8-bit vector in INH
Internally, this causes an INT1 interrupt to DSP, which recognizes a “soft interrupt”
(firmware)
DSP: services INT1 and acknowledges by writing an 8-bit vector in IND
Host
Read IND
Jump into routine pointed to by IND: “Mailbox release”
Write further data, etc.