National Institute of Technology Rourkela

राष्ट्रीय प्रौद्योगिकी संस्थान राउरकेला

ଜାତୀୟ ପ୍ରଯୁକ୍ତି ପ୍ରତିଷ୍ଠାନ ରାଉରକେଲା

An Institute of National Importance

Syllabus

Course Details

Subject {L-T-P / C} : CS4433 : Embedded Systems { 3-0-0 / 3}

Subject Nature : Theory

Coordinator : Prof. Sumanta Pyne

Syllabus

1 INTRODUCTION
1.1 Features of Embedded Systems
1.2 Design Metrics
1.3 Embedded System Design Flow
2 Microcontroller
2.1 ARM Microcontroller
2.2 Structure of ARM7
Control and Status Signals in ARM7
2.3 ARM Pipeline
3-stage Pipeline
5-stage Pipeline
6-stage Pipeline
8-stage Pipeline
2.4 Instruction Set Architecture (ISA)
Registers
Data Processing Instructions
Data Transfer Instructions
Multiplication Instructions
Software Interrupt
Conditional Execution
Branch Instruction
Swap Instruction
Modifying Status Registers
2.5 THUMB Instructions
2.6 Exceptions in ARM
2.7 Programming
3 Digital Signal Processors
3.1 Architecture of Digital Signal Processors
3.2 High-speed Data Access
Memory Architecture Design
Address Generation Units and Special Addresing Modes
Direct Memory Access (DMA) Controllers
3.3 Fast Computation
Arithmetic Processing
Instruction Pipelining
Parallel Architectures
3.4 Higher Accuracy
Fast Execution Control
3.5 C6000 Family of DSPs
C6000 DSP Core
C6000 DSP Pipeline
Software Pipelining
Software Pipelined Loop (SPLOOP) Buffer
4 Field Programmable Gate Arrays
4.1 Field Programmable Devices
4.2 Programmability of FPGA
4.3 FPGA Logic Block Variations
4.4 FPGA Design Flow
4.5 Modern FPGAs
5 INTERFACING
5.1 Serial Peripheral Interface (SPI)
5.2 Inter-Integrated Circuit (IIC, I^2C)
5.3 RS-232C
5.4 RS-422
5.5 RS-485
5.6 Universal Serial Bus (USB)
Physical Interface
USB Connectors
5.7 Infrared Communication - IrDA
Controller Area Network - CAN
Bluetooth
6 REAL-TIME OPERATING SYSTEM
6.1 Types of Real-Time Tasks
Hard Real-Time Tasks
Firm Real-Time Tasks
Soft Real-Time Tasks
6.2 Task Periodicity
Periodic Tasks
Sporadic Tasks
Aperiodic Tasks
6.3 Task Scheduling
6.4 Classification of Scheduling Algorithms
6.5 Clock Driven Scheduling
Table Driven Scheduling
Cyclic Scheduling
6.6 Event Driven Scheduling
Foreground-background Scheduling
Rate Monotonic Scheduling
Earliest Deadline First Scheduling
6.7 Resource Sharing
Priority Inheritance Protocol
6.8 Other Features of RTOS
6.9 Commercial RTOS
General Purpose Operating Systems
Windows CE
LynxOS
VxWorks
Jbed
pSOS
7 SPECIFICATION TECHNIQUES
7.1 Introduction
7.2 State Chart
Modelling Hierarchy
7.3 Specification and Description Language (SDL)
Signal Communication
Timer
7.4 Petri Nets
Basic Petri Nets
Properties of a Petri Net
Extensions to Petri Nets
Embedded System Modelling with Petri Nets
7.5 Unified Modelling Language (UML)
Activity Diagram
Class Diagram
Communication/Collaboration Diagram
Component Diagram
Use Case Diagram
Sequence Diagram
Other Diagrams
Case studies using UML Specification
8 HARDWARE-SOFTWARE COSIMULATION
8.1 Dimensions in Cosimulation
8.2 Cosimultion Approaches
8.3 A Typical Cosimulation Environment
Abstract-level Cosimulation
Detailed-level Cosimulation
Interface Issues
Automatic Interface Generation
9 HARDWARE-SOFTWARE PARTITIONING
9.1 Partitioning Using Integer Programming
9.2 Extended Kernighan-Lin Heuristic
Extending KL-Heuristic for Hardware-Software Partitioning
9.3 Partitioning Using Genetic Algorithm
9,4 Partitioning Using Particle Swarm Optimization (PSO)
9.5 Extended Partitioning Problem
Binary Partitioning
Extended Partitioning
9.6 Power Aware Partitioning on Reconfigurable Hardware
Single Application Partitioning
Multiple Application Partitioning
10 FUNCTIONAL PARTITIONING AND OPTIMIZATION
10.1 Functional Partitioning
Model
Partitioning Methodology
10.2 High-level Optimizations
Loop Optimizations
Floating to Fixed Point Conversion
11 LOW POWER EMBEDDED SYSTEM DESIGN
11.1 Sources of Power Dissipation
Dynamic Power Dissipation
Static Power Dissipation
11.2 Power Reduction Techniques
Algorithmic Power Minimization
Architectural Power Minimization
Logic and Circuit Level Power Minimization
Control Logic Power Minimization
11.3 System Level Power Management
Advanced Configuration and Power Interface (ACPI)

Course Objectives

  • Introduction of Embedded Systems.
  • To teach how cost, performance and energy are dependent on the amount of hardware and software used to design a system.

Course Outcomes

Students will be able to use the basic concepts of Embedded Systems to solve real life problems.

Essential Reading

  • Santanu Chattopadhyay, Embedded System Design, PHI Learning Pvt. Ltd.
  • David E. Simon, An Embedded Software PrimerEmbedded System Design, Pearson

Supplementary Reading

  • Tammy Noergaard, Embedded Systems Architecture, Newnes
  • Michael Barr, Programming Embedded Systems in C and C++, O'reilly