ECE 4760: Laboratory 2

DTMF generator.


You will construct a standard Dual Tone Multi-Frequency (DTMF) generator like those used on any tonch-tone or cell phone. The system will record up to 12 digits, then play them back to simulate redial. To do this you will have to use Direct Digital Synthesis sampling at a fairly high rate to a DAC, then to speakers.


You will use a keypad to make a DTMF dialer with audio output to a speaker. Analog output will be through a SPI contorlled DAC. The analog signal will be DTMF sine wave bursts generated using Direct Digital Synthesis (DDS) technique. An example on the DAC page (PWM example 3) shows how you might implement a DDS, but remeber that you are not using PWM output, so you will have to merge this example with the SPI DAC example below. Your DDS unit must resolve 256 table entries. For this lab, you will need to modulate the amplitude, and you will need to run two simulaneous DDS units and sum them. The sine wave table will need to be scaled to prevent overflow.


  1. Write a Protothreads C program which implements a DTMF generator with the following specifcations:
  2. Connect the circuit to a speaker audio input (green phone plug) and listen the output. This will aid in debugging and is required for the demo.
  3. Demo this program to a staff member. Show that all specifications are met by verifying frequencies with an oscilloscope.
  4. Your written lab report should include the sections mentioned in the policy page, and :


Copyright Cornell University September 11, 2015