Home Projects/Research Programs/Examples Classes Personal Info Email

 

NFS CCLI-A&I

Digital Signal Processing Laboratory for Real-Time Systems Design and Implementation

Project Summary

It is the goal of this proposal to develop a laboratory that supports the design and implementation of real-time systems.  This laboratory supports a three course sequence in DSP with accompanying hands-on laboratories.  The first course focuses on DSP fundamentals and DSP algorithm implementation.  The second course deals with real-time DSP issues such as real-time operating systems (RTOS), DSP architectures, parallel processors, system and software design issues, optimization, and programming techniques.  The third course extends the fundamentals and real-time issues to adaptive signal processing topics that require real-time processing. 

Material adapted in the DSP courses will come primarily from three sources: 1) DSP Fundamentals course offered at the University of Massachusetts at Dartmouth, 2) the two courses Real-Time DSP Design and Adaptive Filtering offered at Georgia Institute of Technology and 3) DSP Teaching Kit and Design Workshop notes developed by Texas Instruments.

Project Goals and Objectives

The major objectives of this project are to:

  • Enhance student learning of DSP fundamentals
  • Enhance student learning in the design of real-time embedded digital systems

In order to help achieve the given objectives this project proposes to do the following:

  • Upgrade the hardware and software in the DSP/Communications laboratory
  • Adapt existing laboratory exercises into the DSP I course

DSP laboratory hardware/software upgrade

The plan for the laboratory was to outfit ten workstations with TMS320C6x DSP chip based processor boards.  It was decided that since the TMS320C6x DSP is becoming so popular and supported that it would be in the best interest of the students to have the same hardware for all DSP courses.  Because of this it was decided to obtain ten TMS320C6701 DSP EVM boards.  These ten boards have been installed and tested.

Software for the DSP boards includes Code Composer Studio (CCS) and the DSP/BIOS II.  Also in the laboratory is MATLAB/Simulink and System View by Elanix.

DSP laboratory assignments adaptation and implementation

DSP I Course

For the DSP I course laboratory assignments were received from Rulph Chassaing at the University of Massachusetts at Dartmouth as well as workshop notes and code he has developed for Texas Instruments.  Notes for workshops given by Texas Instruments were also obtained.

These materials were adapted for use in the DSP I course.  Eight laboratory assignments were developed as well as a base set of code for use with the TMS320C6701 EVM boards.  Note that the handouts and the example code below use CCS 2.0 and the TMS320C6701 EVM boards.  The laboratory assignments are listed below with links to the MS Word handouts.

  1. Assembly programming basics (linker command files, link, build, step through code, addressing modes, parallel instructions, conditional operations, delay slots, register file cross paths, etc.)
  2. C programming basics (compile, link, build, step through code, etc.)
  3. Real-time processing using polling (implement echo generation)
  4. Real-time processing using interrupts (implement generation of a sinusoid output)
  5. Spectral inversion (voice scrambling)
  6. FIR filtering
  7. IIR filtering
  8. Adaptive filtering (Active noise cancellation)

To aid the students in learning to use the TMS320C6701 EVM some example projects were developed.  These projects were the basis for student projects that processed data using the on board CODEC.  The projects and files (which you may download) are given in ZIP files below.

  1. Polling project (CCS v2.0)
  2. Interrupt project (CCS v2.0)
  3. CODEC setup files, needed for the above projects

These projects have been tested and used by students.

Previously CCS v1.2 was used.  The polling and interrupt projects for CCS v1.2 are also available.

DSP II Course

The outcomes for the DSP II course are for the student to be able to

  1. Use a software design methodologies.  Processes such as the waterfall life cycle or COMET are followed.  Designs are done using CODARTS or other method like UML.
  2. Use a RTOS in a system.
  3. Develop a real-time DSP system.

Material for the laboratory came primarily from the Texas Instruments documentation and workshop notes.  Several laboratory assignments have been developed to help the student understand the CCS and the DSP/BIOS II RTOS.  The modules are given below.  These lab assignments are still in a development stage.  Some have been tested by students and some have not.

  1. CLK (MS Word) (PDF)
  2. STS (MS Word) (PDF)
  3. LOG (MS Word) (PDF)
  4. PRD (MS Word) (PDF)
  5. HWI (MS Word) (PDF)
  6. SWI (MS Word) (PDF)
  7. TSK and SEM (MS Word) (PDF)
  8. Implicit Instrumentation and Kernel/Object View (MS Word) (PDF)
  9. PIP (MS Word) (PDF)
  10. MBX (MS Word) (PDF)
  11. QUE (MS Word) (PDF)
  12. SIO (MS Word) (PDF)
  13. RTDX (MS Word) (PDF)

Presentations/Publications

  1. Waldo, David J., "Advanced DSP for Undergraduates at a Small University," DSPS Fest 2000, August 2, 2000. (PDF format)  PowerPoint presentation is also available.
  2. Waldo, David J., "DSP Laboratory for Real-Time Systems Design and Implementation," in Proceedings of the 2001 American Society for Engineering Education Annual Conference & Exposition. (Microsoft Word format)
  3. Waldo, David J., "Real-time DSP System Design Course and DSP/BIOS II," presented at the TI Developer Conference, 2002.  PowerPoint presentation. (PPT, 1.3M)

 

This page last updated 7/3/2002.

This material is based upon work supported by the National Science Foundation under Grant No. 9952720

Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect those of the National Science Foundation.