Why I Chose the FleXDS
DSPR has a strong reputation for providing best-in-class
development emulators & EVMs for TI’s latest-generation ‘C54x and
‘C6x DSP Core(s). DSPR’s new FleXDS expandable emulator offered just
what we needed at a fraction of the cost of a custom-built
development platform.
The FleXDS PCI emulator expands to a full ‘C5420 EVM with the
simple addition of a DSP daughter module. It further expands to an
application test bed with the addition of an I/O daughter module.
Furthermore, it converts to a ‘C6x EVM to support our
next-generation development with the simple purchase of replacement
expansion modules from DSPR.
These expansion features allow me to ensure that an algorithm
will run on a target TMS320 DSP, and to test the algorithm in
real-time with an actual audio input signal.
What’s more, the FleXDS modular design provides me with a reusable
EVM, protecting my development-suite investment.
Why I Chose Code Composer Studio & SystemView
To round out my development suite, I needed a visual design,
development & debug environment for real-time analysis that was
fully optimized for the ‘C5420 DSP and that worked well with the
FleXDS.
Code Composer Studio for the ‘C54x from Texas Instruments (www.ti.com)
and SystemView with Real Time DSP Architect™ from Elanix (www.elanix.com)
were my immediate choices. Fully optimized for Texas Instruments
‘C54x DSPs, these tools make it possible to test and debug
algorithms in real time.
SystemView extends the Code Composer Studio visual development
environment with tools for real-time analysis, debug, validation and
optimization of ‘C54x algorithms. Using these tools together allows
me to actually set break points in the Code Composer Studio
debugger, execute the system in SystemView and run/debug the
application in real-time on the FleXDS EVM.
The interface between SystemView and Code Composer Studio
consists of source, sink, and general blocks in a DSP library. These
blocks provide real-time access to an application running on the
FleXDS through the Real Time Data Exchange (RTDX) component of Code
Composer Studio.
In addition, SystemView supports signal generation, allowing me
to send signal data to the FleXDS for real-time processing. It also
provides hardware-in-the-loop simulation and data acquisition,
allowing me to link in the FleXDS for software design validation and
acquire real-time signals from the FleXDS for post processing and
analysis within SystemView. These features provide the ideal design
& debug environment for GSM-AMR and other applications . . . and
proved invaluable to my project.
How I Used the Tools
The tight interaction between SystemView, the Code Composer
Studio Debugger, and the FleXDS EVM allowed for rapid design debug
of the ‘C5420-optimized GSM-AMR.
Using Code Composer Studio, I quickly developed a test program
linking the GSM-AMR algorithm. In less than an hour, the program was
compiled, tested and found to be well within the internal memory
capabilities of the ‘C5420.
Next, using CS4816 audio codec (ADC/DAC) libraries supplied by
DSPR, I developed an interface to the dual channels of the FleXDS
CS4816 Audio I/O Module.
To test the codec interface, I connected identical audio I/O
equipment to each channel (Figure 1). The FleXDS I/O module
digitized both channels of incoming audio. The digital output of the
left channel was immediately re-converted to audio and returned to
the stereo output on this channel. The digital output of the right
channel was directed over the FleXDS data bus to the FleXDS ‘C5420
module, where it was encoded -- then immediately decoded -- by the
GSM-AMR algorithm running on the ‘C5420. The decoded output was then
returned to the FleXDS I/O module, re-converted to audio, and sent
to the stereo output on this second channel.

Figure 1. FleXDS configured as an EVM.
Using the FleXDS in this way made it possible for me to
demonstrate that the GSM-AMR codec properly encoded and decoded the
digital audio. It also allowed me to perform quantitative and
qualitative analyses and measure the processing delay. One other
test and evaluation, however, was still needed.
In a base station such as our target system, voice typically is
received as a Pulse Code Modulated (PCM) encoded digital data
stream. Therefore, I also needed to test the algorithm against the
PCM-encoded audio that we intended to use, and perform a timing
analysis of the algorithm.
To do this, I used SystemView from Elanix to encode various audio
*.wav files into G.711 PCM encoded audio.
The binary data was then streamed to the FleXDS ‘C5420 module
using the Real Time Architecture (RTA) interface between SystemView
and Code Composer Studio.
[The Elanix ‘C5420 interface was easily implemented using TI’s Real
Time Data Exchange (RTDX) libraries for the ‘C54xx.] This allowed me
to test a variety of audio inputs as well as use the execution
timing facilities inherent in Code Composer Studio.
To evaluate the output, I connected headphones to the FleXDS I/O
Module and also saved the output to a binary file for further
waveform analysis with SystemView (Figure 2).

Figure 2. Elanix Waveform Analysis Screenshot.
In Summary . . .
The FleXDS helped reduce my development time and costs. Used in
concert with SystemView and Code Composer software, FleXDS enabled
me to gather timely information that was crucial for our algorithm
and wireless application development.
For future versions of our product, the COTS GSM-AMR algorithm
will be re-written to support the ‘C62xx. As soon as the COTS
algorithm is available, we plan to repeat the test-and-development
processes described above. We are confident that -- with a few
economical ‘C6x upgrades to our FleXDS, SystemView, and Code
Composer suites of tools -- we will have everything we need to make
our product port a breeze.