EE 476: Laboratory 6
Design project.
Introduction.
For this exercise, we want you to pick a project, then design and build it.
During this period there will be no other assignments, so we expect you to spend
all of your time for this course on the project. You will be expected to be
in lab at the usual times and to show significant progress each week of the
project. Each week in lab a one-page progress report will be due. The members
of a group may be graded differentially if it becomes obvious to the staff that
one person is doing the bulk of the work.
When choosing a project you will need to consider availability of hardware,
time available, a monetary budget, and your programming skill. You may want
to look at several of the links on the 476 home page for project ideas.
Procedure:
Depends on what you will build. You should talk often to your lab instructor.
You can use either ASM or C or a mixture of the two. Your project will be limited
to using one STK-500 development board at all times. If you need more
than one cpu, you will have to build a prototype
board, which will count against your budget.
Budget considerations: Your budget will include MCU(s), boards you build,
power supplies, parts you order, and everything else you buy. Exceptions: any
hardware you already own, or can sample, or can scrounge. If you use old hardware,
you must be able to prove that you owned it before this semester.
- The total budget this year will be $50 per group.
- Costs:
- STK500 $15
- white board $6
- power supply $5
- custom
PC board $5
- MAX233CPP RS232 driver+RS232 connector for custom PC board $8.
If you sample the MAX233 from maxim-ic.com,
the cost drops to $2 for just the connector.
- Mega32 $8
- Mega16 $5
- Mega163 $2
- AT90S1200 or 8515 $1
- Max233CPP $5 (unless you sample it)
- Penality for being overbudget: deduct
points=((cost-50)*0.316)2
If cost>$50
Protoboard considerations for the Mega32:
- Use 22 pf capacitors with the crystal.
- Set the clock select Fuze bits to unchecked in the the "Project...Configure..AfterMake"
dialog window.
Note that is is different than the fuze setting used on the STK-500.
Setting the CKOPT
fuze bit may make it easier to get a strong,
stable clock running.
- Connect a 0.1 microfarad disk ceramic capacitor between ground and Vcc as
close to the Mega32 as possible.
- You must connect AVcc to Vcc, even if you do not use the A/D converter.
A group
in 2002 added the following thoughts.
Here are the top 10 things you can do to survive EE 476 Final Project Month:
1. If you use a chip other than the one you've been using in class all semester,
read the documentation thoroughly, subtle differences are going to kill you.
It's just a matter of for how long they kill you.
2. If you feel heat from your board, or smell burning: THERE IS A SHORT. Don't
look for the short first. TURN OFF THE POWER!
3. If the voltages look right, and the wiring looks right, but nothing's happening,
it is possible that your chip is fried, don't be afraid to ask for another chip.
This would've saved me a week of pain, and a bad hit to morale.
4. If you're stuck on something, ask Bruce or the TA's. Make a reasonable attempt
to solve it yourself, but don't sit there for three hours just because you cannot
remember which port of the opamp is correct. Remember, we all look like we're
working, so Bruce's spider sense won't kick in. You must call him, he can't
call you.
5. Order parts early. Order duplicates if you can afford it.
6. If you're going to solder onto a perf board, you don't have to rip apart
your breadboard. Just make another copy of the circuit.
7. You will not finish if you don't start early.
8. You probably won't finish if you don't take advantage of extended lab hours.
9. Do what you can do out of lab out of lab.
10. Seriously, pick a project you'll enjoy. These four weeks can be pain, or
the most fulfilling of your Cornell Career.
A group in 2003
added this:
Know your limits. As much as we'd all love to have a final project whose bells
and whistles rival Las Vegas slot machines, realize that a month is a very short
time, and that dealing with the disappointment of having to scale back your
project as you progress along is much better than coming to the same realization
on the day of your demonstration.
Assignment
You will be graded on several aspects of the project:
- Appropriate level of hardware/software complexity.
- Appropriate use of assembler and C.
- A project which works according to specification (which you will write).
- Level of effort and organization shown in lab.
- Ability to say within budget.
- A demonstration of the final project during the
last regular scheduled lab period of the semester. The demonstration
will include an explanation of your web page describing the project.
- Completeness and understandability of the final report. The report must
be handed in when you do the project demo during
your last regular lab period. The report which you hand in must
be printed directly from a web page which you construct. Documentation
must include:
- Introduction
- One sentence "sound bite" that describes your project.
- A summary of what you did and why.
- High level design:
- rationale and sources of your project idea
- background math
- logical structure
- hardware/software tradeoffs
- Relationship of your design to available IEEE, ISO, ANSI and other
standards.
- Discuss existing patents, copyrights, and trademarks which are relevant
to your project.
- Program/hardware design:
- program details. What parts were tricky to write?
- hardware details. Could someone else build this based on what you
have written?
- Be sure to specifically reference any design or code you used from
someone else.
- Things you tried which did not work
- Results of the design:
- speed of execution (hesitation, filcker, interactiveness, concurrency)
- accuracy (numeric, music frequencies, video signal timing, etc)
- how you enforced safety in the design.
- interference with other people's designs (e.g. cpu noise, RF interference)
- usability by you and other people
- Conclusions:
- Analyse your design in terms of how the results met your expectations.
What might you do differently next time?
- How did your design conform to the applicable standards.
- Intellectual property considerations.
- Did you reuse code or someone else's design?
- Did you use code in the public domain?
- Are you reverse-engineering a design? How did you deal with
patent/trademark issues.
- Did you have to sign non-disclosure to get a sample part?
- Are there patent opportunites for your project?
- Ethical considerations. Refering to the IEEE
Code of Ethics, specifically explain how decisions you made or
actions you took in this project were consistent with this Code of
Ethics. There are ten points in the Code. Direct your comments to
at least 5 of the ten, as appropriate for your project.
- Legal considerations. If you use a transmitter, you must discuss
the appropriate FCC legal restrictions.
- Appendix with commented program listing
- Appendix with schematics
- Appendix with cost details with all part numbers and their price. This
cost will include components supplied by the lab, including MCU and power
supplies but excluding the STK500.
- Appendix with a list of the specific tasks in the project carried
out by each team member.
- References you used:
- Data sheets
- Vendor sites
- Code/designs borrowed from others
- Background sites/papers
The web page may optionally be submitted
for inclusion on the class web page.
If you wish to do this:
- Put all of your web page files in one directory.
Since the pages will be on a UNIX server, you should:
- Make sure the cases (upper/lower) of all filenames agree with their
hyperlinks.
- Use only alphanumeric characters, periods, and underscores in filenames.
- Check all your links to make sure they are relative to your main page.
- ZIP the directory.
- email it to BRL4@cornell.edu.
Copyright Cornell University Jan 2004