Title: Migrating an Academic DSP Lab from the C30 to the C67 EVM
1Migrating an Academic DSP Lab from the C30 to the
C67 EVM
- by Keith Hoover,
- Dept. of Electrical
- and Computer Engineering,
- Rose-Hulman Institute of Technology,
- Terre Haute, Indiana
- Keith.E.Hoover_at_Rose-Hulman.Edu
2Goals of this Presentation
- Discuss pros and cons of migrating academic DSP
lab from C30 to C67. - Briefly describe 3 RHIT courses that use C67.
- Describe the C67 DSP Projects course in detail.
- All C67 EVM DSP Projects course handouts are
available for download at www.rose-hulman.edu/
hoover/
3The Thrill of RAW Power...
- Who could resist the chance to upgrade their DSP
lab from an old 60 MIPS TMS320C30 DSP board to a
new 1600 MIPS C67 EVM? - After all. the C67 EVM is not much more expensive
than the C30! - TMS320C3X EVM 995 (List), 695 (Univ.)
- TMS320C6701 EVM Bundled with CCS EVM tools
2495 (List), 1495 (Univ.) - Source of EVM Prices www.ti.com/sc/docs/gen
eral/dsp/programs/toolweb.htm
4Bottom Line
- 27X increase in raw computing power, with only
2.2X increase in cost! - But thats not all...
- Consider the added bonus of having much more
on-board RAM, and a really powerful integrated
code development environment (Code Composer
Studio!) bundled with the C67 EVM!
5Code Composer Studio IDE
- CCSs incredibly rich features include
- Code Editor
- Code Gen C6x Compiler/Assembler/Linker
- Debugger Download/Single Step/Breakpoint
Watch Window, host console I/O
code profiling, simulator, graphing. - DSP/BIOS Probe/Trace/Monitor/Data Streams
- RTDX (Real time data exchange) High-level host
interface exchanges data with standard PC
applications, such as LabView or Excel.
6Are you sold on upgrading your DSP Lab to the
C67 EVM?
- A WORD OF CAUTION you need to plan CAREFULLY
before you take the C67 plunge! - Compared with our C30 boards, there is so much
more for us to learn! And we are still learning
after one year.
7Our Original C30 DSP Project Course was able to
Teach it all in one 10-week Quarter,
including....
- C30 DSP Architecture
- Assembly Language Programming
- C30 C Language Programming
- Analog I/O Interrupts DMA
- PC/DSP Communication
- High-level DSP tools (DSPWorks, QED Filter
design, code generator) - Weekly Projects Final Term Project.
- C30 DSP Boards from 3rd Party Mfr. (These 6-year
old C30 boards are no longer manufactured or
serviced.)
8But a price had to be paid for making the raw
power of the exciting, state-of-the-art C67 DSP
hardware and the sophisticated features of the
bundled Code Composer IDE available to our
students
- The price we paid was not economic.
- It was one of information overload!
- No longer could we successfully teach it all in
a single 10-week course!
9Teaching the C67 EVM is like flies on an
elephant...
- We are the flies.
- The C67 is the elephant!
10None of us flies can possibly see the whole
elephant at once. Depending on where we land on
the elephant, each of us can get a very different
idea of what the elephant is all about!
11Some challenges presented in migrating from C30
to C67....
12 Example 1. Manuals needed to Program C30 EVM
13A few of the Manuals Needed to Program the C67
EVM Board! (This is NOT all of them!)
14Then you need a book that tells you what the data
books say!
- C6x-Based Digital Signal Processing
- by Nasser Kehtarnavas
- Burt Simsek
- Prentice Hall 2000
15- Example 2.
- C30 board communicated with PC via simple
memory-mapped pass-through registers. - C67 EVM can communicate with PC via a much more
flexible (that means more complicated!) AMCC
Matchmaker PCI controller chip, this chip
transfers data pass-through registers, or
mailbox registers, or FIFO registers.
16Example 3. The C67 EVMs stereo A/D and D/A
converters on a flexible Crystal Semiconductor
CODEC chip, ---which requires a 76-page data
manual!
17We solved the C67 information overload problem
by breaking our C67 instruction into the
following three, somewhat independent, 10-week
(1-quarter) courses
- EC332 Computer Architecture II (Yoder)
- C67 good example of modern parallel pipelined,
VLIW CPU architecture. - C67 assembly language programming
- Assembly optimization
- Software pipelining
- Writing optimized C code
- Use of Code Composer Studio (simulation)
- Based on TIs C62xx DSP Design Workshop course
notes.
18- EC597 Real-Time Systems Programming (Yoder)
- Patterned after TIs Real-Time Software Design
Workshop course notes. - Focuses on real-time programming concepts that
promote more efficient real-time DSP programs,
such as double-buffering, event scheduling, data
profiling, DSP/BIOS I/O and data analysis, RTDX
(real-time date exchange) capabilities. - Does NOT dwell on the signal processing
algorithms themselves. - Significant term project required. (Ex broom
balancer, MPEGII audio decoder, phased microphone
array, image recognizer, internet telephone.)
19EC581 DSP Projects (Hoover)
- DSP Theory Class is prerequisite.
- Focuses on real-time implementation of common DSP
algorithms previously studied in DSP theory
course. - No Assembly Required! (Only C67 C-language and
MSVC are used.) - Independent of other two C67 classes, thus the
emphasis is on writing simple, working C code
rather than on writing optimal code.
20EC581 (DSP Projects) consists of three
components...
- Nine single-week projects (2 person teams)
- Classroom demonstrations of selected topics of
interest - Term project.
- All reports are memo-style with all
programs, data, and data analyses included as
attachments.
21EC581 Meetings
- Two lecture hours per week (to discuss the weeks
lab and demonstrate advanced topics) - One 3-hour scheduled DSP lab per week.
- Students expected to work in DSP lab on a walk-in
basis for approximately six additional hours per
week.
22List of Weekly DSP Lab Projects
Each of these lab handouts (MS Word 97) may be
downloaded at
http//www.rose-hulman.edu/hoover/
- 1. Code Composer familiarization. Audio
sampling, study of effects of quantization on
speech recognition, reverberation, comb filter,
flanger - 2. FIR filter design (MATLAB). Real-time
floating and fixed-point FIR filter
implementation. - 3. IIR filter design (QEDesign). Real-time
implementation. Implementation of Wah-Wah audio
sound effect.
23- 4. Digital automatic gain control with silence
threshold. - 5. Audio VU meter with separate target and host C
programs communicating through PCI interface via
FIFO register. - 6. Radix-4 FFT real-time audio spectrum analyzer.
- 7. MATLAB narrow-band noise reduction via
adaptive filtering. (Once MATLAB LMS adaptive
filter works, implement in real-time on C67 EVM.)
24- 8. Use of Hyperception RIDE 4.2 to perform
real-time C67 EVM-based digital filtering and
audio scrambling and descrambling via spectral
inversion. - 9. DSP Scavenger Hunt - Use RIDE 4.2 digital
filtering and LMS noise reduction to reduce noise
level in various noise-polluted audio clips that
indicate the location of 5.00 bills hidden
around campus! First come, first served!
25- 10. Term Project (to be chosen by student)
- Example Projects Done in Past
- Real-time audio spectrum analyzer
- Ultrasonic chirp radar
- Touch-tone DTMF decoder
- Guitar Tuner
- Voice-operated security lock
- Underwater voice communication system using
ultrasonic-carrier - Guitar effects box
26Special Class Demos
- M.S. Students describe DSP their DSP-related
thesis work. - Present theory of Linear Predictive Coding and
show EVMC30 board 2400 bps LPC demo. With pitch
shifting, whisper effects! - We need this wonderful C30 LPC demo ported to
C67!!
27Pros of migrating from C30 to C67 EVM-based DSP
Projects
- Students more motivated to work with
state-of-the-art DSP. - Code Composer Studio offers superior source-level
debugging environment. - Giving the students the sampling template
program to work from allows them to concentrate
on DSP algorithm development and not get lost in
the forest (details of CODEC and McBSP serial
port configuration) for the trees!
28- Real-time DSP algorithms not as time critical
due to the faster speed of C67. - C67 EVM will most likely remain supported for
longer time than if we had bought new C30 boards
at this time. - New DSP laboratory textbooks will probably focus
on the C67, not the C30. - Dealing with C67 EVM complexity is probably good
preparation for the technological challenges that
lie in the future. (These NOT getting any
simpler!)
29Cons of migrating from C30 to C67
- INFORMATION OVERLOAD! Need for several C67
classes. Learning time (for students AND for
instructors) is long compared to C30. - Increased reliance on soft manuals in .PDF --
hard to work with (though free to students!) - Code Composer does not appear to be stable under
Win 98 -- we could only Win 95 or NT! - As an EE, I dont like getting so far away from
the hardware level.
30- C67 EVM communicates with PC running Microsoft
Visual C. - Just as going from the C30 to the C67 has become
an order of magnitude more complicated, so has
Microsoft C become an order of magnitude more
complex. - With the latest version of MSVC, it is a majore
challenge to write anything more than a simple
MSVC console application.
31- Conclusion
- The C67 DSP board has successfully provided our
- students with three different and valuable
- kinds of lab experiences in three different
courses - Low-level Architecture and Assembly Programming
- Mid-level DSP Project Applications
- High-level Real-time Programming Issues
- Though not without its frustrations, we realize
- that no road that leads into the future is
smooth.
32We feel that the C67 EVM will be an excellent
vehicle with which we can ride into the future
with our students over the next five years!
33(No Transcript)
34(No Transcript)
35(No Transcript)