Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design of Embedded Systems

Similar presentations


Presentation on theme: "Design of Embedded Systems"— Presentation transcript:

1 Design of Embedded Systems
UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software design – Integration – Product testing – Selection Processes – Microprocessor Vs Micro Controller – Performance tools – Bench marking – RTOS Micro Controller – Performance tools – Bench marking – RTOS availability – Tool chain availability – Other issues in selection processes.

2 A “short” list of Embedded Systems
Auto focus cameras ATMs Avionic systems Automatic transmission Battery Chargers Camcorders Cell phones Cordless Phones Digital Cameras DVD players Electronic Toys/Games Fax machines Medical Equipment Microwave ovens Modems Network cards Pagers PDAs Photocopiers Portable Video games Pont of Sales terminals Printers Scanners Satellite phones Teleconferencing systems Televisions Set-top boxes VCR’s Video phones Washers and dryers and many more ….

3 Embedded systems from real life
Mobile Phones and Base Stations Multiprocessor 8-bit/32-bit for UI; DSP for signals 32-bit in IR port; 32-bit in Bluetooth 8-100 MB of memory All custom chips Massive signal processing Several processing tasks per connected call Based on DSPs Standard or custom 100s of processors

4 Embedded systems from real life
Sewing Machine User interface Embroidery patterns Touch-screen control ”Smart” Sets pressure of foot depending on task Raise foot when stopped New functions added by upgrading the software Stickerei

5 Embedded systems from real life
Multiple networks Body, engine, telematics, media, safety Multiple processors Up to 100 Networked together Cars Functions by embedded processing: ABS: Anti-lock braking systems ESP: Electronic stability control Airbags Efficient automatic gearboxes Theft prevention with smart keys Blind-angle alert systems ... etc ... Large diversity in processor types: 8-bit – door locks, lights, etc. 16-bit – most functions 32-bit – engine control, airbags

6 Embedded systems from real life
Smart Beer Glass 8-bit, 8-pin PIC processor Capacitive sensor for fluid level Inductive coil for RF ID activation & power CPU and reading coil in the table. Reports the level of fluid in the glass, alerts servers when close to empty Contact less transmission of power and readings

7 Embedded systems from real life
Extremely Large Functions requiring computers: Radar Weapons Damage control Navigation basically everything Computers: Large servers 1000s of processors

8 Embedded systems from real life
Inside Your PC Custom processors Graphics, sound 32-bit processors IR, Bluetooth Network, WLAN Harddisk RAID controllers 8-bit processors USB Keyboard, mouse

9 Characteristics of Embedded Systems (1)
Must be dependable, Reliability R(t) = probability of system working correctly provided that is was working at t=0 Maintainability M(d) = probability of system working correctly d time units after error occurred. Availability A(t): probability of system working at time t Safety: no harm to be caused Security: confidential and authentic communication Even perfectly designed systems can fail if the assumptions about the workload and possible errors turn out to be wrong. Making the system dependable must not be an after-thought, it must be considered from the very beginning

10 Characteristics of Embedded Systems (2)
Must be efficient Energy efficient Code-size efficient (especially for systems on a chip) Run-time efficient Weight efficient Cost efficient Dedicated towards a certain application Knowledge about behavior at design time can be used to minimize resources and to maximize robustness Dedicated user interface (no mouse, keyboard and screen) Hybrid systems (analog + digital parts).

11 Characteristics of Embedded Systems (3)
Many ES must meet real-time constraints A real-time system must react to stimuli from the controlled object (or the operator) within the time interval dictated by the environment. For real-time systems, right answers arriving too late are wrong. „A real-time constraint is called hard, if not meeting that constraint could result in a catastrophe“ [Kopetz, 1997]. All other time-constraints are called soft. A guaranteed system response has to be explained without statistical arguments Frequently connected to physical environment through sensors and actuators,

12 Characteristics of Embedded Systems (4)
Typically, ES are reactive systems: „A reactive system is one which is in continual interaction with is environment and executes at a pace determined by that environment“ [Bergé, 1995] Behavior depends on input and current state.  automata model appropriate, model of computable functions inappropriate. Not every ES has all of the above characteristics. Def.: Information processing systems having most of the above characteristics are called embedded systems.

13 Why Embedded Systems Are Different?
Embedded systems are dedicated to specific tasks, whereas PCs are generic computing platforms. Embedded systems are supported by a wide array of processors and processor architectures. Embedded systems are usually cost sensitive. Embedded systems have real-time constraints.

14 Why Embedded Systems Are Different?
If an embedded system is using an operating system at all, it is most likely using a real-time operating system (RTOS), rather than Windows 9X, Windows NT, Windows 2000, Unix, Solaris, or HP- UX. The implications of software failure are much more severe in embedded systems than in desktop systems. Embedded systems often have power constraints. Embedded systems often must operate under extreme environmental conditions.

15 Why Embedded Systems Are Different?
Embedded systems have far fewer system resources than desktop systems. Embedded systems often store all their object code in ROM. Embedded systems require specialized tools and methods to be efficiently designed. Embedded microprocessors often have dedicated debugging circuitry.

16 An embedded system example -- a digital camera
Microcontroller CCD preprocessor Pixel coprocessor A2D D2A JPEG codec DMA controller Memory controller ISA bus interface UART LCD ctrl Display ctrl Multiplier/Accum Digital camera chip lens CCD Single-functioned -- always a digital camera Tightly-constrained -- Low cost, low power, small, fast Reactive and real-time -- only to a small extent

17 Embedded System – A simplified view
CPU mem input output analog embedded computer Computer (programmable part) is surrounded by other sub-systems, sensors and actuators The computer is called the micro-controller. Its main functions are to monitor the physical parameters of the surrounding systems and to control these processes whenever needed. In some cases the CPU is a DSP.

18 Computer (programmable part) is surrounded by other sub-systems, sensors and actuators.
The computer is called the micro-controller. Its main functions are to monitor the physical parameters of the surrounding systems and to control these processes whenever needed. In some cases the CPU is a DSP.

19 Typical Embedded System
An embedded system is a microprocessor or micro-controller based solution providing dedicated functionality that is part of a larger system. These embedded applications are required to collaborate with the other components of an enclosed system. Embedded application components interact mostly with the non-human external environment. They continuously collect data from sensors or other computer components and process data within real-time constraints. Embedded systems are usually associated with dedicated hardware and specific software. Source : Embedded System Design Issues, Philip J. Koopman, ICCD96

20 The Embedded Design Life Cycle
Phase 1 : Product Specification Phase 2 : HW / SW Partitioning Phase 6 : Acceptance testing Phase 7 : Maintenance and Upgrade Software Design Hardware Design Phase 5 : HW / SW Integration Phase 3 : Iteration Phase 4 : Detailed HW / SW Design Product Release Cost to fix bugs System Specification and Design 37% HW & SW Development / Debug 51% 12% System Test Product specification : Formal methods of requirements capture H/w S/w Partitioning : Example of 80387, IDCT in h/w for JPEG Processor Selection : Suitability, adequate performance, suitable OS support and availability of development tools Source : Embedded Systems Design, Arnold S. Berger

21 Tool-based view of the development cycle

22 Product Specification
A common factor for the successful products was that the design team (senior management, marketing, sales, quality assurance, and Engineering) shared a common vision of the product they were designing In-circuit emulators

23 Hardware/Software Partitioning
Partitioning decision- to decide which portion of the problem will be solved in hardware and which in software It is possible to implement that algorithm purely in software (the CPU without the FPU example), purely in hardware (the dedicated modem chip example), or in some combination of the two (the video card example).

24 Laser Printer Design Algorithm
Data enters the printer and must be transformed into a legible ensemble of carbon dots fused to a piece of paper Concurrently, the processor services the data port and converts the incoming data stream into a stream of modulation and control signals to a laser tube, rotating mirror, rotating drum, and assorted paper-management “stuff.”

25 Iteration and Implementation
This phase represents the early design work before the hardware and software teams build “the wall” between them The hardware designers might be using simulation tools, such as architectural simulators, to model the performance of the processor and memory systems. The software designers are probably running code benchmarks on self-contained, single-board computers that use the target micro processor.

26 Hardware/Software Integration
Big Endian/Little Endian Problem

27 Debugging an embedded or real-time system
Run control — The ability to start, stop, peak, and poke the processor and memory. Memory substitution — Replacing ROM-based memory with RAM for rapid and easy code download, debug, and repair cycles. Real-time analysis — Following code flow in real time with real-time trace analysis.

28 Product Testing and Release
Testing is more than making sure the software doesn’t crash at a critical moment

29 Maintaining and Upgrading Existing Products
The majority of embedded system designers (around 60 percent) maintain and upgrade existing products, rather than design new products.

30 The Selection Process

31 The Selection Process Is it available in a suitable implementation?
Is it capable of sufficient performance? Is it supported by a suitable operating system? Is it supported by appropriate and adequate tools?

32 Packaging the Silicon Microprocessor versus Microcontroller
Most embedded systems use microcontrollers instead of microprocessors

33 Microprocessor versus Microcontroller
In a microprocessor-based system, the CPU and the various I/O functions are packaged as separate ICs In a microcontroller-based system many, if not all, of the I/O functions are integrated into the same package with the CPU The advantages of the microcontroller’s higher level of integration are easy to see: Lower cost — One part replaces many parts. More reliable — Fewer packages, fewer interconnects. Better performance — System components are optimized for their environment. Faster — Signals can stay on the chip. Lower RF signature — Fast signals don’t radiate from a large PC board

34 Adequate Performance Performance-Measuring Tools
The Dhrystone benchmark is a simple C program that compiles to about 2,000 lines of assembly code and is independent of operating system services

35 Meaningful Benchmarking
Real benchmarking involves carefully balancing system requirements and variables it’s important to analyze the real-time behavior of the processor Real-time performance can be generally categorized into two buckets: interrupt handling and task switching.

36 EEMBC The EEMBC benchmark consists of industry-specific tests

37 EEMBC EEMBC technical committee represent real-world algorithms against which the processor can be measured produces statistics on the number of times per second the algorithm executes and the size of the compiled code

38 RTOS Availability

39 RTOS Availability

40 Tool Chain Availability
When evaluating the tool chain, integrated coverage of these three broad categories: Compiler tools Hardware and software debugging tools Performance measuring tools

41 Compilers In-line assembly Interrupt function
Assembly language list file generation Standard libraries Startup code RTOS support Tools integration Optimizations Support for Embedded C++ (EC++)

42 Hardware and Software Debugging Tools
An ICE An interface to on-chip hardware debugging resources A ROM emulator A logic analyzer A performance analyzer

43 Other Issues in the Selection Process
A prior commitment to a processor family A prior restriction on language Time-to-market factors

44 Summary Definition of Embedded Systems Real Life Examples
ES Product Life Cycle in Design Hardware / Software partitioning Product testing Selection Processes – Microprocessor Vs Micro Controller Performance tools – Bench marking RTOS Micro Controller Other issues in selection processes.


Download ppt "Design of Embedded Systems"

Similar presentations


Ads by Google