ChipCenter Questlink
SEARCH CHIPCENTER
Search Type:
Search for:




Knowledge Centers
Product Reviews
Data Sheets
Guides & Experts
News
International
Ask Us
Circuit Cellar Online
App Notes
NetSeminars
Careers
Resources
FAQ
EE Times Network
Electronics Group Sites

QUADRIPLEGIC SAILORS SAVED BY SHARC


Circuit Cellar Online
THE MAGAZINE FOR COMPUTER APPLICATIONS
Circuit Cellar Online offers articles illustrating creative solutions
and unique applications through complete projects, practical
tutorials, and useful design techniques.

VOICE RECGNITION CONTROLLED SAILBOAT

Lessons from the Trenches 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.

PREVIOUSNEXT


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.
Click here to get your listing up.

Copyright © 2003 ChipCenter-QuestLink
About ChipCenter-Questlink  Contact Us  Privacy Statement   Advertising Information  FAQ