Configurable Application-Specific Signal Processors Speed Design and Development

APPLYING CAD TECHNIQUES

We need to decide which options are configurable at build time, at run time, or both. Furthermore, there may be system-wide and algorithm-specific parameters that we want to make configurable for build-time. For example, we may want to make the processing frame size a build-time option, because frame size affects both memory allocation and task scheduling. For example, one algorithm-specific parameter we might want to define at build time is the maximum echo tail that the echo canceller can support, because it affects memory allocation and processor utilization.

We'll choose to have the conference algorithm, DTMF detection, voice recording, and voice playback always present (see the table) because these functions are required by most conferencing applications. That said, it still makes sense sometimes to enable or disable one or more of those features at run time. For example, conferences are set up only when necessary. Similarly, voice recording and playback are run only when needed. Likewise for DTMF detection.

We'll make the other options--tone generation, echo cancellation, noise reduction, and serial ports 1 and 2--configurable at both build time and run time. The two serial ports are build-time-configurable options because we want to enable only as many as are necessary, since serial ports are usually tied to DMA buffers. Similarly, we may want to enable or disable other on-chip peripherals.

Now comes the bulk of the work. Given our configurability requirements, we need to perform three tasks:

  • Design and implement the configurable ASSP interface that supports all possible configurations. This is usually in the form of an API that's intended to run on the host processor and communicate with the DSP via the host port interface.
  • Design and implement the application, once again supporting all possible configurations. Note that portions of the application code will be modified by the CAD tool discussed below.
  • Design and implement an automated process that makes it fast and easy to configure and build a new DSP software image.

The first two items need no further explanation. The third item, the automated process, is the stage at which the CAD tool is used in the ASSP design process. It does the following (Figure 2):

  1. Gathers build-time options
  2. Modifies the application code based upon the build-time options
  3. Builds the DSP image

Thus we can create a custom ASSP software image in a matter of minutes.

Figure 2
The user—the person configuring the ASSP—enters configuration information into a configuration program, which feeds the information to the configuration builder to create application-specific code. The code is compiled and linked with ASSP application and algorithm libraries to create the ASSP software image.

configuring ASSP

Sample ASSP Configuration

Build-time-configurableRun time-configurable
Conference algorithmalways presentX
DTMF detectionalways presentX
Tone generationXX
Voice recordingalways presentX
Voice playbackalways presentX
Echo cancellationXX
Noise reductionXX
Serial port 1XX
Serial port 2XX

BIO

Scott Kurtz (Scott.Kurtz@adaptivedigital.com) is the vice president of engineering at Adaptive Digital Technologies, Inc. in Conshohocken, Pa., where. he has focused on building an engineering team and developing DSP-based software products and technology to accelerate and improve Adaptive Digital's product development. He has specialized in digital signal processing and digital communications over the course of his 21-year career, beginning at RCA's Government Communications Systems Division. At InterDigital Communications Corporation, he was instrumental in developing the first digital wireless local-loop telephone system, the precursor to today's digital cellular telephone systems. He holds 14 patents.

Previous Page | Next Page
1 | 2 | 3 | 4 | 5 | 6

If you found this page useful, bookmark and share it on:

 
Embedded Star Newsletter
Don't have time to visit Embedded Star everyday? Then sign up for our free newsletter. We'll send you an email when we have something to share with you. Your email address will be kept confidential and we will not share, sell, or rent it to anyone. You can unsubscribe at any time by clicking a link in the email.

Enter your email address to sign up for our free newsletter:   

If you are familiar with RSS feeds, you can also sign up for our free blog feed. Our RSS feed is updated in real-time while our newsletter is updated daily.