A vehicle computer system has an audio entertainment system implemented in
a logic unit and audio digital signal processor (DSP) independent from
the host CPU. The audio entertainment system employs a set of ping/pong
buffers and direct memory access (DMA) circuits to transfer data between
different audio devices. Audio data is exchanged using a mapping overlay
technique, in which the DMA circuits for two audio devices read and write
to the same memory buffer. The computer system provides an audio manager
API (application program interface) to enable applications running on the
computer to control the various audio sources without knowing the
hardware and implementation details of the underlying sound system.
Different audio devices and their drivers control different functionality
of the audio system, such as equalization, volume controls and surround
sound decoding. The audio manager API transfers calls made by the
applications to the appropriate device driver(s). The computer system
also supports a speech recognition system. Speech utterances are picked
up by a microphone and sampled at an internal sampling rate. However, the
speech recognition system employs a lower sampling rate. The computer
system converts microphone data from the higher internal sampling rate to
the desired sampling rate by piggybacking the microphone data on
command/message streams to an SPI (serial peripheral interface) of the
audio DSP. The DSP performs normal low-pass filtering and down sampling
on the data stream and then uses the SPI to send out the microphone data
at the lower sampling rate.