Embedded Systems Software Development - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

Embedded Systems Software Development

Description:

... 4 8-bit microcontrollers may be cheaper than a 32-bit processors (even with comm links) ... Dirt. Fire. Heat. Vibration. Lightning. Vibration. Heat ... – PowerPoint PPT presentation

Number of Views:354
Avg rating:3.0/5.0
Slides: 41
Provided by: cathyz4
Category:

less

Transcript and Presenter's Notes

Title: Embedded Systems Software Development


1
Embedded Systems Software Development
  • Robert Oshana
  • National Technological University

2
Lecture 1
  • Introduction to Embedded Systems

3
Agenda
  • What is an Embedded System?
  • Characteristics of embedded systems
  • Requirements for embedded systems

4
What is an embedded system?
  • Specialized computer system
  • Part of a larger system or machine
  • Information processing subsystems integrated in a
    larger system
  • As part of a larger system it largely determines
    its functionality
  • An embedded system usually contains an embedded
    processor
  • Some embedded systems include an operating system

5
What is an embedded system?
  • Some embedded systems are very specialized
    resulting in the entire logic being implemented
    as a single program
  • These systems are embedded into some device for
    some specific purpose other than to provide
    general purpose computing

6
Embedded system dominate
Close to 4 billion embedded processors sold each
year
7
Embedded system components
(Koopman)
Software
Memory
FPGA/ ASIC
CPU
D/A conversion
Actuators
A/D conversion
Sensors
Aux system (power cooling, etc
User interface
Diagnostic port
Electromechanical Backup and safety
External environment
8
Major functions
  • Monitor the environment embedded systems read
    data from input sensors
  • This data is then processed and the results
    displayed in some format to a user or users
  • Control the environment embedded systems
    generate and transmit commands for actuators
  • Transform the information embedded systems
    transform the data collected in some meaningful
    way, such as data compression/decompression

9
Sensors and actuators
  • A sensor is a device that responds to a physical
    stimulus (as heat, light, sound, pressure,
    magnetism, or a particular motion) and transmits
    a resulting impulse (as for measurement or
    operating a control).
  • An actuator is a mechanical device for moving or
    controlling something

10
Sensors and Actuators
11
Perform meaningful operations
  • Embedded systems typically execute applications
    such as control laws, finite state machines, and
    signal processing algorithms
  • These systems must also detect and react to
    faults in both the internal computing environment
    as well as the surrounding electromechanical
    systems

12
Characteristics of embedded systems
  • Application Specific Systems
  • Embedded systems are not general-purpose
    computers
  • Optimized for a specific application
  • Many of the job characteristics are known before
    the hardware is designed
  • allows the designer to focus on the specific
    design constraints of a well defined application

13
Characteristics of embedded systems
  • Application Specific Systems
  • Embedded S/W usually cannot run on other embedded
    systems without modification
  • Hardware tailored to application
  • Unnecessary circuitry eliminated
  • Resources shared if possible

14
Characteristics of embedded systems
  • Reactive Systems
  • typical embedded systems model responds to the
    environment via sensors and control the
    environment using actuators
  • requires embedded systems to run at the speed of
    the environment
  • this characteristic is called reactive.
  • Reactive computation means that the system
    (primarily the software component) executes in
    response to external events
  • External events can be either periodic or
    aperiodic

15
Characteristics of embedded systems
  • One of the biggest challenges for embedded system
    designers is performing an accurate worst case
    design analysis on systems with statistical
    performance characteristics (e.g., cache memory
    on a DSP or other embedded processor)
  • Accurately predicting the worst case may be
    difficult on complicated architectures
  • Often leads to overly pessimistic estimates
    erring on the side of caution

16
Characteristics of embedded systems
  • Distributed Systems
  • communicating processes executing on several CPUs
    or ASICs
  • connected by communication links
  • economical 4 8-bit microcontrollers may be
    cheaper than a 32-bit processors (even with comm
    links)

17
Characteristics of embedded systems
  • Heterogeneous Architectures
  • different processors in the same system solution
  • may also be mixed signal systems
  • combination of I/O interfaces, local and remote
    memories, and sensors and actuators makes
    embedded system design unique
  • heterogeneity provides better design flexibility
    in tight design constraints

18
Heterogeneous systems
19
Characteristics of embedded systems
  • Harsh environment
  • Many embedded systems do not operate in a
    controlled environment
  • Excessive heat is often a problem, especially in
    applications involving combustion (e.g., many
    transportation applications)
  • protection from vibration, shock, lightning,
    power supply fluctuations, water, corrosion,
    fire, and general physical abuse
  • challenges to the embedded system designer,
    including accurately modeling the thermal
    conditions of these systems

20
Characteristics of embedded systems
  • System safety and reliability
  • embedded systems control more and more of the
    safety aspects of the overall system
  • these safety measures may be in the form of
    software as well as hardware control
  • challenges to embedded designers include
    designing reliable software and building cheap,
    available systems using unreliable components

21
Characteristics of embedded systems
  • Control of physical systems
  • when controlling physical equipment, large
    current loads may need to be switched in order to
    operate motors and other actuators
  • embedded systems may need large computer circuit
    boards with many non-digital components
  • must carefully balance system tradeoffs among
    analog components, power, mechanical, network,
    and digital hardware with corresponding software

22
Characteristics of embedded systems
  • Small and low weight
  • many embedded computers are physically located
    within some larger system
  • form factor for the embedded system may be
    dictated by aesthetics
  • challenge is to develop non-rectangular
    geometries for certain solutions
  • weight can also be a critical constraint

23
Other differences from desktop
  • Human interface varies
  • Flashing light
  • Real-time robotic system
  • Diagnostic port used for diagnosing the
    controlled system not the computer
  • FPGA and ASIC and non-digital H/W used to
    increase performance or safety

24
A generic embedded system
25
Generic embedded system
  • Processor
  • Just enough to get the job done
  • Register width is important
  • General purpose 32- bit and 64- bit
  • Embedded processors 8- and 16-bit
  • Memory
  • ROM (executable program)
  • RAM (data to manipulate)
  • Register width drives amount of memory

26
Generic embedded system
  • Development cost
  • Dependent of product
  • High volume products can stand for a higher
    development cost
  • Smaller volume is more sensitive to development
    cost
  • Number of units
  • Expected lifetime
  • Drives design decisions

27
Generic embedded system
  • Reliability
  • Children's toys do not always have to work right
  • Space shuttle is a different story

28
Common design requirements
29
Attributes of some embedded systems
30
Requirements for embedded systems
31
Functional requirements
  • Functional requirements describe the type of
    processing the system will perform 
  • Data Collection requirements
  • Sensoring requirements
  • Signal conditioning requirements
  • Alarm monitoring requirements
  • Direct Digital Control requirements
  • Actuator control requirements
  • Man-Machine Interaction requirements (Informing
    the operator of the current state of a controlled
    object for example

32
Temporal requirements
  • Embedded systems have many tasks to perform, each
    having its own deadline
  • Temporal requirements define the stringency in
    which these time-based tasks must complete
  • Minimal latency jitter
  • Minimal Error-detection latency
  • Temporal requirements can be very tight (for
    example control-loops ) or less stringent (for
    example response time in a user interface)

33
Dependability requirements
  • Reliability
  • considered at the system rather than the
    individual component level (emergent)
  • three dimensions to consider
  • Hardware reliability probability of a hardware
    component failing
  • Software reliability probability that a software
    component will produce an incorrect result
  • Operator reliability how likely that the
    operator of a system will make an error

34
Dependability requirements
  • Metrics used to determine system reliability
  • Probability of failure on demand likelihood that
    the system will fail when a service request is
    made
  • Rate of failure occurrence frequency of
    occurrence with which unexpected behavior is
    likely to occur
  • Mean Time to Failure the average time between
    observed system failures.

35
Dependability requirements
  • Safety critical failure modes and what types of
    certification are required for the system
  • Maintainability constraints on the system such
    as type of Mean Time to Repair (MTTR)
  • Availability the probability that the system is
    available for use at a given time. Availability
    is measured as
  • Availability MTTF / (MTTFMTTR)
  • Security unacceptable system behavior

36
Embedded processor alternatives
Low cost
Higher
Off the shelf general
Flexibility
Purpose processor
Off the shelf DSP, MCU
Low power
Embedded Core Processors
DSP, MCU
Higher speed
Faster
Time to
market
Hardwired Integrated
Circuit (ASIC)
37
Embedded programming languages
  • C has become the language of embedded programmers
  • Advantages of C
  • Small
  • Easy to learn
  • Wide compiler support
  • Large body of experience
  • Processor independent
  • Low level programming language

38
Embedded programming languages
  • C gives embedded programmers large degree of
    direct hardware control without sacrificing the
    benefits of a HLL
  • Produces relatively compact efficient code for a
    wide variety of processors
  • C and Ada are also good
  • No more assembly required (mostly)

39
Trends in embedded systems
  • Increasing code size
  • average code size for embedded systems has been
    increasing dramatically
  • 1992 avg code size - range of 16-64K bytes
  • 1996 the average size had grown to 64K-512K
  • This trend is continuing
  • Migration to higher level language from sssembly
  • As applications become more and more complex,
    programmers are transitioning to higher level
    languages for productivity reasons

40
Trends in embedded systems
  • Increasing reuse of pre-designed components
  • these include DSP chips as well as other
    microprocessors and microcontrollers
  • Migration to a core-based design
  • Systems becoming more complex and heterogeneous
  • There are more ASIC-based designs with high speed
    as well as high integration
  • Larger microprocessors are used with 32-bit
    processors becoming the norm
Write a Comment
User Comments (0)
About PowerShow.com