This course introduces students to the basics of design, model, analysis, and control for embedded systems operating in real time. Students learn how to combine physical processes with computation. The course has a strong laboratory component, with emphasis on a semester-long project.
Topics expected to be covered include the following:
1. Models of computation: finite state machines, threads, ordinary differential equations, hybrid systems, actors, discrete-events, data flow
2. Basic analysis, control, and systems simulation: Bisimulations, reachability analysis, controller synthesis, approximating continuous-time systems.
3. Interfacing with the physical world: sensor/actuator modeling and calibration, concurrency in dealing with multiple real-time streams, handling numerical imprecision in software
4. Mapping to embedded platforms: real-time operating systems, execution time analysis, scheduling, concurrency
5. Distributed embedded systems: Protocol design, predictable networking, security
Prerequisites:
I ECE 371: Signals and Systems and I ECE/CSI 333: Computer Organization
The students are expected to be comfortable in Unix/Linux environment.
Lecture:
Time: Tuesday and Thursday, 10:30AM-11:50AM
Location: Virtual Synchronous, requires webcam to be turned on
Lab:
Time: Friday, 11:40AM-02:30PM
Location: Virtual Synchronous, requires webcam to be turned on
Office Hours:
Time: Tuesday and Thursday, 12:30-1:30PM and also by appointment
Location: Virtual Synchronous, requires webcam to be turned on
Instructor |
---|
Prof. Dola Saha Email: dsaha AT albany DOT edu |
Required:
Edward A. Lee and Sanjit A. Seshia, "Introduction to Embedded Systems, A Cyber-Physical Systems Approach", Second Edition, MIT Press, ISBN 978-0-262-53381-2, 2017, available for download.
Highly Recommended:
Derek Molloy, "Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux", Wiley, ISBN 978-1-119-18868-1, 2016.
Further Reference:
Assignments: Assignments will be posted in Blackboard. No late assignments will be accepted. All assignments are due by 11:59PM on the due date in Blackboard (unless otherwise specified). Any re-grading requests will be considered up to 5 business days after posting the grades for the corresponding assignment. No re-grading requests will be entertained after the 5-day period has passed. You are not supposed to collaborate on homework assignments.
Academic Honesty and Overall Regulations: Every student has the responsibility to become familiar with the standards of academic integrity at the University. Plagiarism and any act of academic dishonesty will not be tolerated and will be reported to the Graduate/Undergraduate Education in UAlbany. Read the Standards of Academic Integrity and Policies in the Undergraduate Bulletin or Graduate Bulletin.
Software: We will use C/C++, bash script and Python in Raspbian OS.
Lab Manual: Use Lab Manual in the lab. Use BCM2837 Datasheet for reference.
The project is a semester long work based on the materials discussed in this course. Meet with the instructor to discuss the scope and milestones of the project during the office hours. The project constitutes 25% of your final grade, 5% for proposal submission and 20% for final submission. It is expected that you will use Raspberry Pi and a set of sensors and actuators for your project from the kit that you purchased. The project should have model, design and analysis component, showcasing a Cyber-Physical Systems. The final in-class presentation should clearly clarify your contribution in the project. Both the project proposal and final submission should be written in IEEE Conference format. Project proposal should not exceed 2 pages, while the final submission should not exceed 5 pages.
NOTE: Sample Project Report from last year and the Final Presentation.
Week | Date | Lecture Topic | Lab Topic | Other Topic |
---|---|---|---|---|
1 | Aug 25 | Introduction | ||
Aug 27 | Prof. Saha in conference Use Lab Manual by yourself to setup the platform for the lab | |||
Aug 28 | No lab on first week. | |||
2 | Sep 1 | Input and Output | ||
Sep 3 | Model Based Design | |||
Sep 4 | Lab 1: Basic I/O: Pseudo File System. | |||
3 | Sep 8 | Input and Output (contd.) | Submit Project Title, Short Scope of Project | |
Sep 10 | Dynamic Models | |||
Sep 11 | Lab 2: Basic I/O: Address Map | |||
4 | Sep 15 | |||
Sep 17 | Discrete Dynamics | |||
Sep 18 | Lab 3: Analog Output | |||
5 | Sep 22 | Sensors and Actuators | ||
Sep 24 | ||||
Sep 25 | Lab 4: Analog Input DHT 11 Manual | |||
6 | Sep 29 | |||
Oct 1 | Communication | |||
Oct 2 | Lab 5: More I/O | |||
7 | Oct 6 | |||
Oct 8 | Class cancelled due to power outage. | |||
Oct 9 | Lab cancelled due to power outage. | |||
8 | Oct 13 | |||
Oct 15 | Midterm - Closed Book, closed notes, in-class exam. | |||
Oct 16 | Midterm SHORT Project Presentation Lab | Project Proposal Due (use IEEE conference style in LaTeX, max 2 pages) |
||
9 | Oct 20 | Architecture | ||
Oct 22 | ||||
Oct 23 | Lab 6: I2C ADXL 345, MPU-6050 (Datasheet, Register Map) | |||
10 | Oct 27 | Multitasking | ||
Oct 29 | ||||
Oct 30 | Lab 7: Servo Motor | |||
11 | Nov 3 | Scheduling | ||
Nov 5 | ||||
Nov 6 | Lab 8: Stepper Motor | |||
12 | Nov 10 | Deadline-based Scheduling | ||
Nov 12 | ||||
Nov 13 | Lab 9: Work on Final Project | |||
13 | Nov 17 | Security | ||
Nov 19 | ||||
Nov 20 | Lab 10: Work on Final Project | |||
14 | Nov 24 | Final Project Presentation | ||
Dec 3 | Final Examination (10:30am-12:30pm) Closed Book, closed notes, in-class written exam. | Final Project Report Due (use IEEE conference style in LaTeX, max 5 pages) |