The speaker and microphone are controlled through
a software API. I learned the programming interface from several EZ-kit
sample programs. The sample programs demonstrate all the features needed
for the audio tracker.
In addition to software some customized hardware needed
to be designed. I built my own microphone pair and amplifier for stereo
input. A microphone without amplification would not be able to deliver
a strong enough signal for the DSP to process. The connection for the microphones
has to be customized to enable the stereo input handled by the EZ-kit.
Table of Contents:
The API to interface to the microphone and speaker
enables the SHARC DSP to control the transfer of data from memory to the
AD 1881 codec. The codec is responsible for drives the speakers and acquires
the signals from the microphones.

The initialization of the API configures which input
and outputs are used in the codec. Once initialized, one command is used
to transfer the next segment of the audio signal to the codec and simultaneously
receive the segment of recorded data. Pointers are maintained to access
the transmitted and received audio data.
The simultaneous transmit and receive command is blocking
and in real-time systems considered a critical section. The length of the
critical section, however, is optimized to be as short as possible. The
DSP accesses memory are parallel; one sequence can read the audio transmitted
signal and store the recorded signal.
It will be interesting to measure the length of the
blocking section. The longer the critical section, the more complicated
it might become to schedule tasks.
The microphone amplifier was put together with the
help of Nick, Steve, Lea, and John. Nick and Steve gave me a sensitive
microphone and circuit of the amplifier. Lea and John helped me find the
amplifier. I put the circuit together and verified that it was safe to
plug into the EZ-kit without breaking it. Amazingly enough the amplifier
worked on the first go.
