CAPSTONE Demonstration Radio TiVo FPGA Thundercats: Hariklia Karagiannis Hasina Jamal Osato Edo-Osagie Brad Mazan Chad Griffith Problem Overview • When a radio listener misses a traffic report or wishes to replay a song that had just passed on the radio, there is no way to go back and re-listen. • Radio TiVo is intended to rewind, pause, and playback audio from a radio device. Interface Audio Input (Radio, MP3 Player, CD Player, etc.) Radio TiVo Buttons User LEDs Audio Output (Earphones, Speakers, etc.) Controls & Operations 4 1 2 3 Vol. 1. Rewind by Increments (Hold < 3 sec) Reverse (Hold ≥ 3 sec) 2. Pause/Play(Unpause) 3. Jump to Live 4. Volume Block Diagram Radio TiVo Front Panel Input Volume D/A Converter A/D Converter Audio Source AUX Input Vin D1 GND D4 Smoothing Filter D7:0 OUT1 CS OUT2 Vref Input_Data(12:0) Amp Sign Reset ENB ADC_Controls Reset Jump Begin Jump_Begin Play Play RFB Front Panel Output DAC_Controls LED Control Power LED Power_LED FPGA Pause Rewind XFER Output_Data(12:0) Rewind Pause_LED Pause LED Real_LED Jump_Real RAM_Controls Clock WR_Addr(11:0) RD_Data(15:0) WR_Data(15:0) Real LED SDRAM Pause D7:0 Jump Real A11:0 133 MHz CS D7:0 WE FPGA Input Voltage Power 9 Volt Battery AUX Output Amp AUX Output Voltage RAS CAS LED Input Voltage Audio Out Project Status • Programmed the FPGA to – – – – interpret user commands drive RAM direct the flow of data control the LEDs • Applied a test bench and RAM model to the FPGA code for synthetic testing • Acquired all system components Bring-Up Test Plan, Schedule, and Project Leaders AMP/ Filter 2/20 Brad ADC Analog Input Module 3/2 Osato AMP/ Filter 2/20 Brad Converters Module Analog Output Module 3/30 Final DAC 3/16 RAM Hariklia FPGA Program Chad Loading Program into FPGA Buttons & LEDs 2/20 FPGA Hasina Processing Module Bring-Up Test Plan Active Low-Pass Filter • Objective: Design a smoothing filter to filter out sound frequencies above 20KHz. • Generate Signals with different frequencies and input them to the filter. • Test voltage output for each frequency value to assure frequencies above 20KHz are filtered out. • Also perform test with audio source and speakers to verify sound quality. Signal Generator/ Audio Source Oscilloscope/ Speakers Bring-Up Test Plan ADC/DAC & Filter • Objective: Build and test a system that converts analog to digital signals and the reverse. The FPGA is used as the driver. The ADC (ADS7823) to be used for our test design is a 12 bit low power, low cost, 12C serial & 50kSPS mixed signal device. And the DAC (DAC7512) is a 12bit low-power, low-cost & 95kSPS serial input converter. • Devices/Equipments: – – – – – – – – ADS7823, DAC7512, Oscilloscope Spectrum Analyzer Signal Generator Signal Analyzer Matlab/Pattern Generator, Multimeter Bring-Up Test Plan ADC/DAC & Filter • Setup/Procedures: – An oscilloscope will be used to monitor the output waveforms clocking the ADC and DAC. An audio source is connected to an amp to verify the analog output signal is centered around 2.5V. – Record the sine-wave amplitudes of the input and output voltages, for different frequencies, using the signal generator – The analog signal at ADC input and DAC output will be measured with a spectrum analyzer and compared qualitatively, along with collected digital data developed with a Matlab program or pattern generator. – An aural test will be made to confirm that the sound quality matches the quality of the sampling rate for the ADC and the DAC. – The output signal, as it is monitored on the signal analyzer, will display a 12 bit number to verify an optimized sample resolution for audio quality. This parameter would also be aurally verified. – The system would operate with a DC power supply of 1.5V to 5V. A multimeter will be used to measure the voltage at the source. Bring-Up Test Plan ADC/DAC & Filter Signal Analyzer Multimeter Measure output signal Audio source/Signal generator Audio output Display 12 bit number Analog signals ADC Amp Analyze dynamic specs. Analog spectral properties. Spectrum Analyzer Amplitudes & Freq Xteristics. SNR, THD, FFT FPGA ADC module Capture digital data Observe analog output 0 to 5V range. Digital data MatLab /Pattern generator Oscilloscop e Measure and compare analog signal properties. Amp Speaker Digital output Clearer signals with filter = Test Point Measure analog signals DAC module Analog output DAC Bring-Up Test Plan FPGA Code & Dev. Board • Objective: Store the system logic into the FPGA using a prototype development board. • Load a simple test program (oscillating LED/Strobing pins) into the FPGA and verify the control functionality. – Load the same program into Flash and compare the functionality. • Configure the proto pins and measure output digital High voltages that will interface with external components. – Reconfigure the proto pins to accept input and verify that the input is valid and can be acknowledged by the FPGA. • Test actual code stability, input and output of Dev. Board, and voltages on all proto pins. Bring-Up Test Plan FPGA & RAM • Objective: Integrate the RAM into the system. Use the FPGA to drive the RAM and to perform the device operations. • Setup – Generate a 12-bit data string every 20us and control signals using a Pattern Generator. – Send this string to the FPGA as the input data and controls. – Setup test points at the FPGA input, RAM input, and Ram output and send the data to a Logic Analyzer. Pattern Generator DC Power Supply = Test Point Generate Data Input Write Data FPGA Read Data RAM Logic Analyzer Bring-Up Test Plan FPGA & RAM • Test Procedure – Use the pattern generator to send mock input data and controls to the FPGA to drive the following operations: – Jump to Begin • Requires a 20+ minute digital string – – – – – Rewind by Increments Reverse Play (Unpause) Jump to Live Pause • Use the Logic Analyzer to verify that the correct sequence of data is returned for each operation. Bring-Up Test Plan FPGA/RAM & User Interface • Objective: Add buttons and LEDs to the FPGA/RAM subsystem to allow control and feedback of the device operations. • Setup – Generate a 12-bit data string every 20us and control signals using a Pattern Generator. – Send this string to the FPGA as the input data. – Setup test points at the FPGA input, RAM input, and Ram output and send the data to a Logic Analyzer. LEDs Pattern Generator Buttons DC Power Supply Generate Data Input FPGA Read Data Write Data RAM = Test Point Logic Analyzer Bring-Up Test Plan FPGA/RAM & User Interface • Test Procedure – Use the pattern generator to send mock input data to the FPGA and exhaustively test all combinations of pressing control buttons to drive the following operations: – Jump to Begin • Requires a 20+ minute digital string – – – – – Rewind by Increments Reverse Play (Unpause) Jump to Live Pause • Use the Logic Analyzer to verify that the correct sequence of data is returned for each operation. • Visually verify that the Power LED is always on when the FPGA is on, and that the Pause or Live Mode LEDs are only on when the device is operating in Pause or Live Mode. Prototype Final Acceptance Test • Objective: The following procedures will verify the prototype requirements of the Radio TiVo device. • Device/Radio Interface – The device is detachable - Connect and disconnect the TiVo from the radio without damaging either system. • Device Output – Output audio - Play audio from the device output so that an unbiased listener accepts the quality of the audible sound signal. – Drive speakers - Attach speakers and verify that TiVo has an audio output. – Adjust the volume - Adjust the volume control and verify that the volume increases and decreases. This may be achieved by ear. • Device Recording – Record from audio input - Play sound from audio history. The device should retrieve a radio signal from a previous period in time and continue playing a delayed audio signal indefinitely for as long as the device is in play mode. Prototype Final Acceptance Test • Device Memory Writing – Store at least 10 minutes of audio - Play sound from audio history that is 10 minutes old. • Device Memory Reading – Select incremented history - Press the rewind button for less than 3 seconds. For every press, the device should skip back in the audio history by 15 seconds. – Reverse audio - Hold the rewind button for at least than 3 seconds and the device should skip back in the audio history continuously until rewind is deselected. – Play live audio with a delay of less than 1s - Play audio from TiVo and the radio at the same time and measure the time delay. The time delay should be less than 1 second. – Pause audio - Select pause and the audio should stop playing. Select play and the audio should resume playing from where it left off. Thank you Bill Wilson, Mentor Dr. Chuck LaBerge, Adviser Dr. Pinkston, Supervisor
© Copyright 2026 Paperzz