EE445L
Embedded Systems Design Lab
Spring 2021 (1/24/2021 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.
Course 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.
Professor's Personal Objective for the Course: My objectives for this course is for the software centric students to
become proficient with hardware and the hardware centric students become proficient with software
such that when you are in industry you make more money than those students who elect to be isolated in their comfort zone be it SW or HW.
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 all 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. DO NOT assume that you can watch old videos of the lectures from 2015 and not come to class.
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.
Grading :
50% Laboratory assignment with a large weight applied to Labs 7, 8 and 11
15% Quiz 1, open notes, open book (no internet), Thursday, March 4, 3:30-4:45pm, on Canvas
15% Quiz 2, open notes, open book (no internet), Thursday, April 22, 3:30-4:45pm, on Canvas
20% Final, open notes, open book (no internet), Monday, May 17, 2:00 pm-5:00 pm, on Canvas, regularly scheduled time
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.
Everyone is welcome to get an A in this class. However, historically the GPA has been about 3.4.
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.
Instructor:
Jonathan W. Valvano, EER 5.820 (I will not spend much time on campus this spring)
Office Hours (I am also teaching EE319H):
Monday 11-12
Monday 7-8
Wednesday 10-12
Wednesday 7-8
Friday 11-12, 1-2
Friday 7-8
You may schedule additional office hours
by appointment.
There is a direct correlation between higher grades on the exams and attending office hours when you have questions.
Class: on Zoom, Tuesday, Thursday 3:30-4:45pm
email:
valvano@mail.utexas.edu
(put "EE445L" in the email
title, send no
ZIP files)
Class web
page: http://users.ece.utexas.edu/~valvano/EE445L/
Required
Text: Embedded Systems:
Real-Time Interfacing to ARM Cortex
M Microcontrollers, December 2017, ISBN: 978-1463590154 (fourth
edition is ok)
Lecture Videos:
https://www.youtube.com/playlist?list=PLyg2vmIzGxXGBxFu8nvX3KBadSdsNAvbA
Equipment
to buy:
1)
Board. Every
student will be required to have a Texas
Instruments TM4C123 LaunchPad by Wednesday 1/27. 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. We require 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.
2) LCD. Each student will need to a LCD graphics display. We will be
using Sitronix
ST7735R 18-bit color 1.8" TFT LCD display for $20 plus shipping, http://www.adafruit.com/products/358
If you want a lower cost version you could order it from
China
(search ST7735R on Amazon or ebay). EE445L
has a design competition where students build embedded system. Using
the same LCD for labs and for the project will save you time. Just like
the microcontroller board, you will have the option of selling the
Sitronix LCD to students next semester.
3) Breadboard. You
will need a solderless breadboard. We strongly recommend you do not buy
used or borrow a breadboard, because as the breadboards get old they
fail in mysterious and extremely annoying ways (shorts and
opens). The Twin Industries TW-E40-1020 is a breadboard that
is easy to find. You can find it for sale on the internet by searching www.octopart.com
: https://octopart.com/search?q=TW-E40-1020
Any breadboard, any size will be OK. Another approach is to
search "solderless breadboard" on amazon.com aliexpress.com or ebay.com
4) Wirestrippers and
voltmeter. You will need own
your own pair of wire-strippers and a digital multimeter. You will be
stripping a lot of 22 or 24 gauge wire as you build the interface
circuits. Your meter must be able to measure voltage and resistance, so
a meter costing around $20 will suffice.
5) Soldering station For the hardware lab option you will need access to lab equipment including a high-quality soldering iron, lead-free solder, solder wick, solder paste, fine-tipped pliers, wire cutter, and wire stripper.
Unique Numbers:
Unique: 17225, TTh, 11:00 - 12:30, Carter Milch
Unique: 17230, MW, 12:00 – 13:30, Caleb Kovatch
Unique: 17235, MW, 15:30 - 17:00, Caleb Kovatch
Unique: 17240, MW, 17:00 - 18:30, Blake Margolis
Unique: 17245, TTh, 17:00 - 18:30, Burak Biyikli
Great TAs:
email all TAs professors and staff f21_ee445l@utlists.utexas.edu
Caleb C Kovatch
Burak Biyikli (Bee-Yuk-La)
Blake Margolis
Carter W Milch
Other references: For programming in C see the EE312 materials or the second half of the EE306 text.
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), periodic timer interrupt programming
Bridge
circuits, op amps, low pass filters, instrumentation amplifiers, DAC,
ADC,
audio amplifiers
Stepper
motors, DC motors, pulse-width modulation, integral controlEE445L 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.
Lab Schedule Please see the course web site for the latest lab schedule.
During
the week of 1/25,
please go to your
scheduled EE445L lab sessions in
on zoom 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.
Contact your TA about how lab will be managed. All
reports
must be given to the TA by Friday May 7, 5pm.
This is an approximate schedule,
please check the
website for the latest version.
Week | Chapter | Lecture | Topic YouTube Playlist |
1/19 | 1, 2 | aLec01 aLec02 |
Introduction
to
EE445L, Embedded Systems |
1/26 | 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 |
2/2 | 2,3,4, 5 | aLec08 aLec09 aLec10 aLec11 |
Critical
sections, Debugging debugging techniques, and programming style, dumps, monitor Edge-triggered interrupts BJT transistor interface |
2/9 | 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 ESP8266 wifi, TCP, and Lab 4 |
2/16 | 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 |
2/23 | 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 |
3/2 | 9 | aLec24 aLec25 |
Lab
6
demo Quiz 1 review Quiz 1 (3/4) |
3/9 | 9 10.6 |
aLec26 aLec27 |
Low
power
design, regulators, PCB layout Power supplies, batteries, regulators |
3/23 | 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 |
3/30 | 10.2 8.2 8.2.3 10.6 |
aLec33 aLec34 aLec35 aLec36 |
Sensors Op amps Threshold detection Resistance bridge, instrumentation amplifier |
4/6 | 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 |
4/13 | 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 |
4/20 | 6,8,10 3.5 10.6 |
Quiz
2
review Quiz 2, 4/22 |
|
4/27 | 11 |
aLec47 aLec48 aLec49 aLec52 |
Finite State Machines, Stepper Motors Lab 11 programming demo Real-time operating systems Communication Theory Bluetooth |
5/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 Feb 3. 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 2
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. This is a very low cost logic analyzer, especially useful for students doing hardware option.
https://www.amazon.com/Comidox-Analyzer-Device-Channel-Arduino/dp/B07KW445DJ/
Software applications
To complete EE445L labs it will take time outside of the 3 scheduled lab hours. Because we are operating remotely Spring 2021, it will be necessary for you to configure a development system on your laptop (Keil version 5.x, PuTTy, and PCB artist). This way you will be mobile and flexible about where and when you work on lab. For Keil 5.33 installation see https://www.keil.com/demo/eval/arm.htm . 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) 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: All these apply to EE445L
1) An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science and mathematics
2) An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
3) An ability to communicate effectively with a range of audiences
4) An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgements, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
5) An ability to function effectively on a team whose members tighter provide leadership, create a collaborative and inclusive environment, establish goas, plan tasks, and meet objectives
6) An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
7) An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
For more information see http://www.ece.utexas.edu/about/mission