CMPE 480 Project - Info and Ideas
updated 2006-10-23
People have requested more challenging labs, and I'm willing to please.
You have the option to replace lab 3, lab 4 or both with a project,
bearing the equivalent weight in the lab mark. If you decide to
do a project, expect to put in extra hours and experience frustration
traveling uncharted waters. The easiest and safest approach is
work through the step by step labs.
Requirements and Marking
People working on projects should submit 2 copies of a one page
proposal to you prof for approval. Groups sizes are negotiable.
You will be required to submit a report (hard and soft copies), code
and give a demonstration.
To compensate for the extra work, a 30% bonus will be applied (raw mark
earned times 1.30, project marks >100% are possible). I
anticipate that a project with average effort would earn a raw mark of
70%, but I understand that most students electing to do a project won't
be putting in just an average effort.
Tools
You will have access to advanced tools in the ETLC e5-013 lab.
You may wish to start by attempting a significant subset of the
sessions in these tutorials prepared by Xilinx but run in CMPE 480 as
self-paced exercises:
Digital Signal
Processing Design Flow
Use System Generator to design DSP datapaths.
Embedded Design
with FPGAs
Configure and download microprocessors, peripherals, custom hardware
and code to build a system on a chip.
Lab tutorials and additional information will be be made available.
As the work to do these lab tutorials is significant, it can be
balanced off against a relatively simple but novel design using these
tools.
Hardware
In addition to the regular lab FPGA boards, you will have access to the
XUP Vertex-II PRO boards
- Virtex-2 Pro XC2VP30 FPGA with 30,816 Logic Cells, 136 18-bit
multipliers, 2,448Kb of block RAM, and two PowerPC Processors
- DDR SDRAM DIMM that can accept up to 2Gbytes of RAM
- 10/100 Ethernet port
- USB2 port for programming
- Compact Flash card slot
- XSGA Video port
- Stereo Audio Codec
- SATA, and PS/2, RS-232 ports
- High and Low Speed expansion connectors with a large collection
of available expansion boards
Project Ideas
Audio or Guitar Special Effects DSP System
Custom Coprocessor for an Embedded Microprocessor
Custom Peripheral for an Embedded Microprocessor
Any Faculty of Engineering Student Project
University of Alberta Aerial Robotics Group - Aircraft Controller
The simplest project I can think of is a servo multiplexor that selects
between autopilot and manual radio remote control, with outputs to the
servos that control the flight control surfaces. This can be
expanded on:
- basic servo multiplexor
- parallel to pulse width modulated (PWM) servo controller
- add watchdog timer that puts plane into engine off shallow glide
if autopilot crashes or misbehaves
- allow programming/storing of shallow glide flight settings
provided by RC operator (add straight&level flight, turn right,
turn left, if you like).
- interface digital magnetic compass and/or altimeter
- interface GPS
- implement primitive autopilot (we can probably skip gyros if we
only allow very shallow turns).