Professional Documents
Culture Documents
CPE446 Real Time Embedded Systems
CPE446 Real Time Embedded Systems
Real Time Embedded Systems Spring 2022
COMSATS University Islamabad
COURSE DESCRIPTION FILE
CPE446 Real Time Embedded Systems
DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING
COMSATS University Islamabad
COURSE DESCRIPTION FILE
CPE446 Real Time Embedded Systems
DEPARTMENT OF ELECTRICAL & COMPUTER ENGINEERING
Real Time Embedded Systems
Course code:
CPE446 (3+1)
Prerequisites:
Microprocessor System and Interfacing (CPE342)
Co requisites:
None
Course Catalog Description:
To introduce students concepts, analytical tools and design techniques of embedded systems. To
investigate topics from hardware/software partition, development tools selection, circuit and operating
system design, to system verification and implementation. Analysis and optimization processes in support
of algorithm and architecture design. Modern design requires a designer to have a unified view of
software and hardware, seeing them not as completely different domains, but rather as two
implementation options along a continuum of options varying in their design metrics (cost, performance,
power, flexibility, etc.). It further consists of Processor Technologies, IC Technologies, Custom Single
Purpose, General Purpose and General‐Purpose Processor Design. Utilizing Memory according to
requirement and its’ hierarchy. At the end Real Time Operating System overview, Multitasking, Scheduling
Techniques, etc. would be introduced.
Textbook:
1. Embedded System Design A Unified Hardware Software Approach by Frank Vahid, Tony
Givargis.
Reference Books:
1. Real Time Systems Design and Analysis (3rd Edition) Phillip A. Laplante.
2. Real‐Time Embedded Systems by Xiacong Fan.
Course Learning Objectives:
This course aims to familiarize the undergraduate students to the fundamental technologies required to
design embedded systems. The students will learn various metrics to evaluate various embedded system
architectures and techniques and how various hardware paradigms are used in designing embedded
systems. Students will also learn to achieve multi‐tasking using Real Time Operating Systems (RTOS).
Furthermore, students will also learn basic introduction of Internet of Things(IoT).
Course Learning Outcomes:
After successfully completing this course, the students will be able to:
1. Understanding the use of various design metrics and compare various processors, integrated circuits
and design technologies for hardware/software design of embedded systems. (C2‐PLO1)
2. Analyze design techniques to implement problems on custom‐single purpose and general‐purpose
processors. (C5‐PLO2)
3. Analyze the concepts of Real‐Time Operating Systems (RTOS), scheduling techniques, memory
management techniques for optimized performance in embedded systems. (C4‐PLO2)
4. Understand the basic architecture of Internet of Things (IOT) and learn the basic framework for
implementation. (C4‐PLO2)
5. Design and conduct experiments and analyze and interpret the experimental data to derive
valid conclusions. (C6‐PLO4)
6. Present and analyze data with effective report writing skills. (A2‐PLO10)
Course Schedule:
4 credit hours/week
Topics Covered:
1. Overview of Real time Embedded Systems, discussion of real‐world examples and define the scope
for embedded systems (1 week)
2. Identify common design metrics used in embedded system designing (1 week)
3. Discussion of various Processor technologies, IC technologies and Design Technologies (2 weeks)
4. Design of hardware based Custom Single Purpose Processor (2 weeks)
5. Design of Software based General Purpose Processors (2.5 weeks)
6. Design of Standard Single Purpose Processor called Peripherals (2.5 weeks)
7. Memory architectures (1 week)
8. Introduction to Real Time Operating System (1 Week)
9. Memory management in RTOS (1 Week)
10. Real Time Scheduling Algorithms (2 Weeks)
11. Basic architecture of Internet of Things (IoT) and its implementation framework (2 weeks)
Assessment Plan:
Theory Quizzes (4) 15%
Homework assignments 10%
Mid‐term exam (in class, 60‐80 minutes) 25%
Terminal exam (3 hours) 50%
Total (theory) 100%
Lab work Lab reports (12) 25%
Lab Mid‐term exam 25%
Lab project and terminal exam 50%
Total (lab) 100%
Final marks Theory marks * 0.75 + Lab marks * 0.25
Learning Outcomes Assessment Plan (Tentative):
Sr. # Course Learning Outcomes Assessment
1. Quiz 1
2. Quiz 2
3. Quiz 3
4. Quiz 4
5. Assignment 1
6. Assignment 2
7. Assignment 3
8. Assignment 4
9. Mid‐term Exam
10. Terminal Exam
Table 1: Assessment Plan for Course Learning Outcomes
Mapping Course Learning Outcomes (CLOs) to Program Learning Outcomes (PLOs):
PLO 1 Engineering Knowledge: An ability to apply knowledge of mathematics, science,
engineering fundamentals and an engineering specialization to the solution of complex
engineering problems.
PLO 2 Problem Analysis: An ability to identify, formulate, research literature, and analyze
complex engineering problems reaching substantiated conclusions using first principles
of mathematics, natural sciences and engineering sciences.
PLO 3 Design/Development of Solutions: An ability to design solutions for complex engineering
problems and design systems, components or processes that meet specified needs with
appropriate consideration for public health and safety, cultural, societal, and
environmental considerations.
PLO 4 Investigation: An ability to investigate complex engineering problems in a methodical way
including literature survey, design and conduct of experiments, analysis and interpretation of
experimental data, and synthesis of information to derive valid conclusions.
PLO 5 Modern Tool Usage: An ability to create, select and apply appropriate techniques,
resources, and modern engineering and IT tools, including prediction and modeling, to
complex engineering activities, with an understanding of the limitations.
PLO 6 The Engineer and Society: An ability to apply reasoning informed by contextual
knowledge to assess societal, health, safety, legal and cultural issues and the consequent
responsibilities relevant to professional engineering practice and solution to complex
engineering problems.
PLO 7 Environment and Sustainability: An ability to understand the impact of professional
engineering solutions in societal and environmental contexts and demonstrate
knowledge of and need for sustainable development.
PLO 8 Ethics: Apply ethical principles and commit to professional ethics and responsibilities and
norms of engineering practice.
PLO 9 Individual and Team Work: An ability to work effectively, as an individual or in a team,
on multifaceted and /or multidisciplinary settings.
PLO 10 Communication: An ability to communicate effectively, orally as well as in writing, on
complex engineering activities with the engineering community and with society at large,
such as being able to comprehend and write effective reports and design documentation,
make effective presentations, and give and receive clear instructions.
PLO 11 Project Management: An ability to demonstrate management skills and apply
engineering principles to one’s own work, as a member and/or leader in a team, to
manage projects in a multidisciplinary environment.
PLO 12 Lifelong Learning: An ability to recognize importance of, and pursue lifelong learning in
the broader context of innovation and technological developments.
PLOs
PLO10
PLO11
PL012
PLO 9
PLO1
PLO2
PLO3
PLO4
PLO5
PLO6
PLO7
PLO8
CLOs
CLO1 C2
CLO2 C3
CLO3 C4
CLO4 C4
CLO5 C6
CLO6 A2
Table 2: Mapping CLOs to PLOs
PLO Coverage Explanation:
PLO 1: Engineering Knowledge:
The home works and exams require direct application of mathematics and engineering knowledge to
successfully complete the course. Students learn how mathematical concepts are used to understand and
develop wireless communication techniques and design the systems (High relevance).
PLO 2: Problem Analysis:
The course shows the value of theory, by making it possible for the students to solve relevant engineering
problems. The students learn to analyze complex problems in cellular systems (High relevance).
PLO4 – Investigation:
The ability to design and conduct experiments, analyse/interpret results and deduce informed conclusions
is developed in the students through multiple open‐ended labs.
PLO 10: Communication
The course project to be done in teams imparts various written and oral communication skills in project
reports and project presentations. It also develops the ability to function in teams as well as honing on
time management skills. As an experiment a cross‐departmental team can be established to work on a
larger project that requires HW and SW skills. (Low relevance to course)
PLO 5 ‐ 9, 11 and 12 are not covered and checked in the course directly.
ANNEXURE‐I
Tentative Lecture Breakdown (30 Lectures):
No. of
Detailed topics
lectures
Embedded Systems Overview
Real world embedded system examples
Common Design Metrics in Embedded System Design
2
The Time to Market Design Metric
The NRE and Unit Cost Design Metric
The Performance
Processor Technology ……… General Purpose, Single Purpose, Application Specific
Processors 2
IC Technology …………Fully Custom/VLSI, Semicustom ASIC, PLD
Design Technology
Compilation/ Synthesis
Libraries/IP 2
Test Verification
Design Productivity Gap…………..The mythical man month problem
Custom Single Purpose Processor: Hardware
Design using Combinational Logic , Sequential Logic 2
Custom Single Purpose Processor Design
RT‐level custom single‐purpose processor design
2
Optimizing custom single‐purpose processor design
General Purpose Processors: Software
Basic Architecture………..Datapath, Control Unit, Memory
2
Instruction Execution, Pipelining
Superscalar and VLIW Architecture
Instruction Set, Program and Data Memory Space, Registers, I/O,
Interrupts, Assembly Language Programming of Device Drivers
2
Development Environment…………. Software Development Process,
Design Flow and Tools
Instruction Set Simulator for a simple processor
Testing and Debugging
2
Application Specific Instruction Set Processor (ASIP)
Microcontrollers, Digital Signal Processing (DSP)
Selecting a Microprocessor, General Purpose Processor Design
Standard Single Purpose Processor: Peripherals
Timers, Counters and Watchdog Timers
Example: Reaction Time and ATM Timeout using Watchdog Timer 2
UART
Pulse Width Modulator, Controlling DC Motor using PWM
LCD Controller, Keypad Controller, Stepper Motor Controller
2
Analog to Digital Converter using Successive Approximation
Introduction to Real Time Operating System (RTOS)
Multitasking and RTOS
RTOS support of Multitasking 2
Flow Control with Preemption
States available to a Task
Scheduling
Priority Driven Scheduling
Inter‐task communication and Synchronization
Resource Sharing …… Mutual Exclusion Problem 2
Task Synchronization…….. Signal Problem
Semaphore
Solution to Controller Parameter (Mutual Exclusion) problem using Semaphore
Real Time Scheduling Algorithms
Rate Monotonic Scheduling Algorithm
Schedulability Analysis using: 2
Liu and Layland Result
Completion Time Method
Earliest Deadline First Scheduling
Round Robin Scheduling 2
Advantages and Disadvantages of Dynamic Scheduling
Internet of Things
What is thing in IoT (Internet of Things) 2
IoT Architecture and Protocol Stack
ANNEXURE‐II
List of Experiments:
Lab # Details
Introduction to Development Tools and Lab Software. Understanding digital I/O ports,
01
interfacing LED and push button with Arduino Board
02 Interfacing seven segment display, keypad and LCD.
03 Introduction and implementation of ADC and DAC with Arduino
04 Interfacing and Controlling DC Motor and Stepper Motor with Arduino
05 Interfacing Servo Motor with Arduino
06 Introduction to Serial Communication and interfacing using Bluetooth module
07 Implementation of I2C with devices
08 Introduction to FreeRTOS and its implementation
09 Implementation of RMS and EDF scheduling algorithm using FreeRTOS
10 Control of AC loads using embedded hardware
11 Introduction to IoT using ESP32 Development Board and control using local network
12 Control of Home Appliances over Internet or Cloud using ESP32
13 Lab dedicated to implementation of lab project.
14 Lab terminal exam and viva.
Version Applicable From
Version 1 Spring 2019
Version 2 Spring 2020