3-6
Digitized Sound I/O Programming
There are two ways to terminate auto-initialize DMA mode transfer:
1.
Program the DSP to switch to single-cycle DMA mode transfer. At the
end of the current block transfer, the DSP will exit from auto-initialize
DMA mode and continue to transfer using the specified single-cycle DMA
mode.
2.
Send the exit auto-initialize command; the DSP will exit auto-initialize
DMA mode at the end of current block and terminate the transfer.
Under auto-initialize DMA mode, 8-bit unsigned PCM, 16-bit signed PCM, and
ADPCM compressed data transfers are supported.
Auto-initialize DMA mode is crucial when dealing with high data rates. To give you
some idea of the numbers involved, CD-quality sound (16-bit stereo at 44.1 kHz)
involves transferring data at a rate of 176.4 KB/s. Under these conditions, using single-
cycle DMA mode would produce less than optimal sound quality because of the time
needed to reprogram the DMA and DSP to start transferring a new block at the end of
every block of data. The delay between the blocks (though it may be brief), is enough to
distort the sound.
High-Speed DMA Mode
For non high-speed DMA mode, the DSP operates in the command and data modes.
That is, the DSP is able to accept and execute commands that are sent to the DSP
Command/Data port. Using this mode, the DSP can only support data transfer up to a
certain sampling rate. To go beyond that, the DSP has to be switched to high-speed
DMA mode.
Under high-speed DMA mode, the DSP will only perform data transfer. It will not
accept further commands that are sent to the Command/Data port.
Both single-cycle and auto-initialize DMA modes are available for the high-speed
DMA mode. For high-speed single-cycle DMA mode, the DSP will exit high-speed
DMA mode automatically at the end of transfer. For high-speed auto-initialize DMA
mode, a DSP reset is needed to exit high-speed DMA mode.
The DSP reset command behaves differently while the DSP is in high-speed DMA
mode. It terminates high-speed DMA mode and restores all the DSP parameters to
their states prior to entering the high-speed DMA mode.
High-speed DMA mode supports both mono and stereo 8-bit unsigned PCM data.
ADPCM compressed data is not supported.