Embedded Systems. Octav Chipara. Thursday, September 13, 12

Similar documents
Reminder. Course project team forming deadline. Course project ideas. Friday 9/8 11:59pm You will be randomly assigned to a team after the deadline

Reminder. Course project team forming deadline. Course project ideas. Next milestone

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

Lab Assignment Each team will independently implement the launch interceptor specification For this assignment, you re writing portable C code

Reference: Barry & Crowley, Modern Embedded Computing: Designing Connected, Pervasive, Media-Rich Systems, Morgan Kaufmann, 2012.

Introduction to Embedded Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Introduction to Embedded Systems

The Embedded System Design Process. Wolf Text - Chapter 1.3

Introduction. Definition. What is an embedded system? What are embedded systems? Challenges in embedded computing system design. Design methodologies.

EMBEDDED SYSTEMS INTRODUCTION

Introduction to Embedded Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Introduction to Embedded Systems

Memory Expansion. Lecture Embedded Systems

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Embedded Computing Platform. Architecture and Instruction Set

Static Analysis of Embedded C

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

Introduction to Embedded Systems

System Architecture Directions for Networked Sensors[1]

Microprocessors And Microcontroller

José Costa What is an embedded system? Examples of embedded systems. Characteristics of embedded systems

Last Time. Making correct concurrent programs. Maintaining invariants Avoiding deadlocks

ELEG3923 Microprocessor Ch.0 & Ch.1 Introduction to Microcontroller

The Nios II Family of Configurable Soft-core Processors

FPGA VHDL Design Flow AES128 Implementation

Embedded Systems: Architecture

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

COMP2121: Microprocessors and Interfacing. Introduction to Microprocessors

Introduction to Microprocessor

Introduction to Embedded Systems

Integrating Concurrency Control and Energy Management in Device Drivers. Chenyang Lu

Embedded Programming with ARM Cortex-M3 Basic Experiments 1

iphone Noise Filtration Hardware

AVR Microcontrollers Architecture

ECE 471 Embedded Systems Lecture 2

Overview of Microcontroller and Embedded Systems

Product specification

1/Build a Mintronics: MintDuino

Computer Organization and Microprocessors SYLLABUS CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS CHAPTER - 3 : THE MEMORY SYSTEM

Microcontroller Not just a case of you say tomarto and I say tomayto

18-642: Race Conditions

Electronics Single Board Computers

ELCT708 MicroLab Session #1 Introduction to Embedded Systems and Microcontrollers. Eng. Salma Hesham

ECE 571 Advanced Microprocessor-Based Design Lecture 7

EC EMBEDDED AND REAL TIME SYSTEMS

Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their

Reduced Instruction Set Computer

Interface DAC to a PC. Control Word of MC1480 DAC (or DAC 808) 8255 Design Example. Engineering 4862 Microprocessors

CSC 170 Introduction to Computers and Their Applications. Computers

Computer Systems. Communication (networks, radio links) Meatware (people, users don t forget them)

COL862 - Low Power Computing

ELEC 5260/6260/6266 Embedded Computing Systems

RN-171-EK Evaluation Board

Phony Programming (Series 60 Symbian Phones)

EECS 388 Embedded Systems Introduction. Gary J. Minden January 22, 2013

Mohsen Imani. University of California San Diego. System Energy Efficiency Lab seelab.ucsd.edu

Microprocessor (COM 9323)

AC : INFRARED COMMUNICATIONS FOR CONTROLLING A ROBOT

What is Smart Dust? Nodes in Smart Dust are called Motes.

Preliminary Design Report A Wireless ECU Monitoring System Team WEMS 27 January 2009

UNIT I [INTRODUCTION TO EMBEDDED COMPUTING AND ARM PROCESSORS] PART A

Integrating Concurrency Control and Energy Management in Device Drivers

Microprocessors/Microcontrollers

CMPE 415 Programmable Logic Devices Introduction

How to get realistic C-states latency and residency? Vincent Guittot

Introduction to the Personal Computer

SmartFusion2 SoC FPGA Demo: Code Shadowing from SPI Flash to SDR Memory User s Guide

New Advances in Micro-Processors and computer architectures

Universität Dortmund. ARM Architecture

CourseContents: 1.Introduction to MATLAB. 2. Handling data and data flow in MATLAB. 3. Editing and Debugging M-FILES

Computer Performance

ARDUINO BOARD LINE UP

Wireless Power Panel Meter (WPPM)

Crusoe Power Management:

CprE 288 Introduction to Embedded Systems (Project and Platform Overview)

Basic Components of Digital Computer

Instruction Manual for BE-SP3 Circuit. 10/21/07

DEVELOPMENT OF USER FRIENDLY DATA ACQUISITION AND ACTUATION SYSTEM ON EMBEDDED PLATFORM

Presented by Viraj Anagal Kaushik Mada. Presented to Dr. Mohamed Mahmoud. ECE 6900 Fall 2014 Date: 09/29/2014 1

AT-501 Cortex-A5 System On Module Product Brief

CSC 553 Operating Systems

XMEGA Series Of AVR Processor. Presented by: Manisha Biyani ( ) Shashank Bolia (

Phony Programming (Series 60 Symbian Phones)

XMOS Technology Whitepaper

Processor: Faster and Faster

Computers Are Your Future

BEAT 2.0 USER MANUAL

AVR XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction.

SE300 SWE Practices. Lecture 10 Introduction to Event- Driven Architectures. Tuesday, March 17, Sam Siewert

Calendar Description

Blackfin Optimizations for Performance and Power Consumption

AIM: To create a project for implement a wireless communication protocol on an embedded system- ZigBee.

Ten (or so) Small Computers

What is Data Storage?

CSE 466 Software for Embedded Systems. CSE 466 Software for Embedded Systems

machine cycle, the CPU: (a) Fetches an instruction, (b) Decodes the instruction, (c) Executes the instruction, and (d) Stores the result.

MT2 Introduction Embedded Systems. MT2.1 Mechatronic systems

Architecture of Computers and Parallel Systems Part 6: Microcomputers

ECE 486/586. Computer Architecture. Lecture # 2

Transcription:

Embedded Systems Octav Chipara

Caught between two worlds Embedded systems PC world 2

What are embedded systems? Any device that includes a computer (but you don t think of it as a computer) iphone digital camera game console wrist watch automobile airplanes mars rover >95% of microprocessors are used for embedded systems. Typically embedded systems interact closely with the physical environment in which they operate 3

What s special about embedded systems? It is not enough for a system to be functionally correct! Non-functional requirements are equally important real-time low power reliability form factor cost drives the selection of computer architectures and programming paradigm Typically developed by small engineering teams Short development cycles 4

Real-time requirements System works properly only when it meets timing constraints deadlines: a task must be completed within D seconds rate: complete N tasks per second 5

Real-time requirements Hard real-time systems violations lead to catastrophic failures mars rover anti-lock braking system air traffic control cd burning Soft real-time system violations lead to degraded performance video audio GPS 6

Driving down the cost Constrained memory, processor speeds, I/O Example: Intel imote 2 7

Pricing options 8

Sensor network hardware 9

Energy consumption Average full operation ~ 15 ma AA batteries provide 1800ma => 5 days of continuous operation Significant energy consumed for: radio flash 10

Power Battery powered devices - battery life is essential to optimize cell phones, ipods, remote sensors Wall powered devices - must minimize energy consumption lower operating costs cooling essential in data centers! 11

Great Duck Island - 9 month battery life 12

Hardware options for embedded systems ASIC FPGA Microprocessors 13

ASIC Ex: digital signal processing in cell phones Performance: Fast! Power: Fewer logic elements low power Development cost: Very high 2 million $ for producing a new ASIC Needs a long time and a large team Reprogrammability: None Single-purpose devices Difficult to patch and upgrade 14

Microprocessors Programmable computers are fundamentally slow fetch, decode, execute cycles Engineers developed methods to mitigate these limitations: pipeline cache clock frequency multi-core Performance is improved at the code of power use performance per watt remains low solution: aggressive power management 15

Microprocessors/Microcontrollers Software does the work faster and lower cost to developed than ASIC easy to upgrade and patch simplify the design for family of products this is a big deal! Micro-controllers vs. Micro-processors MCU: a system on chip with extra support for dealing with the real world analog to digital and digital to analog converters embedded networks: serial, I2C, CAN, USB, 802.15.4, etc general-purpose I/O pins lots of interrupt lines low-power sleep modes voltage / frequency scaling temperature / vibration / radiation resistance onboard volatile and nonvolatile RAM What else? 16

Since Wednesday, its 19th day on Mars, the Spirit had sent back to Earth only meaningless radio noise or simple beeps acknowledging receipt of commands If the software is awry, NASA can fix it from Earth by beaming patches across more than 100 million miles of space or by rebooting the rover's computer. But if the problem lies with the rover's hardware, the situation would be far more grave. NASA Gets Half-Hour of Signals From Rover By ANDREW BRIDGES, AP 17

Other typical characteristics of embedded systems Highly concurrent systems in such systems programming errors are easy to make, hard to debug They often lack virtual memory memory protection hardware supported user-kernel boundary secondary storage why are these features missing? 18

Software architectures Important high-level decision when building an embedded system: What does the main loop look like? How is control flow determined? What computations can preempt others, and when? How is data flow determined? Options: Cyclic executive Event-driven Threaded Dataflow Client-server 19

Cyclic executive Historically this has been the most common approach What are the advantages? What are the disadvantages? 20

Cyclic executive variations 21

Interrupt driven 22

Event driven 23

Threaded Threads usually sleep waiting for IO events to occur Highest priority runs except when it is blocked an interrupt is running it wakes up and another thread is executing in the kernel Advantages? Disadvantages? 24

Dataflow driven 25

Some of the slides were adapted from the following researchers Chenyang Lu John Regehr 26