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:
ICEN 370: Digital Signal Processing and ICEN 333: Programming at the Hardware Software Interface
The students are expected to be comfortable in Unix/Linux environment.
Lecture:
Time: Tuesday and Thursday, 01:15-02:35PM
Location: Earth Science & Mathematics (ES) 0019
Office Hours:
Time: Tuesday and Thursday, 12:00-1:00PM and also by appointment
Location: Library (LI) 89B
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.
Hardware:
We will use Raspberry Pi for the lab. You will have to check-out the Pi Kit from the Department and will have to bring it every day in class to work on it. You will also need to bring your own laptop everyday in the class. After the semester is over, you will have to return the kit to the Department. Contact Department Secretary, Deneen Rogers, to get your Raspberry Pi Kit.
Software: We will use bash script, Python and C/C++ in Raspbian OS.
The project is a semester long work based on the materials discussed in this course. Students are encouraged to work in groups of two. Meet with the instructor to discuss the scope and milestones of the project during the office hours. The project constitutes of 30% of your final grade, 10% 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. Each team can is alotted a budget of $30 for their project, which the instructor will buy for the team. The project should have model, design and analysis component, showcasing a Cyber-Physical Systems. The final in-class presentation should clearly clarify each student's 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.
Week | Date | Discussion Topic | Other Information |
---|---|---|---|
1 | Aug 28 | Introduction | Use Lab Manual to setup the platform for lab |
Aug 30 | Embedded Architecture | ||
2 | Sep 4 | ||
Sep 6 | Basic Electronics and I/O | BCM2837 Datasheet | |
3 | Sep 11 | Memory Architecture | |
Sep 13 | Input/Output Lab | ||
4 | Sep 18 | Model Based Design | |
Sep 20 | Modeling Physical Dynamics | Submit Project Title, Short Scope of Project and Team | |
5 | Sep 25 | Work on Project | |
Sep 27 | PWM | C code, Python code | |
6 | Oct 2 | Feedback Control | |
Oct 4 | Serial Communication | ||
7 | Oct 9 | Soft PWM Lab | |
Oct 11 | Discrete Dynamics | ||
8 | Oct 16 | SPI Lab | MCP3008 and Temperature Sensor Manuals |
Oct 18 | Midterm - Closed Book, closed notes, in-class exam. | ||
9 | Oct 23 | Short Project Presentation (10 mins each group) | Project Proposal Due (use IEEE conference style in LaTeX, max 2 pages) |
Oct 25 | ADC | ||
10 | Oct 30 | DAC | |
Nov 1 | Sensors and Actuators | ||
11 | Nov 6 | I2C, UART & USB | |
Nov 8 | |||
12 | Nov 13 | Multitasking - Processes & Threads | |
Nov 15 | |||
13 | Nov 20 | Scheduling | |
Nov 22 | Thanksgiving Break | ||
14 | Nov 27 | Deadline based Scheduling | |
Nov 29 | I2C Lab by yourself (Instructor in conference) | ||
15 | Dec 4 | Security in CPS | |
Dec 6 | Final Project Presentation Rescheduled on Dec 14 | Final Project Report Due (use IEEE conference style in LaTeX, max 5 pages) |
|
Dec 18 | Final Examination (8:00am-10:00am) Closed Book, closed notes, in-class written exam. |