Operation - Motorola DSP56303 User Manual

24-bit digital signal processor
Table of Contents

Advertisement

Operation

6.4
Operation
The HI08 is a slave-only device, so the host is the master of all bus transfers. In host-to-DSP
transfers, the host writes data to the Transmit Data Registers (TXH:TXM:TXL). In
DSP-to-host transfers the host reads data from the Receive Data Registers (RXH:RXM:RXL).
The DSP side has access only to the Host Receive Data Register (HRX) and the Host
Transmit Data Register (HTX). Data automatically moves between the host-side data
registers and the DSP-side data registers when it is available. This double-buffered
mechanism allows for fast data transfers but creates a "pipeline" that can either stall
communication (if the pipeline is either full or empty) or cause erroneous data transfers (new
data to be overwritten or old data to be read twice). The HI08 port has several handshaking
mechanisms to counter these buffering effects.
Suppose the host is writing several pieces of data to the HI08 port. The host first uses one of
the handshaking protocols to determine whether any data previously written to the Transmit
Data Registers (TXH:TXM:TXL) has successfully transferred to the DSP side. If the
host-side Transmit Data Registers (TXH:TXM:TXL) are empty, the host writes the data to
these registers. The transfer to the DSP-side Host Receive Data Register (HRX) occurs only if
HRX is empty (that is, the DSP has read it). The DSP core then uses an appropriate
handshaking protocol to move data from the HRX to the receiving buffer or register. Without
handshaking, the host might overwrite data not transferred to the DSP side or the DSP might
receive stale data.
Similarly, when the host performs multiple reads from the HI08 port Receive Data Registers
(RXH:RXM:RXL), the DSP side uses an appropriate handshaking protocol to determine
whether any data previously written to the Host Transmit Register (HTX) has successfully
transferred to the host-side registers. If HTX is empty, the DSP writes the data to this register.
Data transfers to the host-side Receive Data Registers (RXH:RXM:RXL) occur only if they
are empty (that is, the host has read them). The host can then use any of the available
handshaking protocols to determine whether more data is ready to be read.
The DSP56303 HI08 port offers the following handshaking protocols for data transfers with
the host:
n
Software polling
n
Interrupts
n
Core DMA access
n
Host requests
The choice of which protocol to use is based on such system constraints as the amount of data
to be transferred, the timing requirements for the transfer, and the availability of such
resources as processing bandwidth and DMA channels. All of these constraints are discussed
6-6
DSP56303 User's Manual

Advertisement

Table of Contents
loading

Table of Contents