Microprocessor-Based Systems (E155)
Fall 2014
Syllabus
Professor: | Josef Spjut | jspjut@g.hmc.edu | |
Parsons 2364 | Office Hours by Appointment | ||
Professor: | Matthew Spencer | mspencer@g.hmc.edu | |
Parsons 2360 | Office Hours by Appointment | ||
Lab Tutors: | Eric Storm | Josh Sanz | Gourav Khadge |
Lecture: | MW 1:15-2:30 |
Lab Tutor Hours: | uPs Lab, Sat. 11-1; Sunday 3-5pm, 7-9pm |
Lab Checkoffs: | M 2:45PM - 5:30PM, T 1:15PM-4:30PM, uPs Lab |
Harris & Harris, Digital Design and Computer Architecture, 2nd Ed., Morgan Kaufmann, 2012 has some good sections on embedded interfaces in chapter 8, but is not required for the course.
The MicroMudd32 board is required. You will need to put $80 Claremont Cash on your card to buy the board, see Sydney in the Engineering office to get a receipt and give the receipt to Sam to get your parts kit.
You also will need a Harvey Mudd College computer account to complete your labs. If you are not a HMC student, email your full name and school affiliation and we will request an account for you. Your lab work will primarily be performed in the MicroPs lab where 10 stations are available. The ECF may be used for some parts of the labs, but hardware and power supplies that originated in the MicroPs lab should remain in the MicroPs lab.
Some software may also work on your personal computer or laptop, but we only guarantee support for the tool chain in the lab.
If you have issues with the software or computer systems, contact the system administrator, Willie Drake. He can often be found in his office inside the ECF, and after-hours contact information is typically posted on his door.
Class Web Page: | http://www3.hmc.edu/~jspjut/class/f2014/e155 |
Class Email List: | eng-155-1-l@hmc.edu or eng-155-2-l@hmc.edu |
Piazza Page: | https://piazza.com/hmc/fall2014/e155 |
Be sure you are on the class mailing list. You should have received email before the beginning of classes. If you did not receive mail, add yourself to the list or risk missing important late-breaking announcements. To subscribe, send email to listkeeper@hmc.edu with one line in the body:
subscribe eng-155-1-l
Piazza is a an online question and answer forum which we hope will encourage student collaboration and provide quicker technical support. Students are able to post questions which can be answered by other students or staff. We encourage you to sign up for this service and give it a try.
Labs: | 50% |
Final Project: | 45% |
Activities: | 5% |
Labs are graded on a 9-point scale. 3 points are given for the system meeting its specified requirements. Up to 3 more points are given for the cleanliness of implementation (simple, elegant, well-commented code, clean wiring) on the scale of 1 = marginal, 2 = good, 3 = exceptional. Another 3 points are given for answering a “fault tolerance question,” with 3 points for a correct answer to the first question, 2 for a second try, and so forth.
Lab checkoffs are to be completed during your scheduled time on Monday or Tuesday of the week the lab assignment is due. As many people have scheduling conflicts with the planned lab times, the checkoffs will be scheduled using the following spreadsheet. If you are late for your appointed time, you may be given a 0 for the lab.
No late labs will be accepted. Late labs are not accepted, but your lowest lab score will be dropped before the average is calculated. If you are sick or have an emergency one week you can drop that lab. However, all labs must still be completed by the project proposal deadline, even if you drop the score.
Labs are done individually. You are welcome to discuss them with other students or the instructor after you have made an effort by yourself. Please list the names of other students you have worked with. However, you should turn in your own work, not work identical to that of another person. Specifically, you should write your own code without a directly referencing any other person’s code. A direct reference means looking at other code while you write yours, being in close enough verbal contact that each line of your code is specified, or any other similar “borderline copying” behavior.
It is an honor code violation to simply copy someone else’s work on the labs. Solutions to past years labs have been handed out. Obviously, it is also an honor code violation to refer to these solutions while doing your lab.
In the past, some students have copied all of the files in other projects to try to resolve CAD tool issues. After copying the project, they have modfied or replaced a subset of the files to complete the lab. We really don’t like this, and would much prefer that the CAD tool issues were resolved through any available communication channel. However, we will accept a project constructed in this way as long as there is are clear written explanations of why the lab copy was necessary, and comprehensive lists of which files are original creations of the student and which have been copied. These projects will receive a score penalty: get started early to scare off CAD tool bugs and avoid this problem.
As the labs typically involve iterating on your design and modifications from a functional prototype towards adding more features as you develop them, it is extremely useful to maintain your source files using some form of version control. Doug Hu has developed an excellent tutorial on the git software version control system that you can find on Charlie at charlie.ac.hmc.edu/Clinic/Engineering/Tutorials/Tutorial-Files-2013/GitVersionControl. You are strongly encouraged to use git or some other form of version control for you labs as it will prevent many headaches from broken updates, and will make it natural to develop as a team when it comes time to work on the project.
The final project will be done in groups of two. Many more detaills about it will be discussed in class and can be found on the course website. Start forming teams and brainstorming interesting electronics projects now!
Over the course of the project you will be graded on five submissions: a project proposal, a status report, a project presentation, a project checkoff, and a final report. Each will be about equally weighted.
In class activities, productive participation on Piazza, and other activities will have a small influence on your grade.
Suspected cases of academic dishonesty will be reported to the Judiciary board. Please respect your colleagues and especially your own learning by not cheating.
Be especially mindful of the risk of academic dishonesty when you discuss code or techniques with other students as described in the lab section. If you are in doubt about whether an act is dishonest, then consult a professor.
Students requiring specific accomodations for a phyiscal, psychological, medical or learning diability should contact HMC’s Dean of Students. She will review your concerns and determinte, with you, what accommodations are necessary and appropriate. All information and documentation of disability is confidential.
Below is our best guess at a schedule for the semester. Lecture topics may change depending on the pace of the class. Deadlines will not except in extreme circumstances, and any motion of a deadline will be announced electronically and in class.
Monday |
Wednesday |
Friday |
Sep 1st
Labor Day
|
3rd 1
Class Intro
|
5th
|
8th 2
Logic Design
|
10th 3
Logic Design
|
12th
|
15th 4
Last Day to Add Classes FPGA
|
17th 5
FPGA Datasheet
|
19th
|
22nd 6
Synchronous
Logic
Design
|
24th 7
FSM Design
|
26th
|
29th 8
PIC
Assembly
|
Oct 1st 9
PIC Programming
|
3rd
|
6th 10
PIC
Hardware
|
8th 11
PIC Interfacing
|
10th
|
13th 12
C
Programming
|
15th 13
C Examples
|
17th
|
20th
Fall Break
|
22nd 14
Project Kickoff
|
24th
|
27th 15
VGA
Graphics
|
29th 16
USB,PCI
|
31st
|
Nov 3rd 17
DAC
|
5th 18
Project Proposal Due Motors, speakers
|
7th
|
10th 19
Network
|
12th 20
SATA
|
14th
|
17th 21
FLASH memory
|
19th 22
DDR3
|
21st
|
24th 23
Status Report Due Presentations
|
26th 24
Presentations
|
28th
Thanksgiving
|
Dec 1st 25
Presentations
|
3rd 26
Presentations
|
5th
|
8th 27
Final Report Due Project Checkoffs Interview Questions
|
10th 28
Public Demonstration Project Demos
|
12th
Last Day of Classes
|
|
||
|
||
|