Lecture 00 – Introduction to Embedded Systems

Course Description

In this course, students learn about hardware and software aspects of embedded systems. Students learn C programming language through use in an embedded platform. The course builds on CMPE 310, introducing advanced topics including communication interfaces, advanced IO devices and other peripherals, multitasking, firmware, real-time operating systems/embedded operating systems and device drivers. The course will provide a hands-on experience in designing and ramming an embedded system using a microcontroller-based development platform.

3 units

What is an Embedded System?

Definition: Embedded System

An embedded system is a system embedded in a larger system.

course text

Common characteristics:

Key Markets

Automotive

alt

Medical

https://medlineplus.gov/ency/article/007369.htm

CPS Controllers

CPS System:

graph LR; subgraph ControlSystem Sensor--analog signal--->ADC--digital signal-->DigitalController--digital signal-->DAC--analog signal-->Actuator; end Actuator--physical-->Plant; Plant--physical--->Sensor; Command-->DigitalController;

Security

Roots of Trust (RoT)

Highly reliable hardware, firmware, and software components that perform specific, critical security functions. Because roots of trust are inherently trusted, they must be secure by design. Roots of trust provide a firm foundation from which to build security and trust. -- https://csrc.nist.gov/glossary/term/roots_of_trust

Trusted Platform Module (TPM)

technology is designed to provide hardware-based, security-related functions. A TPM chip is a secure crypto-processor that helps you with actions such as generating, storing, and limiting the use of cryptographic keys. The following topics provide details.
source: https://docs.microsoft.com/en-us/windows/security/information-protection/tpm/trusted-platform-module-top-node

Instrumentation

alt
alt
TechEdu.com: Jenway 628501 Fluorometer - 6285 Fluorimeter, PMT Detector
alt

Mohammad Wajih Alam, Khan A. Wahid, Raghuveera Kumar Goel, and Kiven Erique Lukong, "Development of a low-cost and portable smart fluorometer for detecting breast cancer cells," Biomed. Opt. Express 10, 399-410 (2019)
alt

https://mars.nasa.gov/msl/spacecraft/instruments/summary/

Why Learn Emedded Systems?

Implementation Technology/Devices

Why Microcontrollers?


Google Shopping Jan 2022

Common Varients:

Why AVR?

Our Microcontroller

Our Book (Required)

https://bcs.wiley.com/he-bcs/Books?action=index&bcsId=11853&itemId=1119457505

Embedded Systems: A Contemporary Design Tool, 2nd Edition by James K. Peckol, Publisher: John Wiley & Sons,Inc. (a.k.a. Wiley),

ISBN-13: 978-1119457503
ISBN-10: 1119457505

Provided Lecture Notes

Note: Throughout this course, lectures and provided slides do not encompass all material in the course. They are meant to be complementary and not a substitute for reading material and HW.

Diagram of a Microprocessor-based Embedded System

alt

The die from an Intel 8742, an 8-bit microcontroller that includes a CPU running at 12 MHz, 128 bytes of RAM, 2048 bytes of EPROM, and I/O in the same chip https://en.wikipedia.org/wiki/Microcontroller

Knowledge and Skills

Design and Development of an embedded system

Creation of a requirements, specifications, and functional description.

Course Book
Course Book

   

Course Book

Formalizing the system and engineering teak involves thinking of the system and environment in terms of many processes/tasks with functional descriptions

Diagrams

Organization in crucial for engineering of complex systems.
Seek tools, diagraming, and documentation methods that suit the job as well as your personal and team needs.

Several diagram types can be useful for describing requirements and solutions

Traditional Design and Hardware/Software Codesign

Course Book

   

Course Book

Design Partitioning and Mapping of Tasks to Technologies

Hardware/Software Partitioning

graph LR; subgraph tasks A B C D E end subgraph technologies FPGA uP/Software Specialized_Hardware_0 Specialized_Hardware_1 end A-->FPGA A-->uP/Software B-->uP/Software C-->Specialized_Hardware_0 D-->uP/Software E-->Specialized_Hardware_1

Top-Down Design

top-down design: step-wise refinement, break large problem into smaller problems, subdivide/partition task based on guesses as to what building blocks are realizable and achieable be different design efforts (experience helps immensly here)
bottom-up design: start with something small and achivable, lower risk, and build on top

Course Book

Design Cycles

Waterfall Model

Course Book

The waterfall model

The V Cycle Model

Course Book

The spiral model

Course Book

The spiral model helps visualize the cyclic nature of engineering, but also captures the possibility of staged releases and product revisions
Additional Ref: https://en.wikipedia.org/wiki/Spiral_model

Evolving Systems

A visual depiction of modern software system development:

https://insights.sei.cmu.edu/blog/systems-engineering-and-software-engineering-collaborating-for-the-smart-systems-of-the-future/

Syllabus

Course website: https://eclipse.umbc.edu/robucci/cmpe311/

Reading for First Week

Foward and Chapter 1