EE 424 Laboratory

wpe1.jpg (1657 bytes)logoti.gif (1532 bytes)

Home Topics & Reading Homework Quizzes Labs Projects Calendar

Lab Documentation

This lab will use the Texas Instruments TMS320C5416 DSK board, a fixed point DSP processor.  

Electronic copies of documentation for this board can be found below. DO NOT PRINT these out on the lab printer. Use only the electronic form.  For more information on the C54, see the TI website.

USEFUL TECHNICAL DOCUMENTATION:

TMS320C5416 Digital Signal Processor Data Sheet (C:\ti\docs\hlp\C5416DSK.HLP)

TMS320C54x DSP Functional Overview (SPRU307A)

TMS320C54x Code Composer Studio Tutorial (SPRU327C)

TMS320C54x Code Composer Studio User's Guide (SPRU328B)

TMS320C54x Assembly Language Tools User's Guide (SPRU102E)

TMS320C54x Evaluation Module Technical Reference (SPRU135)

TMS320C54x Optimizing C/C++ Compiler (SPRU103f)

TMS320C54x DSP Ref. Set Vol. 2: Mnemonic Instruction Set (SPRU172C)

USEFUL APPLICATION DOCUMENTATION FOR LAB EXERCISES:

A DSP/BIOS PCM3002 Codec Device Driver for the TMS320C5416 (SPRA855)

An Audio Example Using DSP/BIOS(SPRA598)

TMS320C54x Digital Filters(SPRA699)

IIR Filter Design on the TMS320C54x DSP Application Report (SPRA079)

Implementing a Line-Echo Canceller Using Block Update & NLMS Algorithms- 'C54x (SPRA188)

DTMF Tone Generation and Detection on the TMS320C54x (SPRA096)

TMS320C54x DSP Ref. Set Vol. 4: Applications Guide (SPRU173)

Lab Instructions

Lab report description for the DSP labs.

 

Lab Assignments

Lab 1:    Learn to use Oscilloscope with FFT module and noise generators (1 week) (Lab 1 validation sheet)

Lab 2:     Image Processing Lab

Lab 3:     Introduction to the Texas Instruments TMS320C5416 DSK Board, how to load and run C programs using Code Composer.  In this lab you will be introduced to the Hardware and software used in this course.  The TMS320C54x Code Composer Tutorial book will develop your familiarity on how to best utilize the  tools available.  You are to:

Go to C:\ti\docs\hlp\C5416DSK.HLP. Make sure you go through the reading of the hardware and software overview.  Go to the Software Overview --> BSL API Summary --> Codec API.  This will be useful in future labs to understand how the API may help in writing the Audio I/O streams for the DSP applications.   

Read Chapter 1: Code Composer Studio Overview.

Complete the labs in Chapter 2, 3, 4 and 6.

NOTE: Make sure to copy each file and include it into your own folder ( in your U:\ drive).  Do not use or edit the files directly from the c:\ti folder, for that will corrupt the file for other students.  Partners may share a file from one specified U:\ drive.

If you do not want to go through the c:\ti route you can simply unzip the necessary files below.

Chapter 2 code files: Developing a Simple Program.

Chapter 3 code files: Developing a DSP/BIOS Program.

Chapter 4 code files: Testing Algorithms and Data from a file.

Chapter 6 code files: Analyzing Real-Time Behavior.

***WARNING:  The C5416 DSK board has two audio inputs and two audio outputs.  If you streaming an audio input from you CD player or the CPU use the Line In port.  If you are listening to the output signal with your earphones use the Line Out port, but if you are using the Speakers use SPKR Out.  Not doing so could potentially damage the C5416 DSK boards.  Thanks *****

 

Lab 4: These are the important files that you will need to compete the Audio Effects experiment, on the C5416 DSK board.  ( The code was written and developed by Prof. Richard Sikora).

TMS320C5416 DSK: Installing the Applications for section 2a

Useful Problem and fixes offered by Prof. Richard Sikora

Files for the Audio Effects Experiment:

Template

Delays and Echo

Reverberation

Electronic Crossover

Note: You can use the LED/Switch Diagnostic to understand how the DIP switch value scheme works.

Simple Audio effects lab, Please bring a portable CD player to the laboratory this week. The lab will consist of audio effects that sound much better with music than with sine waves. Read section 8.2.1 in textbook about delays, echos, and comb filters. Read section 4.2.4 of the textbook to introduce the concept of circular buffers.

simpledelay.m example m-file for plotting spectral response and filtering a .wav file.

things8k.wav , john120k.wav- sample .wav files sampled at 8 Khz.

 

Lab 5: FIR & IIR filters and Equalizers

evminit.c - contains routines to initialize the EVM boards, used for all programs in this lab

IIRbiquad.c - c code implementation of an FIR filter with arbitrary coefficients

This is a two week lab, the first section is implementing FIR and IIR filters using Matlab.

Skip Part 3, of the Lab 3 document.

The second section was provided by Prof. Richard Sikora.

Read the following lab document:  Lab 5

These are the necessary files needed to complete the lab

FIR labs : FIR lab 1 , FIR lab 2

IIR labs: IIR 1

Complete each project and explain what were the purposes of the functions and how they worked.

How would you modify each project to create your own filters at your desired frequency ranges?

Use the Mnemonic Instruction Set (SPRU172C), to figure out how to use the FIRS instruction set.

 

Lab 6:  Speech Signal Processing Lab - In this lab you will do some simple speech processing.  You will work through the exercises in the handout you receive from the TA.  The files you will need are found here

 

Lab 7:    Adaptive Signal processing lab

Basic adaptive filter theory and principles (Primarily written by Mr. Eric Abell)

Lab Description ( lmsfilter.m lms filter code in Matlab)

Part 3 Lab Description

***For this lab, you will only do parts 1(Unknown System Implementation) and 2(Adaptive Filter Implementation in Matlab).  Answer all questions in those sections and hand in your Matlab code and plots.  

The next set of labs will be modified where the students will start writing DSP programs on the C5416 DSK board, review the codec API, run the tone example lab to understand how you could create signals on the board and output them to the speaker/line out port.

 

   Lab 8: Writing DSP applications on the C5416 DSK board:

The students will start to learn how to write the DSP programs that they have been running on the DSP boards.

We will start by writing simple DSP applications such as the Echo, Reverb, and Delay.  Then move to FIR and IIR filter applications.

The programs will be initially written on a C compiler platform, to test your code.  Since you will not have the opportunity to read in audio files.  You will have to convert your .wav file to a data file using Matlab.  Once you have modified the data file with your application program, you can convert that file back to a .wav file.

Here is the file you will need to carry out this conversion: WAV conversion Help File

Once you have completed that section you will have to carry out the same process on the DSP board.  Here you can stream a audio file into the board and alter the file with you DSP application program.

For that you will have to write a general audio loop-back program, then modify it for your  DSP app.

Here is a sample program using the APIs of the C5402 DSK, you can modify it for the C5416 DSK ( look at the help files on the codec APIs).  Another good help note is the tone example lab and the provided code for the Audio Effect lab using the DSP board. NOTE:  The program is simple, you could cut the code in lab 4, to meet your specifications.

    

Lab 9: IIR Comb Notch Filter

 Here is some help on understanding how notch and comb notch filters work: Help Document (the information was obtained from Dr. Dickerson notes)

You are to first write Matlab programs for Comb Filters using 2 to 24 delay elements at a 48kHz sampling rate.  Here is a document from Prof. Richard Sikora on what the diagrams should look like : Diagrams

Here are some sample help Matlab files: File 1 ( Richard Sikora), File 2

Part 2 is running this on the DSP board using the following files ( supplied by Prof. Sikora)

Requires Files

The code implements up to 96 delay elements in the comb_filters.C file.

Element how this works and what was the function of the comb.C file.

Modify the code by changing the delay elements

 

Lab :  Introduction to the TMS320C5416 DSK Assembly Code Language:

This lab was provided by Randy Restle/Prof. Caffery of the Dept. of ECECS University of Cincinnati ( ECECS 644 DSP Labs)

Read the following lab document: Lab 7

These are the necessary files needed to complete the lab: Files for lab 7

Follow all of the instructions and answer all of the question indicated.

Some useful documents can be found in the following link:  Helpful docs.

Another helpful tool would be the:

 Mnemonic Instruction Set (SPRU172C)

Assembly Language Tools User's Guide (SPRU102E)

They will have good examples on how to use the assembly directives.

If you are still having problems with the lab, here is a helpful lecture note developed by Prof. Caffery: Helpful Lecture note

 

 

Lab : Streaming into and out of the DSP Boards:

This lab will be an advanced version of Chapter 4 of your CCS Tutorial Handbook.

This lab was provided by Randy Restle/Prof. Caffery of the Dept. of ECECS University of Cincinnati ( ECECS 644 DSP Labs)

Read the following lab document: Lab 8

These are the necessary files needed to complete the lab: Files for lab 8

Start at Section 4 of the lab.

 

***For this lab, you will only do parts 1(Unknown System Implementation) and 2(Adaptive Filter Implementation in Matlab).  Answer all questions in those sections and hand in your Matlab code and plots.  

 

Special Thanks:

Thank you for all of your support in developing these labs.

The  new CCS codes were provided by the following individuals:

Richard Sikora's TMS320C5416 DSK Laboratories

The  previous CCS codes were provided by the following individuals:

Prof. Teresa H. Meng of the Dept. of EE Stanford University: EE 265

Randy Restle/Prof. Caffery of the Dept. of ECECS University of Cincinnati: ECECS 644 DSP Labs

Dr. Steven A. Tretter of the Dept. of EE and CPRE University of Maryland: ENEE 428W

 

 

Lab Information

Location:    Coover 3113 
Times: 
Lab TA:
 
TA Office: 
Office Hours:
If you have problems with the appearance of the equation fonts on the pdf documents, please download the mathtype fonts: http://www.mathtype.com/support/fonts/default.stm

Lab Equipment  

Money and equipment to build this laboratory has been graciously provided by the Rockwell Foundation. The DSP boards and software were donated by Texas Instruments. The computers and software come from your engineering student computing fees.  Thank you to everyone involved for making this lab work.

Page Last Updated November 11, 2003