G H Raisoni College of Engineering
Subject: Embedded System Design and RTOS (UECL303)
                Prof. Kamlesh Kalbande
                        Topic
            Introduction to Embedded Systems
                        Programme Educational Objectives
   PEO1: Technical Competence: Apply their technical skills to find solution of
    complex problems encountered in Modern Analog & Digital Electronics
    Engineering practices.
   PEO2: Competent professionals: Function effectively in the rapidly changing
    world in broad context of electronics engineering to develop new products and
    technologies for mankind.
   PEO3:Satisfaction of Stake holders and quality assurance, Citizenship in the
    Global Community, Value based education Cater to all Stakeholders, Quality
    Assurance & take up higher studies in electronics and allied areas in engineering
   PEO4:Research and development innovation: Utilize their skills in ethical and
    professional manner to contribute to research & development of innovative
    products and achieving Higher Education
                              Programme Outcomes (PO)
Graduates of shall be able to
1. Engineering knowledge: Apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization to the solution of complex engineering problems.
2. Problem analysis: Identify, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of mathematics,
natural sciences, and engineering sciences.
3. Design/development of solutions: Design solutions for complex engineering problems and
design system components or processes that meet the specified needs with appropriate
consideration for the public health and safety, and the cultural, societal, and environmental
considerations.
4. Conduct investigations of complex problems: Use research-based knowledge and research
methods including design of experiments, analysis and interpretation of data, and synthesis of the
information to provide valid conclusions.
                         Programme Outcomes (PO)
5. Modern tool usage: 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.
6. The engineer and society: Apply reasoning informed by the contextual
knowledge to assess societal, health, safety, legal and cultural issues and the
consequent responsibilities relevant to the professional engineering practice.
7. Environment and sustainability: Understand the impact of the professional
engineering solutions in societal and environmental contexts, and demonstrate the
knowledge of, and need for sustainable development.
8. Ethics: Apply ethical principles and commit to professional ethics and
responsibilities and norms of the engineering practice.
                          Programme Outcomes (PO)
10. Communication: Communicate effectively 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.
11. Project management and finance: Demonstrate knowledge and understanding
of the engineering and management principles and apply these to one’s own work,
as a member and leader in a team, to manage projects and in multidisciplinary
environments.
12. Life-long learning: Recognize the need for, and have the preparation and ability
to engage in independent and life-long learning in the broadest context of
technological change
                Programme Specific Outcomes (PSOs)
Graduates      of     Electronics     and      Telecommunication
Engineering shall be able to
PSO1: Demonstrate industrial practices learned through
internship and solve the industrial problem using technical
knowledge acquired.
PSO2: Apply skills in multi-disciplinary area of renewable
energy, automotive, agricultural & heat transfer.
PSO3: Utilize skills in developing innovative prototype concepts
enabling to protect intellectual property rights.
                    Scheme, Objectives, Outcomes & Syllabus
              UECL303- Embedded Systems Design and RTOS
                                                             Evaluation Scheme
 Semester      V             Teaching Scheme
                                                          Theory            Practical
   Term       ODD       Th   Tu      Pr   Credits   TAE    CAE    ESE     INT     EXT
   Course
  Category     C
             UECL303    3     -      2      4       10      15     50     25        -
Course Code UECP303
  Teaching
   Mode      Offline                                        75                 25
 Duration of                 5 Hrs         Total
    ESE       2Hrs                                                100
                      Course Objectives:
1.To understand the design parameters of embedded systems
 applications.
2.To study and impart different tools for embedded system and
 IoT application design.
3.To understand RTOS and IDE for Embedded Systems.
                            Course Outcomes:
Up on successful completion of this course, student will be able to:
CO1:
Demonstrate the principle of embedded systems and Microcontroller.
CO2:
Make Use of ARM Controller for Designing of Embedded Applications.
CO3:
Develop programming for applications develop real time applications.
CO4:
Interfacing peripherals with ARM.
Contents:
UNIT-I:                                                                  (8 hrs)
Embedded System Concepts: Introduction to embedded systems, Application
Areas, Categories of embedded systems, Overview of embedded system
architecture, Specialties of embedded systems, Architecture of embedded systems,
Hardware architecture, and Software architecture, Application Software,
Communication Software, Development and debugging Tools. Design Process in
Embedded System
UNIT-II:                                                               (8 hrs)
ARM Family Processors: Introduction to ARM processors and its versions, ARM7,
ARM9 & ARM11 features, advantages & suitability in embedded application,
registers, CPSR, SPSR, ARM and RISC design philosophy, ARM7 data flow model,
programmers model, modes of operations
UNIT-III:                                                                     (8 hrs)
ARM7 Based Microcontroller: ARM7 based Microcontroller LPC2148: Features,
Architecture. System Block(PLL and VPB divider), Memory Map, GPIO, Pin connect Block,
timer, Instruction set basic programming in assembly language.
UNIT-IV:                                                                      (8 hrs)
Real World Interfacing with ARM7 Based Microcontroller: Interrupt structure of
LPC2148, Interfacing with LED, LCD, simple LPC2148 GPIO Programming examples Using
timers of LPC2148 to generate delay, serial communication programming for transmission
and reception from computer, programming for UART. C Programming. Introduction to
Cortex.
UNIT-V:                                                                       (8 hrs)
RTOS and IDE for Embedded System Design: Operating System basics, Types of operating
systems, Task, process and threads, Thread preemption, Preemptive Task scheduling
techniques, Task Communication,       Task Synchronization issues – Racing and
Deadlock, Concept of Binary and counting semaphores, selection of an RTOS, Advance
Topic
Text Books:
• Embedded/Real Time Systems Concepts, Design and Programming Black Book,
Prasad, KVK.
• David Seal “ARM Architecture Reference Manual”, 2001 Addison Wesley,
England; Morgan Kaufmann Publishers
Reference Books:
• Andrew N Sloss, Dominic Symes, Chris Wright, “ARM System Developer's
Guide - Designing and Optimizing System Software”, 2006, Elsevier.
• Steve Furber, “ARM System-on-Chip Architecture”, 2nd Edition, Pearson
   Education.
• Cortex-M series-ARM Reference Manual.
 Introduction to embedded systems
    Applications of embedded systems
         Typical subsystems in an embedded system
                  Design challenges for embedded systems
                          Classification of computer architecture
                                 Characteristics of a microprocessor
                                         Characteristics of a microcontroller
 Introduction
• We have been brought up in the age of computing.
   • Computers are everywhere (some we see, some we do not see).
• Types of computers we are familiar with:
   • Desktops and Laptops
   • Servers
   • Mobile phones
• But there’s another type of computing system that is often hidden.
   • Far more common and pervasive...
   • Hidden in the environment.
  What are Embedded Systems?
• Computers are embedded within other systems:
   • What is “other systems”? – Hard to define.
      • Any computing system other than desktop / laptop server.
   • Typical examples:
       • Washing machine, refrigerator, camera, vehicles, airplane,
          missile, printer.
       • Processors are often very simple and inexpensive
          (depending on application of course).
   • Billions of embedded system units produced yearly,
     versus millions of desktop units.
Common Features of Embedded Systems
• They are special-purpose or single-functioned.
   • Executes a single program, possibly with inputs from the environment.
   • Imagine a microwave oven, a washing machine, an AC machine, etc.
• Tight constraints on cost, energy, form factor, etc.
   • Low cost, low power, small size, relatively fast.
• They must react to events in real-time.
   • Responds to inputs from the system’s environment.
   • Must compute certain results in real-time without delay.
       • The delay that can be tolerated depends on the application.
 Typical Design Constraints
• Low Cost
   • A sophisticated processor can increase the cost of the embedded system.
• Low Energy Consumption
   • Many embedded systems operate on battery.
• Limited Memory
   • Typically constrained to a finite and small amount of memory.
• Real-Time Response
   • Most embedded systems are used for controlling some equipment.
   • Must generate response within a specified time.
How to define an Embedded System?
                                                                           User Interfaces
• It is a microcontroller-based system that is                           (Switches/Keypad/
  designed to control a function or range of                                  Sensors)
  functions, and is not meant to be programmed by
  the end user.                                                               Embedded
                                                                              Computer
   • The user may make choices concerning the                Input                           Output
                                                                              Hardware       Variables
      functionality but cannot change them.                  Variables
   • The user cannot make modifications to the software.
                                                                              Software
   • Can you “program” your washing machine or
      refrigerator or car?
       • Not today … but not very sure of the near future.
                                                                               Link to
                                                                             Subsystem
What embedded system is not …
    • A microprocessor sitting inside a traditional computing system (like desktop, laptop, server,
      etc.).
• It is actually:
    • A microprocessor used to control another piece of technology (dedicated, and not general-
       purpose).
    • For low cost, microcontrollers that are typically used are single-chip devices containing
       processor, memory, and I/O interfaces.
Applications of Embedded Systems
• Limited by imagination.
    a) Consumer Segment: Refrigerator, washing machine, A/C machine, camera, microwave oven,
       TV, security system, etc.
    b) Office Automation: Printers, Fax machines, photocopying machines, scanners, biometric
       scanner, surveillance camera, etc.
    c)   Automobiles: Air bags, anti-lock braking system (ABS), engine control, door lock, GPS
         system, vehicular ad-hoc network (VANET), etc.
    d) Communication: Mobile phones, network switches, WiFi hotspots, telephones,
       MODEM, etc.
    e) Miscellaneous: Automatic door locks, automatic baggage screening,
       surveillance systems, intelligent toilet, etc.
Common Design Metrics
• Non Recurring Engineering (NRE) Cost: One-time initial cost of designing a system.
• Unit Cost: The cost of manufacturing each copy of the system, without counting
  the NRE cost.
• Size: The actual physical space occupied by the system.
• Performance: This is measured in terms of the time taken or throughput.
• Power: The amount of (battery) power consumed by the system.
• Flexibility: The ability to change the functionality of the system.
• Maintainability: How easy or difficult it is to modify the design of the system?
• Time-to-prototype: How much time is required to build a working version of the
  system (i.e. a prototype)?
• Time-to-market: How much time is required to develop a system such that it can
  be released to the market commercially?
• Safety: Are there any adverse effects on the operating environment?
• Can be many more …
     Basic Operation of a Computing System
• The central processing unit (CPU) carries
  out all computations.
     • Fetches instructions from the program
       memory and executes it; may require access
       to data in data memory.
• The input/output block provides interface
  with the outside world.
     • Allows users to interact with the computing
       system, and also observe the output results.
Classification
• About the instruction set architecture (ISA) of the CPU.
   a) Complex Instruction Set Computer (CISC)
      • Typically used in desktops, laptops and servers (courtesy Intel).
   b) Reduced Instruction Set Computer (RISC)
      • Typically used in microcontrollers, that are used to build embedded
        systems.
• Two different types of memory:
   a) Random Access Memory (RAM)
      • Volatile; used for data memory in microcontrollers.
   b) Read Only Memory (ROM)
      • Non-volatile; used for program memory in microcontrollers.
Classification of CPU Architecture
• Broadly two types of architectures:
  a) Von Neumann Architecture
    • Both instructions and data are stored in the same memory.
    • This model is followed in conventional computing systems.
  b) Harvard Architecture
    • Instructions and data are stored in separate memories.
    • Typically followed in microcontrollers, used for building embedded systems.
    • Instructions are stored in a ROM (permanent), while
      temporary data are stored in RAM.
Von Neumann Architecture   Harvard Architecture
What is a Microprocessor?
• It is basically the entire CPU fabricated on a single chip.
   • Consists of a set of registers to store temporary data.
   • Consists of an arithmetic logic unit (ALU), where all arithmetic and logical computations are
     carried out.
   • Consists of some mechanism to interface external devices (memory and I/O) through buses
     (address, data and control).
   • Consists of a control unit that synchronizes the operation.
Schematic Diagram
of Microprocessor
 What is a Microcomputer?
• It is a computer system built using a microprocessor.
• Since a microprocessor does not contain memory and I/O, we have to interface these
  to build a microcomputer.
   • Too complex and expensive for very small and low-cost embedded systems.
 Microcontrollers: The Heart of Embedded Systems
• It is basically a computer on a single chip.
    • Very inexpensive, small, low p o w e r.
    • Convenient for use in embedded system design.
• It operates on data that are fed through its
   serial or parallel input ports, controlled by
   the software stored in on-chip memory.
    • Often has analog input pins, timers and other
      utility circuitry built-in.
How Microcontrollers are different from PCs?
• When a PC executes a program, the program is first loaded from disk/SSD into an
  allocated section of memory.
   • Usually the program is loaded part by part to conserve memory space.
   • There is a complicated operating system that handles all low-level operations (includes low-
     level driver codes for interfacing with various devices).
• In a microcontroller there is no disk to read from.
   • On-chip ROM stores the program that is to be executed.
   • Size of the ROM limits the maximum size of the application.
   •
     There is no operating system, and the program is ROM is the only program that
     is running (must include low-level routines).
Where are Microcontrollers Used?
• Typically in applications where processing power is not critical.
   •   Modern-day household can have 10 to 50 such devices embedded in
       various devices and equipment's.
• One-third of the applications are in the office automation segment.
• Another one-third are in consumer electronics goods.
• Rest one-third are used in automotive and communication applications.
 Evolution of Microcontrollers
• Microcontroller evolved from a microprocessor-based board-level design to
a single chip in the mid-1970's.
   •   As the process of miniaturization continued, all of the components
       needed for a controller were built into a single chip.
• In the mid-1980’s, microcontrollers got embedded into a larger ASIC
(Application Specific Integrated Circuit).
   • Microcontrollers are fabricated as a module inside a larger chip.
Advantages of using microcontrollers
• Fast and effective
   • The architecture correlates closely with the problem being solved
     (control systems).
• Low cost / Low power
   • High level of system integration within one component.
   • Only a handful of components needed to create a working
     system.
• Compatibility
   • Opcodes and binaries are the SAME for all 80x51 / ARM / PIC variants.
Embedded System Design Processes