Abstracts of Past Projects

A Student Application Note by Marc Dowdell, Amir Faiz, Mark Mielke, Kreshka Niehaus & Travis Robinson : the AVC group

Fall 1999


Driver's Ed


Raymond Sung
Patrick Chan
Jason Mah
Andrew Sung

This project involved the design, implementation and test of a digital telemetry system. The completed system successfully gathers data from various sensors mounted on a remote controlled vehicle using a field programmable gate array. The FPGA packetized the data for synchronous transmission over radio frequency to a remote base station. The base station, which was implemented using a combination of two field programmable gate arrays, correctly recovered the transmitted data, did the necessary calculations and displayed the results in real-time on a VGA monitor. The RF transmission scheme was able to disregard invalid data and functioned correctly even when in close proximity to another system operating at an identical radio frequency. The collected telemetry data included relatively accurate measurements of the car's instantaneous velocity, instantaneous acceleration, heading and total distance traveled. Furthermore, the car's proximity to other objects could be detected at s! hort distances and the results displayed on the VGA screen. The base station was able to interface to a 4x4 keypad and display user keypresses on the monitor. The keypad interface allows future expansion of the system for direction and heading control.


HIRRA


Paul Bartosek
Shauna Rae
Marta Bindas

The final result of our project is a four wheeled vehicle with front wheel steering and rear wheel drive, which we named Hardware Implemented Reactionary Robotic Algorithm (HIRRA). It is equipped with a variety of sensors such as whiskers, sonar and photocells. These sensors help the vehicle avoid any obstacles on its path towards the brightest light in its environment, it's final destination. Once an object is detected via the whisker sensors, the car begins maneuvering around it. If the sonar detects an object the car will immediately veer away in order to avoid the object entirely. Finally if no object is in the vehicles path it will go towards the strongest light source as detected by the photocells. Once the vehicle reaches its final destination under the light, it comes to a stop.


Porta-AMP Project


Kevin Mlazgar
Edmund Fung
John Koob
Dan Leder

Our project entails the design and implementation of an FPGA-based MP3-Audio Player that can have individual MP3-encoded songs downloaded on to ram via a parallel port. Our Porta-AM???(Portable Advanced MP3 Player) player design would have the ability to play MP3 files from memory. At present all of the primary components are functionally tested. The final integration of our project is not complete due to an inoperative MP3 DSP.


SafeTalk : 8-bit Secure Signal Processing


Jodie Au
Josh Chong
Tam Paredes
Jeff Sieben
Amelia Yeoh

The SafeTalk prototype has been very successful in design, simulation, and implementation. The experimentation is promising and the outlook for future versions of SafeTalk is positive. The speech signal has been successfully converted to a digital signal and back into an analog signal. This milestone set the tone for successes during the remainder of the project. The transmission and receiving modules of SafeTalk were the cornerstones in the final result. A universal asynchronous receive transmitter (UART) simulated properly, and because it was asynchronous it transmitted and received encrypted data automatically. As well, the simulations correctly indicate that the framing and parity error checking mechanism was in place. Finally, the encryption module is designed to allow for a stronger algorithm to secure speech data. The most exciting part of the encryption module is that the data is not audibly recognizable if converted to analog. Even though the cipher that was used is n! ot secure by some standards, your roommate could not tell what you were saying to your friends on the other line.


Voice Controlled Remote Control


Scott Medynski
Gabriel Ricardo
Michael Vandegriend

Within the pages of this document, we explore the design and the results of a successful attempt to implement a voice-controlled television remote control with the aid of an Altera FLEX10K70 field programmable gate array and some interfacing circuitry. All of the internal workings of the device are synchronous and operate on a 5 MHz clock. Voice input is sampled into the FPGA at a rate of approximately 8kHz and with 8-bit resolution. The operation of the device makes use of four spoken commands, "power" "up", "down", and "surf". These commands correspond to turning the television on and off, changing the channel up and down, and an automatic surfing function that allows for a preview of three seconds on each channel before incrementing. Word boundary, zero crossings, and a modified energy analysis are techniques that the speech algorithm makes use of. The recognition algorithm is based upon isolated word utterances and speaker dependent with training required. In the active mo! de, the device is constantly listening so no physical contact with the device is necessary. The device also operates as a programmable remote in that it can accept various codes during the IR training in order to operate almost any single device at one time. Although designed with a Sony brand coding scheme in mind, the algorithm can be easily modified to suit almost any coding scheme in use today. In our controlled environment testing, we were able to achieve approximately 75% recognition of commands.


Vox-o-Tron


Charlena Fong
Marc-Julien Objois
Mariya Shterngartz
Catherine Single

The Vox-o-Tron is a vocoder-like device. Vocoders are widely used in electronic genres. This report covers the design of a digital implementation of a vocoder using a single FLEX10K20 FPGA, a digital to analogue converter, and an analogue to digital converter. Also, the external support circuitry for the converters is covered.


RF Telemetry


Henry Young
Alex Tong
Ahmed Allam

Radio telemetry is an efficient and sometimes necessary means of data logging in remote environments. This project outlines the design of an RF telemetry system where temperature, vibration, and compass data are sent from a transmitter unit to a receiver unit and displayed. External hardware used in our project includes a 10k thermister, a Dinsmore 1490 compass, a piezo film vibration sensor, and two BIM-433-F transceiver modules each with a standard antenna. The design of the data latching and transmission / reception blocks was implemented with the use of Maxplus2 over two Altera EPF10K20RC240-4 FPGAs. A static interface to a VGA monitor was also implemented as an aid to introduce our project.


Winter 1999


Blackjack Strategy Master


Rishi Kapoor
Matthew Remington
Denise Garvey

The following report documents the development of the blackjack card counting system. The card counting system is a digital device created for an EE 552 project. The system is capable of informing the user of the appropriate play and the amount to wager on each hand played. The goal of the blackjack card counter is to increase the player's odds to that greater than the house. The design of the blackjack card counter is implemented with the use of Maxplus2 and is implemented with the Altera EPF10K20RC240-4 FPGA. External hardware used in our design included a 4x4 keypad and a Liquid Crystal Display (LCD), the Emerging Display EC16220YLYU.


Digital Motion Tracking System


Andrew Dunmore
Anthony Eshpeter

The completed project is a digital motion tracking system. It is capable of tracking the position of up to 31 sensors. It is queried for data through a parallel-port connection to some sort of device (most likely a PC). The querying device is capable of asking the system to:
1.Initialize. The system will initialize, and pass back the number of attached sensors.
2.Obtain Sensor Information. The querying device asks for information on a specific sensor attached to the system. The system will then return the position information of that sensor. If the system is unable to retrieve the information, it will return an error code.


Radio Frequency PSK Transmitter/Receiver


Norman Bo
Kelvin Leung
David Ritter

The goal of this project was to implement a digital RF transmitter and receiver. Binary data is transmitted using PSK (Phase Shift Keying) modulation, currently at a carrier frequency of 800 kHz. A receiver, with knowledge of the frequency but not the phase of the carrier, can receive this signal and demodulate it to recover the original signal. Optional enhancements to the project that are not at this time fully tested include a microprocessor interface to both the transmitter and receiver, variable carrier frequencies and data rates, and carrier frequency recovery at the receiver.


Tetris


Feng Gui
Tao Zhi Peng
Khern Yang Twang

Our project is to design and implement a Tetris game by using FPGA. Tetris is a puzzle game that uses 4 square blocks joining edge to edge to form various combinations of shapes. There are 7 unique shapes. The shapes are controlled with the arrow keys from keypad or joystick. Both keypad and joystick are used to control the rotation of the shape. The reason we use both keypad and joystick as controller tool is that the players can have two options to control the game conveniently. However, we may use either keypad or joystick in our presentation to make the best effect.


Data Compression Co-processor


Tim Bensler
Eric Chan

The following report outlines the development of a data compression coprocessor implemented in hardware using an Altera EPF10K20RC240-4 chip interfacing with a personal computer via the RS-232 Serial Port. In this report is a description of how we built the RS-232 interface, how we interfaced with SRAM external to the FPGA, and a description of the compression algorithm that we employed.


Logic Analyzer


Nelson Epp
Arun Parmar
Sean Verret

This report details the present state of the Logic Analyzer project. A Logic Analyzer has been designed, constructed, and tested to meet certain specifications.
The Logic Analyzer uses Altera's UP1 Education board, specifically the EPF10K20RC240-4, along with minimal external hardware components in order to function correctly.
The project implements both data and control paths in order to successfully complete the project.
The functionality of the design contains three major components. The first is the pattern detector that detects a certain pattern and displays the corresponding waveform after it. Secondly, the IC tester is used to test certain 74HCxx series. Finally, the main menu is used (utilizing the VGA monitor) in order to scroll and choose between the two parts of the Logic Analyzer.


The uCMK Microprocessor


Michael Rivest
Kelly Lawson
Charlene Eriksen

This document discusses the design of the uCMK, a load/store RISC microprocessor with five pipeline stages as in the DLX architecture, and a set of 11 instructions. To create the uCMK, we needed to determine how to transform our theoretical knowledge of the DLX architecture into a digital circuit realizable using VHDL and FPGAs. Many important design features were implemented, including the use of forwarding and stalling to control data and instruction flow through the pipeline stages. Our design also included the use of separate ROM and RAM memory blocks and the implementation of a general-purpose register file.


Voice-Activated RC Car


Andrew Stanley-Jones
Kevin Grant
Darren Gould

This project implements a voice recognition system capable of issuing four different commands to a radio-controlled (RC) car. The voice data is acquired using an external microphone and circuitry, which amplifies and digitizes the voice at 11,000 samples per second. The digitized voice is then fed into a field-programmable gate array (FPGA), the Altera EPF10K20RC240-4. The system has two main operating modes, training and recognition. Training mode is used to initialize and train the system for each command and/or speaker. Each of the four commands is recorded four times; thus, sixteen recordings are required to completely train the system. In recognition mode, the FPGA performs voice recognition and issues commands to the RC car. After pressing the "recognize" button, the command is spoken. If a valid command was found then that command is issued to the RC car. The RC car controller can issue the commands: forward, backward, turn left or turn right. The car is normally stopped and the controller issues each command to the RC car for one second, allowing the relatively slow voice commands to control the fast moving RC car. To control the RC car we use the original commercial handheld controller with the mechanical switches replaced with relays. Overall, the system performance was relatively good at 90% recognition for a consistent speaker and audibly different words.


A Student Application Note by Marc Dowdell, Amir Faiz, Mark Mielke, Kreshka Niehaus & Travis Robinson : the AVC group