EE445L
Embedded Systems Design Lab Fall 2014 (10/27/2014 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: UTC 3.104, Monday, Wednesday, Friday 10-10:50am
Office Hours (subject to change): M3-4 ACA 114, Tuesday 11-12 UTA 7.343, W3-4 ACA 114, Friday 1-1:45 ACA 114.
Instructor: Jonathan W. Valvano, UTA7.343, 512-471-5141
email: valvano@mail.utexas.edu (put "EE445L" in the email title, send no ZIP files)
Web page: http://users.ece.utexas.edu/~valvano
Required Text: Embedded Systems: Real-Time Interfacing to ARM Cortex M Microcontrollers, Fourth edition 2014, ISBN: 978-1463590154
Equipment to buy:
1) Board. Every
student will be required to have a Texas
Instruments TM4C123 or TM4C1294 LaunchPad by Friday 9/5. 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
http://octopart.com/partsearch#!?q=EK-TM4C123GXL
Unique Numbers:
16980 TTH 1100 to
1230 p
16985 TTH 1230 to 200 p
16990 TTH 200 to 330 p
16995 MW 330 to 500 p
17000 MW 500 to 630 p
17005 TTH 500 to 630 p
Great TAs:
email all TAs professors and staff f14_ee445l@utlists.utexas.edu
Victoria Bill
Mahesh Srinivasan
Alex Hsu
Reference
materials on the web:
hhttp://users.ece.utexas.edu/~valvano/arm/lectures2.html
Lecture notes (don't download them all, get them as we go)
http://users.ece.utexas.edu/~valvano/arm/lectures2.html
Fall 2014 Laboratory Manual
http://users.ece.utexas.edu/~valvano/EE345L/Labs/Fall2011/ General lab reference material
http://users.ece.utexas.edu/~valvano/Datasheets
Data sheets for devices used in EE445L
http://users.ece.utexas.edu/~valvano/arm/
Starter files for EE445L and EE345M
http://users.ece.utexas.edu/~ryerraballi/CPrimer/
C programming manual (for 9S12)
http://users.ece.utexas.edu/~valvano/EE345LFinal/
Old exams
Put this DLL LaunchPadDLL.dll into your Keil/ARM/bin folder so
you can simulate some of the TM4C123 LaunchPad devices
Other references: For programming in C and digital logic, see the EE312 and EE316
texts
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 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 and TM4C1294
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.
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 :
40%
Laboratory assignment with
a large weight applied to Labs 7, 8 and 11
15%
Quiz 1, closed book, Friday,
October 10, 10:00 to 10:50
am, UTC 3.104
15%
Quiz 2, open book, Friday,
November 21, 10:00 to 10:50
am, UTC 3.104
30%
Final, closed/open book, Saturday,
December 13,
2:00-5:00 pm,
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
3.25).
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.
Lab Partners:
All labs should be performed with a partner. You and your
lab partner must be registered for the same lab section. The lab
partnership
must be registered with your TA (a simple hand written note signed by
both
students will suffice) during the week of 9/2 to 9/4. Once registered,
the
partnership will continue. A partnership can be dissolved only after
discussion
with the TA. Both partners must be present during the demonstration. It
is
expected that both partners will contribute to all aspects of each lab,
and
both partners are expected to be present during the check out. The
point values
are the same for all labs. Lab partners will be selected in your lab
the week
of 9/2 to 9/4. If you want to switch sections, meet after class either
Wednesday or Friday. Once you find someone willing to swap sections,
the two of
you should go to an undergraduate advisor.
Laboratories (labs 4 and 10 are
new from
last semester)
Lab 1. ASCII
to fixed-point output to LCD
Lab 2. Debugging,
oscilloscope fundamentals, logic analyzer, dump
profile
Lab 3. Alarm clock, LCD, edge-triggered input interrupts,
and SysTick
periodic interrupts
Lab 4B. DC motor control, timer interrupts, PWM output,
input capture, integral control
Lab 5.12-bit DAC, SPI, Music player, audio amp
Lab
6. Introduction
to PCB Layout, PCB
Artist (paper design only)
Lab 7. Design and Layout of an
Embedded System
Lab 8. Software Drivers for an
Embedded System
Lab 9. Temperature measurement, ADC,
LCD
Lab 10B. Wi-Fi
communication, IEE802.11, UDP
Lab 11. Final Design and Evaluation of Embedded System
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 the website for the latest version.
|
Week |
First session |
Second session |
Friday (BB) |
Comments |
|
8/27 |
none |
none |
|
no lab activities, buy your TM4C123 board, starting 9/1 |
|
9/1 |
Meet the TA** |
partners chosen, 1 Prep |
|
Keil uVision demonstration, PCB Artist (SCH) demonstration |
|
9/8 |
1 Demo |
2 Prep |
1
Report |
Oscilloscope demonstration (**no Labs on Labor Day) |
|
9/15 |
2 Demo |
3 Prep |
2 Report |
Logic analyzer demonstration |
|
9/22 |
3 Demo |
4 Prep |
3 Report |
Spectrum
analyzer demo |
|
9/29 |
4 Demo |
5 Prep |
4 Report |
PCB Artist (PCB) demonstration |
|
10/6 |
5 Demo |
6 Prep |
|
Quiz 1 is 10/10 |
|
10/13 |
6 Demo, 5 Report |
7PrePrep |
6 Report |
|
|
10/20 |
7 Prep |
|
Rough draft |
Upload to Canvas SCH/PCB files to TA by 10am Friday 10/24 |
|
10/27 |
7 Demo |
8 Prep |
7 Report |
final SCH/PCB files due on Canvas at 10am Thursday 10/30 |
|
11/3 |
8 Demo |
9 Prep |
8 Report |
Lab 8 report is just the software |
|
11/10 |
9 Demo |
10 Prep |
9 Report |
|
|
11/17 |
10
Demo |
|
|
Quiz 2 is 11/21 **Due to the test, Lab 10 report is due Monday 10 am** |
|
11/24 |
11 Prep,10 Report |
no lab Wed or Thur |
|
week of thanksgiving |
|
12/1 |
|
11 Demo |
11 Report/Expo |
Turn in equipment by 12/5 |
"8 Demo" means your PCB Artist files are delivered to the TA
**No Labor Day lab 9/1 (make sure you go to the second session)
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/24 on Canvas
- PCB files due Thursday 10/30 10am on Canvas
- TA downloads files from Canvas and creates an XLS sheet
- PCB ordered on Thursday 10/30 by 12 noon
- Boards received Monday 11/11 or Tuesday 11/12.
- Option 1, give PCB with bare LM3S811 processor to students
- Option 2, give PCB+LM3S811 to Daryl and Mark for oven soldering
Tuesday -Friday Daryl and Mark will solder LM3S811 onto PCB
Friday 11/14 or Monday 11/17 PCB with processor soldered returned to students
- Lab 11 prep 11/24 or 11/25 all parts soldered and microcontroller can be programmed.
During the week of 9/2 to 9/3,
please go to your
scheduled EE445L lab sessions in ENS252A to get a demonstration of the
lab
equipment. If you do not already own a TM4C123 or TM4C1294
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. 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 5, 2pm.
This is an approximate schedule,
please check the
website for the latest version.
| Week | Chapter | Topic |
| 8/27 | 1, 2 | Arm Cortex M architecture, features of the TM4C123, fixed-point |
| 9/1 | 2, 3 | Lab environment, Lab1 project , example decimal fixed point, debugging techniques, call graphs, flow charts, data flow graphs, Lab2 project, debugging techniques, and programming style, dumps, monitor |
| 9/8 | 2,3, 4,5 | Draw pictures showing elements on the stack for uVision compiler, show stack frame during interrupt service, debugging from an assembly language perspective, real time systems. Interface binary switch using pull-up resistor to an input port, draw flowchart of SysTick project, profiling with the scope showing just how small a percentage of time is spent in the background, globals/locals, static variables, threads, draw thread trace |
| 9/15 | 9 | Profiling, LCD Displays, blind cycle versus busy-wait synchronization, show how to maintain time of day in Timer, allocation of tasks between the foreground and background. Digital logic, input/output voltage/current, NPN transistor interface of a speaker, capacitive and inductive loads |
| 9/22 | 4,5 | Motors, PWM, input capture, interface electronics (L293, TIP120, IRF540), snubber diodes, integral control |
| 9/29 | 8, 9 | SSI/DAC interface, signal generation, Timer interrupts, real-time systems, MC34119 audio amplifiers |
| 10/6 | 9 | Sound waves – Quiz 1 review , Quiz 1 |
| 10/13 | 9 | Embedded system layout, power, clock, reset, packaging |
| 10/20 | 9 | Low power design, Guest lecture, Resistance bridge, instrumentation amplifier, Butterworth filters |
| 10/27 | 8 | Data Acquisition Systems, Nyquist Theorem, Aliasing, FFT |
| 11/3 | 10 | Sampling Jitter, Input capture |
| 11/10 | 4 | Fifo queue analysis and robust software, MSP430 |
| 11/17 | 11 | Communications Quiz 2 review , Quiz 2 |
| 11/24 | 11 | Wifi, Wireless communication |
| 12/1 |
Legal Stuff: The 12th class day is September 12. 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.
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 8, 9,11. You will order something as part of Lab
6. Do not order
anything now; wait until you design
Lab 8, 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
1) INA122P rail-to-rail instrumentation amp
2) OPA2350PA rail-to-rail dual op amp
3) LM4041CILPR adjustable shunt reference
4) TLV5616CP 12-bit DAC (or TLV5616IP )
TLC2272ACP rail-to-rail dual op amp
TLC2274ACN rail-to-rail quad op amp
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)
Instructions for soldering pins onto the TM4C1294: TM4C1294soldering.pdf
You will need two Samtec
49 by 1, right angle pin headers
TSW-149-09-L-S-RE and TSW-149-08-L-S-RA or
TSW-149-09-F-S-RE and TSW-149-08-F-S-RA
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
Emergency
Preparedness and Emergency Plan Instructions
Please review http://users.ece.utexas.edu/~valvano/Volume1/EmergencyTerms.pdf
Every member of the university community
must take
appropriate and deliberate action when an emergency
strikes a building, a portion of the campus, or entire campus
community. Emergency preparedness means we
are all ready to act for our own safety and the safety of others during
a crisis. It takes an effort by all of us to
create and sustain an effective emergency preparedness system. Your
support is important to achieving the
best possible outcomes during a crisis event.
As a University faculty member, you are
responsible
for pointing out your classrooms' building emergency
evacuation routes and for reviewing emergency procedures with students
at the beginning of each semester.
This review should include a mention of the monthly emergency
communications test (every first Wednesday
at 11:50 a.m.) and the list of communications channels the university
uses during emergencies. It should also
include a review of the attached document outlining emergency terms
(e.g., the difference between “shelter-inplace”
and “lockdown”) and instructions for faculty and
students
to follow during emergencies. As a matter of
convenience, we recommend including this information in your syllabus
along with the phone number for the
Behavior Concerns Advice Line (BCAL: 512-232-5050). This is the number
to call if you have concerns
regarding the attitude or actions of students, staff, or other faculty.
Finally, at the end of your emergency
preparedness
review, request that students requiring assistance in
evacuation inform you in writing of their needs during the first week
of class. This information must then be
provided to the Fire Prevention Services office by fax (512-232-2759),
with "Attn. Mr. Roosevelt Easley" written
in the subject line.
Thank you in advance for taking the time
to ensure
the safety of your classroom. I assure you this small effort
can yield much greater rewards should the unthinkable happen. If you
would like more information regarding
emergency preparedness, visit http://www.utexas.edu/safety/preparedness/.