|
Speech-Recognition Control Aids
Disabled Sailor
by Mike
Smith, Todd Turner,
and Steve Alvey
Start ı The
Hardware ı Hardware Interface to the SHARC
ı Configuring the DSP for UART Access ı
Test Run ı Sources
and PDF
THE HARDWARE
We chose the Analog Devices SHARC EZ-Kit
Lite evaluation board for a number of reasons. This boardıs main processor,
the ADSP-21061 SHARC DSP, operates at 40 MIPS, peaking at 120 MFLOPS.
As you can see in Figure 1, the board includes an AD1847 stereo CODEC,
which takes voice input via a microphone. A synchronous serial line
to the SHARC processor connects to the CODEC, which is a sigma-delta
oversampling converter that digitally filters the signal to avoid
aliasing problems.
|
|
Figure 1ıThe SHARC EZ-Kit Lite
evaluation board uses an ADSP-21061 SHARC DSP as its main processor.
The chip operates at 40 MIPS and peaks at 120 MFLOPS. |
The development software includes both
an optimizing C compiler and an assembler. Program development can
be handled using the onboard kernel and a variety of basic debugging
tools.
CONTROLLING THE MARTIN 16
With this device, sailors can remotely
control the Martin 16, adjusting both the sail and helm, through the
speech-recognition system. Because a high degree of control is needed,
the voice-control system supports both discrete word commands and
continuous sound commands.
For example, the command "RUDDER"
places the system into rudder-control mode. The continuous sound "EEEEE"
causes the Autohelm to change course by +1ı. The course change continues
to increase as long as the sailor holds the sound. Alternatively,
if the sailor holds the sound "AAAAH," the Autohelm alters
the course in ı1ı increments.
The equivalent of a push-to-talk command
for the safety radio greatly increases the confidence of the disabled
sailors because they can then request help without needing a second
person to hold down the transmit button.
" width="254" height="117">
Now,
Getting Connected to the
Internet Can Earn You Cash.
Win
your share of $26,500 CASH
plus great Development Tool Prizes!
Deadline May 1, 2000
More information
PLUG AND SAY
The SeaTalk bus from Raytheon forms the
serial connection between the speech-recognition system and the associated
controller. Because the controller already supports the SeaTalk commands
sent by the companionıs safety remote, we could easily add the voice-control
system to the existing system just by plugging the voice-control box
into the SeaTalk port.
The serial commands for the SeaTalk bus
are sent in an asynchronous format at 4800 bps with 8 data bits, 1
address/data flag, 1 start, and 1 stop bit. The first value
in a command sets the address flag, so a device recognizes when the
address refers to it. The remaining values define the command to be
acted on.
This approach is referred to as a multidrop
mode because the master controller can direct commands to multiple
devices connected to the same serial link. Each slave device is programmed
to recognize its own address and a global-broadcast address, enabling
the master to efficiently command slaves simultaneously or individually.
The transmitting device first sends a 9-bit value containing the receiverıs
address. When this address is recognized, the receiver acts on the
data that follows.
CREATING A SOFTWARE UART
For this project, we need a universal
asynchronous receiver transmitter (UART) to transmit data asynchronously.
To avoid adding external devices to the design, many microcontrollers
have on-chip UARTs. In fact, the SHARC processor has two on-chip time-division-mulitplexing
serial ports (known as SPORTs), which it uses to transfer data at
up to 40 Mbps in numerically intensive real-time applications. However,
these ports are synchronous, not asynchronous.
As you can see in Figure 1, the EZ-Kit
Lite evaluation board has a standard 16550 PC UART. However, this
UART is not easily accessible as it is intended for communications
between the board kernel and diagnostic tools running on the host
PC.
The SHARC userıs manual suggests a way
around the problem by using the pins on the evaluation boardıs expansion
connector to clock out and receive bits from the multidrop serial
line. The software UART uses the SHARC general-purpose I/O flag pins
as well as the onboard programmable timer interrupt. The UART is emulated
by detecting the start bit through programming and oversampling the
received signal. The nine bits needed for communications are clocked
by reading one of the flag pins. Similarly, transmission occurs by
setting and clearing a second flag pin to clock out characters.
Although a software UART is feasible,
the implementation would take a lot of time. More important, it was
not clear that there would be enough room in the SHARCıs internal
memory for this and the speech-recognition software. Clearly, we had
to develop a standard interface to an external UART chip.
PREVIOUS
NEXT
Circuit Cellar provides up-to-date information for engineers. Visit
www.circuitcellar.com for
more information and additional articles.
For subscription information, call (860) 875-2199, subscribe@circuitcellar.com
or subscribe online.
ıCircuit Cellar, the Magazine for Computer Applications. Posted with
permission. |