EE445L
Embedded Systems Design Lab
Fall 2018 (11/15/2018 version
Course Catalog Description Design
of microcontroller-based embedded systems; interfacing from both a
hardware and software perspective; and applications, including audio,
data acquisition, and communication systems.
Class: EER 1.516, Tuesday, Thursday 3:30-4:45pm
Office Hours: Tue 11-12, Tue 2-3, Thur 11-12, Thur 2-3, Fri 10-12, Fri 1-2 You may schedule additional office hours by appointment or drop in if you see my door open
Instructor: Jonathan W. Valvano, EER 5.820
email: valvano@mail.utexas.edu (put "EE445L" in the email title, send no ZIP files)Download software example projects
Equipment to buy:
1) Board. Every student will be required to have a Texas Instruments TM4C123 LaunchPad by Friday 9/6. Since we will be using the TM4C123 kit in EE319K and EE445L for a few years, you will have the option of selling it at the end of the semester. If you can find an EK-LM4F120XL board, it could also be used. Since it is only $13, we suggest each student purchase a board and a breadboard. Buying options for the board can be found by searching www.octopart.com https://octopart.com/search?q=EK-TM4C123GXL However, one option is to purchase it directly from www.ti.com . We have been using the TM4C123 board in EE319K since Fall 2013, so you might be able to find one used. If you do purchase a used microcontroller board, ask a TA or me to run the board tester to make sure all the pins work. If it still works at the end of the semester, you will be able to sell this board to students in the next semester.
Unique Numbers:
Unique: 16515 TTh 9:30 a.m.-11:00 a.m.
Unique: 16520 MW 10:30 a.m.-12:00 p.m.
Unique: 16525 TTh 11:00 a.m.-12:30 p.m.
Unique: 16530 TTh 12:30 p.m.-2:00 p.m.
Unique: 16535 TTh 2:00 p.m.-3:30 p.m.
Great TAs:
email all TAs professors and staff f18_ee445l@utlists.utexas.edu
William Glanton
Sam Harper
Ze Lyu
Other references: For programming in C see the EE312 materials or the second half of the EE306 text.
Prerequisites: EE312
and EE319K with a grade of at least C- in
each; EE411 and EE313, or BME311 and BME343, with a grade of at least
C- in
each; and credit with a grade of at least C- or registration for
BME333T, or
EE333T.
Specific EE319K topics needed for EE445L: LED
interface,
switch
interface, busy-wait synchronization, serial communication concepts
(start bit,
data bits, stop bit, baud rate, bandwidth), UART programming, analog to
digital
conversion (range, resolution, precision, accuracy), ADC programming,
digital
to analog conversion (range, resolution, precision, accuracy),
interrupt
concepts (arm, enable, acknowledge, vector), Output compare interrupt
programming
Specific EE312 topics needed
for EE445L: Modular
programming,
differences between pointers and numbers, when to use permanent
allocation and
when to use temporary allocation, definitions of char,
short
and long,
understanding and use of static,
const
and volatile,
understanding call by value versus call by reference, stack frames,
structures,
linked lists, fifo queues, verification. The most important component
students
must be able to accomplish is the translation of a problem statement
into
software code. The second most important skill we expect students to
have is
the ability to debug software.
Specific
EE302/EE411/EE313/EE438
topics needed for EE445L: RLC
circuits, NPN
and PNP transistors, input impedance, output impedance, linear
amplifiers using
op amps, oscilloscopes, sampling, frequency response, Bode Plots,
Fourier
Transform, spectrum measurements.
Teaching philosophy: I
strongly encourage students to take an
active role in this class. Questions are welcome before,
during and after
class. Please feel free to email, visit or call me if you have
questions.
Specific Objectives of
EE445L The
primary objective of
EE445L is for the students to develop the ability to design
microcomputer-based
embedded systems. This class allows students to learn microcomputer
interfacing
from both a hardware and software perspective.
Microcomputer Architecture
(EE319K review)
An introduction to the microcomputer, architecture, The Cortex M4
Instruction Set, Cortex M4 Addressing Modes, I/O and Memory
Organization, The memory map of the TM4C123
Programming Microprocessors
(EE312, EE322C review)
Data
Structures in C (arrays, tables, linked lists,
stacks, and fifo queues), Writing Quality Programs in C, Passing
Parameters
(Conceptual and Implementation Levels), Modular Programming,
Verification and
Testing, Documentation
Microcomputer Bus Interfaces
Digital
Hardware, Modules and Signals, Drivers,
Registers, Timing equations, Timing diagrams,
Parallel and Serial Input-Output
TM4C Parallel I/O Devices, Device Driver
Software, Buffered Input and Output, Table and Linked List
Interpreters, TM4C Synchronous and Asynchronous Serial
Input-Output, Synchronization in
I/O devices, Blind-Cycle Synchronization, Busy-Wait Synchronization,
Interrupt
Synchronization, Polled Interrupts, Vectored Interrupts, Interrupt
Priority
Parallel Port Interfaces
Keyboards,
Key Debouncing, Keyboard Scanning
Techniques, LED Scanning Techniques and LCD Interfacing
Data Acquisition Systems
Bridge
circuits, op amps, low pass filters, instrumentation amplifiers, DAC,
ADC,
audio amplifiers
Motor interfacing
Stepper
motors, DC motors, pulse-width modulation, integral control
Outcomes: After
the successful conclusion of EE445L students should be
able to design embedded systems including hardware/software interfaces
for
devices like LCD displays, motors, keyboards, analog sensors and
speakers. Furthermore, students will be able to deploy these systems into the IoT environment.
Attendance:
Students are expected to attend lectures. The book covers
more information than the class and we will use lectures to map our way
through
the book. If you miss class you may find it difficult to catch up.
Grading :
50%
Laboratory assignment with
a large weight applied to Labs 7, 8 and 11
15%
Quiz 1, closed book (1-page crib notes), Thursday,
October 11, 3:30-4:45pm, in class
15%
Quiz 2, open book, Tuesday, November 20, 3:30-4:45pm, in class
20%
Final, closed (no crib notes)/open book, Tuesday,
December 18, 9:00am-12:00 noon,
regularly scheduled time and
place
When studying,
focus on the topics that apply
to the
ARM Cortex M and the lab assignments. You will find old
quizzes and
finals with solutions on the class web site. I have
no expected grade
cutoffs or expected GPA for this class. You can view the previous GPAs
for most
of your classes at UT (MyEdu reports I give a GPA in this class of
about 3.3).
All professors want a 5 on their teaching evaluation, and all students
want an
A. However, I feel both should only be awarded for
excellence.
Laboratories
Lab 1. ASCII
to fixed-point output to LCD, group of 2
Lab 2. Debugging,
oscilloscope fundamentals, logic analyzer, dump
profile, group of 2
Lab 3. Alarm clock, LCD, edge-triggered input interrupts,
and SysTick
periodic interrupts, group of 2
Lab 4D. IEE802.11Wi-Fi
communication, TCP, client-server, IoT, group of 2
Lab 5. 12-bit DAC, SPI, Music player, audio amp, group of 2
Lab
6. Introduction
to PCB Layout, PCB
Artist, done individually, (paper design only)
Lab 7. Design
and Layout of an
Embedded System, group of 4
Lab 8. Software
Drivers for an
Embedded System, group of 4
Lab 9. Temperature
measurement, ADC,
LCD, group of 2
Lab 10. DC motor
control, timer interrupts, PWM output,
input capture, integral control, group of 2
Lab 11. Final Design and Evaluation of Embedded System, group of 4
EE445L Laboratory Schedule (see your TA for the latest). Each week there are two 90 minute lab sessions, which are scheduled Monday/Wednesday or Tuesday/Thursday. You will show the preparation to your TA at the beginning of the second session. During the first session demonstrations will be made. The TA will sign your software listing when you demonstrate your system. The report (hardware/software/data plots) is due Friday uploaded to Blackboard according to the directions posted on Canvas. Any EE445L TA is authorized to checkout your lab. Please consult with your TA for specific due dates for your lab section.
Texas Instruments Design Competition. All of the Lab 7,8,11 projects will automatically quality for the TI design competition. We will encourage submission to this competition.
Lab
Schedule This
is an approximate schedule,
please check with your TA for the latest version.
Week |
First session |
Second session |
Friday Canvas) |
Comments |
8/29 |
none |
none |
|
no lab activities, buy your TM4C123 board, Lab starts 9/4 |
9/3 |
Meet the TA** |
partners chosen, 1 Prep |
|
Keil uVision demonstration, PCB Artist (SCH) demonstration (**no Labs on Labor Day) |
9/10 |
1 Demo |
2 Prep |
1
Report |
Oscilloscope demonstration |
9/17 |
2 Demo |
3 Prep |
2 Report |
Logic analyzer demonstration |
9/24 |
3 Demo |
4 Prep |
3 Report |
Spectrum
analyzer demo |
10/1 |
4 Demo |
5 Prep |
4 Report |
PCB Artist (PCB) demonstration |
10/8 |
5 Demo |
6 Prep |
|
Quiz 1 is 10/11 |
10/15 |
6 Demo, 5 Report |
7PrePrep |
6 Report |
|
10/22 |
7 Prep |
|
Rough draft |
Upload to Canvas SCH/PCB files to TA by 10am Friday 10/26 |
10/29 |
7 Demo |
8 Prep |
7 Report |
final SCH/PCB files due on Canvas at 10am Thursday 11/1 |
11/5 |
8 Demo |
9 Prep |
8 Report |
Lab 8 report is just the software |
11/12 | 9 Demo | 10 Prep | 9 Report | |
11/19 |
|
no lab Wed, Thur |
|
Quiz 2 is 11/20 *week of thanksgiving |
11/26 |
10 Demo |
11 Prep |
10 Report |
|
12/3 |
|
11 Demo |
11 Report |
Turn in equipment by 12/5 |
12/6 | Expo | Expo Thursday 12/6, 3:30-4:45 in EER lobby |
"8 Demo" means your PCB Artist files are delivered to the TA
Prep
= you turn in your lab preparation
Demo
= you demonstrate your lab to the TA
Partial
= you demonstrate first part of a two-week lab to the TA
Report
= you turn in your complete lab report to the TA
PCB production schedule
- Rough draft due to TA Friday 10am 10/26 on Canvas
- PCB files due Thursday 11/1 10am on Canvas
- TA downloads files from Canvas and creates an XLS sheet
- PCB ordered on Thursday 11/1 by 12 noon
- Boards received Monday 11/12 or Tuesday 11/12.
- Lab 11 prep 11/26 or 11/27 all parts soldered and microcontroller can be programmed.
During
the week of 9/3,
please go to your
scheduled EE445L lab sessions in
EER1.806 to get a demonstration of the
lab
equipment. If you do not already own a TM4C123
board, you must purchase
one. Each student should have their own
board. The lab
preparations (hardware diagrams and syntax-free software source code
printouts) must be uploaded to Canvas prior to the beginning of your
lab period. PLEASE SEE YOUR TA ON EXACT REQUIREMENTS FOR TURNING IN LAB
ASSIGNMENTS. In other words, please type your
software into the PC before lab. Attendance in lab is required. All
software
for lab,
and tests must include comments. All hardware
must include R&C values specifying tolerance and type (e.g., 5%
carbon),
and chip numbers (be very specific e.g., INA122P). Pin numbers are
required
only for lab, not for the exams.
Students are encouraged to go
to the last 1 hour of the
other lab periods, but the first priority will be to the regular
students. The uploading of preparations will close once Lab has begun.
For the first 15 minutes of lab, the TA will lead a lab discussion
session. The remaining lab
time is available for debugging and lab checkout. At the end of the
semester
please verify with the checkout counter that your record is clear. All
reports
must be given to the TA by Friday December 7, 2pm.
This is an approximate schedule,
please check the
website for the latest version.
Week | Chapter | Lecture | Topic YouTube Playlist Link to Powerpoints |
8/30 | 1, 2 | aLec01 aLec02 |
Introduction
to
EE445L, Embedded Systems |
9/3 | 2, 3 | aLec03 aLec04 aLec05 aLec06 aLec07 |
Fixed-point, Graphics, Lab1 project, call graphs Arm Cortex M architecture, features of the TM4C123, data flow graphs, Introduction to interfacing, hardware software synchronization Interrupts, Lab2 project |
9/10 | 2,3,4, 5 | aLec08 aLec09 aLec10 aLec11 |
Critical
sections, Debugging debugging techniques, and programming style, dumps, monitor Edge-triggered interrupts BJT transistor interface |
9/17 | 3 11 11.4 |
aLec12 aLec13 aLec14 aLec15 |
Specifications
and software style Introduction to communication systems Wifi, Wireless communication, client server, IoT (Lab 4 material) Demonstration of CC3100 Weather monitor, and Lab 4 |
9/24 | 11.4 8.4 7.5 |
aLec16 aLec17 aLec18 aLec19 |
Demonstration
of ESP8266 DAC fundamentals, Nyquist Theorem (Lab 5 material) SPI and DAC interface, timing analysis Sound and Music Generation |
10/1 | 9.2.2 8.4 9 |
aLec20 aLec21 aLec22 aLec23 |
TPA731 audio
amplifiers, see Example 10.4 DAC performance measures PCB Layout, Lab 6 material System level design, clock, power, packaging |
10/8 | 9 | aLec24 aLec25 |
Lab
6
demo Quiz 1 review Quiz 1 (10/11) |
10/15 | 9 10.6 |
aLec26 aLec27 |
Low
power
design, regulators, PCB layout Power supplies, batteries, regulators |
10/22 | 8.1 9 Vol 3 6.1 |
aLec28 aLec29 aLec30 aLec31 aLec32 |
Enclosures, connectors Resistors, capacitors SDC File system using FAT16 Input capture, period measurement |
10/29 | 10.2 8.2 8.2.3 10.6 |
aLec33 aLec34 aLec35 aLec36 |
Sensors Op amps Threshold detection Resistance bridge, instrumentation amplifier |
11/5 | 8.3 10.4 10.5 10.6 |
aLec37 aLec38 aLec39 aLec40 |
Analog
filters:
HPF, LPF, 2-pole Butterworth LPF Introduction to Sampling Nyquist Theorem, Aliasing, DFT Data Acquisition Systems |
11/12 | 8.5.2 6.5 6.1 6.5 |
aLec41 aLec42 aLec43 aLec44 aLec45 aLec46 |
ADC
Conversion
Techniques DC Motors, PWM, interface electronics (TIP120, snubber diodes) BLDC, Servos, Stepper Motors Input capture, tachometer interface Control Systems, Lab 10 demonstration |
11/19 | 6,8,10 3.5 10.6 |
Quiz
2
review Quiz 2, 11/20 |
|
11/26 | 11 |
aLec47 aLec48 aLec49 aLec52 |
Finite State Machines, Stepper Motors Lab 11 programming demo Real-time operating systems Communication Theory Bluetooth |
12/3 | 1.6 4.10 |
aLec50 aLec51 |
Ethics Keyboard Interfacing, Scanned LED Display Open house, final class competition, outside Lab |
Legal Stuff: The 12th class day is Sept 14. The drop policy is extremely complicated. See your academic advisor or the Dean of Students for more information. Course evaluation is conducted on the last class day in accordance with the Measurement and Evaluation Center form. The final exam is at the time and place stated in the course schedule. The University of Texas at Austin provides upon request appropriate academic adjustments for qualified students with disabilities. For more information, contact the Office of the Dean of Students with Disabilities at 471-6259, 471-4241 TDD.
Scholastic
dishonesty: "Faculty in the ECE
Department are committed
to detecting and responding to all instances of scholastic dishonesty
and will
pursue cases of scholastic dishonesty in accordance with university
policy.
Scholastic dishonesty, in all its forms, is a
blight
on our entire academic community. All parties in our community --
faculty,
staff, and students -- are responsible for creating an environment that
educates outstanding engineers, and this goal entails excellence in
technical
skills, self-giving citizenry, an
ethical integrity.
Industry wants engineers who are competent and fully trustworthy, and
both
qualities must be developed day by day throughout an entire lifetime.
Scholastic dishonesty includes, but is not limited to, cheating,
plagiarism,
collusion, falsifying academic records, or any act designed to give an
unfair
academic advantage to the student. The fact that you are in this class
as an
engineering student is testament to your abilities. Penalties for
scholastic
dishonesty are severe and can include, but are not limited to, a
written reprimand,
a zero on the assignment/exam, re-taking the exam in question, an F in
the
course, or expulsion from the University. Don't jeopardize your career
by an
act of scholastic dishonesty. Details about academic integrity and what
constitutes scholastic dishonesty can be found at the website for the
UT Dean
of Students Office and the General Information Catalog, Section
11-802."
You are encouraged to study together and to discuss information and
concepts
with other students. You can give "consulting" help to or receive
"consulting" help from such students in oral form. However, this
permissible cooperation should never involve one student having
possession of a
copy of all or part of work done by someone else, in the form of an
email, an
email attachment file, a portable storage device, or a hard copy.
Copying of
any part of a program is cheating without explicit reference to its
source. We
do enter lab assignments turned in by EE445L students through a
plagiarism
checker, comparing them to assignments of this and previous semesters.
If we
find two programs that are copied, there will be a substantial penalty
to both
students, e.g., failure in the course. Students who cheat on tests or
in lab
will fail. Prosecution of cases is very traumatic to both the student
and
instructor. It is appropriate to use software out of the book, class
website as
long as all copy-pasted software is explicitly referenced. Copy-pasting
software from current or past students is scholastic dishonesty.
Policies
concerning the use of other people's software in this class:
· I strongly
encourage you to study existing software.
· All applications
and libraries must be legally
obtained. E.g.,
You
may use libraries that came when you bought a compiler.
You
may use software obtained
from the web.
You
may copy and paste from the
existing source code.
· You may use any
existing source code that is clearly
referenced and categorized:
original:
completely written by
you,
derived:
fundamental approach
is copied but it is your implementation,
modified:
source code
significantly edited to serve your purpose,
copied:
source code includes
minor modifications.
The Digilent
Analog Discovery
is a low-cost but wonderful tool for this
class. It is not required, but very handy, especially if you need to
work at home this semester.
Software applications
To complete EE445L labs it will take time outside of the 3 scheduled lab hours. With the crowding we expect in ECJ, it will be important for you to configure a development system on your laptop (Keil version 4.7x, PuTTy, and PCB artist). This way you will be mobile and flexible about where and when you work on lab. For Keil 4.7x installation see http://users.ece.utexas.edu/~valvano/Volume1/uvision/ . For PuTTY see http://www.putty.org/ . For PCB artist see http://www.4pcb.com/free-pcb-layout-software/
Request
samples (DIP or PDIP
package) The
parts
labeled 1) 2) 3) 4) will be requested for you. In other words, we will
make one
request for the entire class. However, keep these web sites in mind as
you
design your Labs 7, 8, 11. You will order something as part of Lab
6. Please order 2,3,4,5 now. Then wait until you design
Lab 7, and then order what you need. You
will need to register with an
official University email address (e.g., YourName@mail.utexas.edu)
rather than
a junk email address (e.g., aol.com or gmail.com). For general
information on
getting free samples, see http://www.ladyada.net/library/procure/samples.html.
http://www.analog.com/en/index.html
Analog Devices
AD8032ANZ rail-to-rail op amp
http://www.maxim-ic.com/
Maxim IC
MAX5353ACPA+
or MAX5353BCPA+ single 3.3V-powered,
12-bit SPI interface DAC (ACPA or BCPA)
MAX552BCPA
12-bit multiplying DAC
MAX1246ACPE+ 3.3V-powered, 12-bit ADC, such as the (A or B,
with or
without +)
MAX5155ACPE
dual 12-bit SPI interface DAC (ACPE or BCPE)
http://www.ti.com
Texas Instruments (we have ordered these for you)
1) INA122P rail-to-rail instrumentation amp
2) OPA2350PA rail-to-rail dual op amp
3) LM4041CILPR adjustable shunt reference for Lab
5.
4) TLV5618ACP dual 12-bit DAC for Lab
5.
5) TPA731D audio amplifier for Lab
5.
http://www.samtec.com/
SamTec connectors
10-pin LCD connector, BCS-110-L-S-TE (need 1 for the ST7735
LCD to connect to PCB)
Search
engine for parts
http://octopart.com/
Game
engine
http://www.3dgamestudio.com/
Hobby
parts http://www.sparkfun.com/
Surplus
http://www.allelectronics.com/
http://www.bgmicro.com/
Full
line http://www.digikey.com/
http://www.mouser.com/
http://www.newark.com/
Put your embedded system in a
box (not free, but a good source for choices)
http://www.okw.co.uk/
OKW Enclosures Ltd
http://www.tekoenclosures.com/ Teko
Enclosures Solutions
http://www.pactecenclosures.com/
PacTec Enclosures
Curious about my research? See
http://users.ece.utexas.edu/~valvano/research
ABET Relationship of the Course
to Student Outcomes: Bold
apply to EE445L
a. An ability to apply
knowledge of mathematics, science, and engineering.
b. An ability to design and
conduct experiments, as well as to analyze and interpret data.
c. An ability to design a
system, component, or process to meet desired needs within realistic
constraints such as economic, environmental, social, political,
ethical, health and safety, manufacturability, and sustainability.
d. An ability to function on multidisciplinary teams.
e. An ability to identify,
formulate, and solve engineering problems.
f. An understanding of
professional and ethical responsibility.
g. An ability to communicate
effectively.
h. The broad education necessary to understand the impact of
engineering solutions in a global, economic, environmental, and
societal context.
i. Recognition of the need for
and an ability to engage in life-long learning.
j. Knowledge of contemporary issues.
k. An ability to use the
techniques, skills, and modern engineering tools necessary for
engineering practice.
For more information see http://www.ece.utexas.edu/about/mission