Servicing the Host Interface
MOTOROLA
Host Interface Eight (HI8)
16-33
Preliminary
16
16.10.9.4 DSP-to-Host Processor Procedure
The following procedure outlines the typical steps that the Host Processor must take to
setup and terminate a DSP-to-Host DMA transfer.
1. Setup the external DMA controller destination address, direction, byte count, and
other control registers. Enable the DMA controller channel.
2. The DSP must be configured to provide the outgoing data via polling, interrupts, or
DSP Side DMA configuration. If interrupt operation is desired HTIE must be set to
enable the HTDE interrupt. If DSP Side DMA operations are desired, set TDMAE
to enable DSP transfers when HTDE is set. This could be done with a separate Host
Command exception routine in the DSP.
3. Set HTDE and clear RXDF. This can be done with the appropriate INIT function.
The DSP Host transmit exception is activated immediately by DSP hardware which
begins the DMA transfer.
4. Perform other tasks until interrupted by the DMA controller DMA complete
interrupt. The DSP Interface Control Register (ICR), the Interrupt Status Register
(ISR), and TXH/TXL may be accessed at any time by the Host Processor (using
HA0-HA2, HRW/HRD, HDS/HWR, and HCS) but the receive byte registers (RXH
and RXL) may not be accessed until the DMA mode is disabled.
5. Terminate the DMA controller channel to disable DMA transfers.
6. Terminate the DSP HI8 DMA mode by clearing the HM1 and HM0 bits and
clearing RREQ in the Interface Control Register (ICR).
16.10.10 Host Port Use Considerations
Careful synchronization is required when reading multi-bit registers written by another
asynchronous system. This is a common problem when two asynchronous systems are
connected. The situation exists in the Host port. However, if the port is used in the way it
was designed, proper operation is guaranteed. The considerations for proper operation are
discussed below.
16.10.10.1 Host Programmer Considerations
1. Unsynchronized Reading of receive byte registers.
When reading receive byte registers, RXH or RXL, the Host programmer should
use interrupts or poll the RXDF flag which indicates that data is available. This
guarantees the data in the receive byte registers are stable.
2. Overwriting transmit byte registers.