ECE445 Assignment 2 (due 16 Feb 1999)

You can do the assignment as groups. Each group should submit one set of documentation. Do the exercises corresponding to your group's hardware. Be prepared to demonstrate your accomplishments in class on the due date.

TMS320C3x DSP Starter Kit

  1. Write a program for the DSK to generate an impulse train consisting of a 1 volt (or so) sample output to the D/A converter followed by N-1 zeros, where N is a variable that can be modified in the debugger. FIR.ASM makes a good starting point.

  2. Modify FIR.ASM to implement one of the FIR filters described in Chapter 5 of the textbook. Demonstrate its performance by
    1. measuring its impulse response in two ways. First, use the impulse train generated above by another DSK. Second, use the signal generator to produce an impulse train.
    2. measuring its frequency response by manually sweeping the signal generator and using the oscillosope to determine the AC response of the DSK.

  3. Write a program for the DSK to produce a sinuosoidal chirp signal (frequency modulated sine wave). Use DSKSG.ASM as a starting point. Given
    Freq = A(1) * sin( F(1) * t),
    generate output
    A(0) + A(2) * sin((F(2)+Freq)*t).
    You should be able to keep DSK_SG.EXE as a control program that allows you to input values of A(i) and F(i). Capture some examples of your output on the oscilloscope.

  4. Create a low-pass FIR filter to capture the envelope of the output from the filter you generated in task 2 using the the sinusoidal chirp signal generated in task 3. The output from this filter should measure the frequency response of the test filter.

BASIC Stamp

The following tasks assume your Stamp is installed in the Stamp Activity board and the LTC1298 A/D converter is installed in socket A.

  1. Use RCTIME to measure light level using a CdS photocell. Your output should be proportional to light level (0 = dark, 65530 = bright).

  2. Study the signal output capabilities of the BASIC stamp. These include PWM, FREQOUT, and DTMFOUT.
    1. Run your triangle ramp from the previous assignment through the RC filter on the activity board.
    2. Run the ppiano.bs2 program and the "marylamb" program from p 265 of the Stamp manual.
    3. Examine the output of FREQOUT on the oscilloscope with and without the RC filter on the activity board.
    4. Write a program to play a telephone number sequence through the activity board speaker (DTMFOUT).

  3. Verify the operation of the LTC1298 by inputing a series of at least five known voltages (measured on a multimeter) from 0.5 to 4.5 volts. Capture 16 samples for each voltage and determine the average, rms deviation, and range (max-min) of each measurement. Plot the deviation of the average value from the known value as a function of voltage.

  4. Write a program to capture 10 values in rapid succession. Note that you only have 13 words of RAM to play with. After capturing the values, display them on your output screen. Use a triangle wave as an input function, and fit a straight line to the 10 output values. Use this information, plus the known frequency and magnitude of the triangle wave, to determine the sample rate of your program. Finally change your program to use a FOR..NEXT loop to gather samples. How does this change the sample rate?

  5. Write a program to read the LTC1298 without using the SHIFTIN and SHIFTOUT functions. See Stamp Application #4 and p 183-188 of the Stamp manual as a guide. Of course, these were written for Stamp1 and not for Stamp2, and the pin connections on the activity board are different. Write a report describing the method used for serial output on devices such as the LTC1298.

You should submit documentation of your hardware (breadboard circuit) and software, including program listings.


Maintained by John Loomis, last updated 4 Feb 1999