1 / 35

Migrating an Academic DSP Lab from the C30 to the C67 EVM

Migrating 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@Rose-Hulman.Edu. Goals of this Presentation :.

gilead
Download Presentation

Migrating an Academic DSP Lab from the C30 to the C67 EVM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Migrating 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@Rose-Hulman.Edu

  2. Goals 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/

  3. The 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/general/dsp/programs/toolweb.htm

  4. Bottom Line: • 27X increase in raw computing power, with only 2.2X increase in cost! • “But that’s 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!

  5. Code Composer Studio IDE • CCS’s 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.

  6. Are 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.

  7. Our 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.)

  8. But 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!

  9. Teaching the C67 EVM is like flies on an elephant... • We are the flies. • The C67 is the elephant!

  10. None 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!

  11. Some challenges presented in migrating from C30 to C67....

  12. Example 1. Manuals needed to Program C30 EVM

  13. A few of the Manuals Needed to Program the C67 EVM Board! (This is NOT all of them!)

  14. Then 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”.

  16. Example 3. The C67 EVM’s stereo A/D and D/A converters on a flexible Crystal Semiconductor CODEC chip, ---which requires a76-page data manual!

  17. We 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 TI’s C62xx DSP Design Workshop course notes.

  18. EC597 Real-Time Systems Programming (Yoder) • Patterned after TI’s 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.)

  19. EC581 DSP Projects (Hoover) • DSPTheory 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.

  20. EC581 (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.

  21. EC581 Meetings • Two lecture hours per week (to discuss the week’s 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.

  22. List 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

  26. Special 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!!

  27. “Pros” 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!)

  29. Cons 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 don’t 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.

  32. We 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!

More Related