EE 459Lx - USC Ming Hsieh Department of Electrical Engineering

EE 459Lx
Ming Hsieh Department
of Electrical Engineering
EE 459Lx
Embedded Systems Design Laboratory
(Section 30572: TTH 9:30-10:50)
Dr. Allan Weber EEB 410, 213-­‐740-­‐4147 [email protected] h?p://ee-­‐classes.usc.edu/ee459 EE 459Lx
Ming Hsieh Department
of Electrical Engineering
•  EE 459Lx is a Capstone course for seniors in
EE/CENG/CESC
•  Other Capstone courses this semester
–  EE423 – Loudspeaker design
–  EE434 – DSP
–  EE447 – Mixed signal circuits
•  Students will build a prototype of a commercial product
that utilizes a microcontroller plus additional hardware
•  Class meets for lectures for the first few weeks, after that
work on the project
•  No textbook, quizzes or exams
•  On the project due date: show us your project
Product Development
Ming Hsieh Department
of Electrical Engineering
•  The project teams this year will be asked to design some
sort of smart device for use in a recreational activity.
•  It will have a variety of sensors and some number of
outputs that can be used to do various things.
•  It will be up to the teams to decide what it is they want to
build.
– 
– 
– 
– 
– 
Brainstorm some initial concepts
Decide on a product to design
Present a proposal to the instructor and class
Build the works-like prototype to show that it can be done
Oral and written presentations to describe the new product
Project Teams
Ming Hsieh Department
of Electrical Engineering
•  Teams will be picked by the instructor
–  Probably seven+ teams of students, 3 on each team
•  Important that students decide by end of week if they will
continue in the class.
–  If you aren’t sure that you want to be in the class, drop now.
Don’t drop later when your teammates are depending on you.
•  Each team will meet with the instructor every week
(Monday or Tuesday or ??) to discuss their project
•  Meetings will be 20-30 minutes, time to be determined
•  All team members must attend meetings
•  Bring project notes to meeting and project board if
necessary
Lab Facility
•  Projects are built in OHE 240
•  Teams have USCard access
to lab 24/7
•  Project is built on a wire-wrap
protoboard
•  Microcontrollers programmed
in C or assembler
•  Can install development
software on your own Mac or
PC or use systems in the lab
Ming Hsieh Department
of Electrical Engineering
Parts for Projects
Ming Hsieh Department
of Electrical Engineering
•  We stock most common parts for the projects
•  Teams must decide what other parts are required for
their project
–  Send list to instructor for purchase
–  Pick up the parts when the arrive
–  Most items can be obtained in about one week
•  Use of modules that implement a large number of
functions should be discussed with instructor
•  Project prototype should be finished by week 12
•  Teams will use the rest of the semester to design a
printed circuit board, have it fabricated, and rebuild the
project on the PCB
Class Introductions
Ming Hsieh Department
of Electrical Engineering
•  On Thursday, everyone introduces themselves and tells
us your life story in one minute.
– 
– 
– 
– 
– 
– 
– 
– 
Where are you from?
What’s your major, area of emphasis?
What things (engineering or otherwise) are you interested it?
What past jobs or internships have you had?
What are your plans after graduation?
Any job offers? What’s your dream job if you could have it?
Are you more into hardware or software?
Ever built things using an embedded processor before?
•  Bring a resume to class on Thursday
Embedded Systems
Ming Hsieh Department
of Electrical Engineering
•  Embedded system are widely used in all facets of life.
•  One definition of an embedded system:
A special purpose computer that is designed into a larger device to
perform a small number of dedicated tasks
•  Adding a computer to something allows us to do things
in software that previously had to be done in hardware
•  Big advantages in maintaining and upgrading systems
–  Changing a hardware system ⇒ rewiring
–  Changing a software system ⇒ reprogramming
Embedded Systems
Ming Hsieh Department
of Electrical Engineering
•  These days most homes probably have several dozen
embedded systems in them:"
Thermostat
"Cordless phones
"Washing machine
"Refrigerator
"Alarm clocks
"Stereo
"Microwave oven
"Cell phone
"TV/DVD/DVR
"Garage door opener
"and lot of them in your car."
"Security system"
"Remote controls"
"Answering machine"
"Sprinkler timer"
"Video games"
Embedded Systems
Ming Hsieh Department
of Electrical Engineering
•  Most embedded system are based on a microcontroller
•  What’s the difference between a microcontroller (µC) and
a microprocessor (µP) used in a laptop/desktop system?
–  Microprocessor is part of a larger computer system with RAM
and general purpose I/O. It’s only the CPU.
–  Microcontroller is a single-chip with CPU, RAM, ROM and
specialized I/O to control electronic and mechanical devices.
Embedded Systems
•  Microcontroller are made by several
manufacturers (Freescale, Atmel,
Microchip, etc.)
•  Each produces multiple families at
different levels of performance intended
for different types of products.
•  Within a family there may be dozens of
models, each optimized for specific tasks
– 
– 
– 
– 
– 
Automotive
Low power
Sensing
Motor control
Lighting
Ming Hsieh Department
of Electrical Engineering
Ming Hsieh Department
of Electrical Engineering
Embedded Systems
•  EE 459 teams normally use a general purpose, midrange model like the ATmega328P made by Atmel.
•  Other µC models can be used if the situation warrants it.
•  A comparison of microprocessor and microcontroller
based systems.
Typical desktop
system (Core i7)
ATmega328P
microcontroller
Clock Speed
3 GHz
< 20MHz
Data size
64-bits
8-bits
RAM
8 GB
2 KB
Storage
1 TB
32 KB
$1000
$3.74
Cost
Embedded Systems
Ming Hsieh Department
of Electrical Engineering
•  Question: Why not use a more powerful microcontroller?
•  Answer: If you don’t need the capability, why pay for it?
–  The cost of the µC has to be included in the price of your
product.
–  If you use a more powerful µC, can you add features to the
product to justify a higher price?
–  Figure out what your product needs to do, then use the cheapest
processor that will accomplish the tasks.