Introduction to Embedded Systems Design

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

Embedded System Lab. What is an embedded systems? An embedded system is a computer system designed for specific control functions within a larger system,
Microprocessor or Microcontroller Not just a case of “you say tomarto and I say tomayto” M. Smith, ECE University of Calgary, Canada.
EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
Microcontroller – PIC – 4 PIC types PIC architecture
MotoHawk Training Model-Based Design of Embedded Systems.
Embedded Computer ( Sisteme incorporate ) MPU vs. CPU / Alternative Texas Instrument, Freescale, ARM RISC and CISC approaches Single Chip Design System.
Chapter 13 Embedded Systems
Introduction Special-purpose processors. Embedded systems. FPGAs.
Embedded Systems: Introduction. Course overview: Syllabus: text, references, grading, etc. Schedule: will be updated regularly; lectures, assignments.
Introduction to Microprocessors Number Systems and Conversions No /6/00 Chapter 1: Introduction to 68HC11 The 68HC11 Microcontroller.
Chapter 13 Embedded Systems
Microprocessor or Microcontroller Not just a case of “you say tomarto and I say tomayto” M. Smith, ECE University of Calgary, Canada.
Railway Foundation Electronic, Electrical and Processor Engineering.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
Railway Foundation Electronic, Electrical and Processor Engineering.
ASPPRATECH.
B.RAMAMURTHY UNIVERSITY AT BUFFALO Introduction to Hardware (& Software) 5/30/2013 Amrita-UB-MSES-CSE
Microcontroller: Introduction
BLDC MOTOR SPEED CONTROL USING EMBEDDED PROCESSOR
Embedded System Spring, 2011 Lecture 3: The PIC Microcontrollers Eng. Wazen M. Shbair.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Introduction to Embedded Systems. What is an Embedded System? Electronic devices that incorporate a microprocessor or microcontroller within their implementation.
Choosing a Microcontroller Architecture Feb 18, 2013 Bill Giovino v1.1 An Overview of the Microcontroller Marketplace 1.
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Department of Electronic & Electrical Engineering Embedded system Aims: Introduction to: Hardware. Software Ideas for projects ? Robotics/Control/Sensors.
 Chasis / System cabinet  A plastic enclosure that contains most of the components of a computer (usually excluding the display, keyboard and mouse)
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 ARM University Program Copyright © ARM Ltd 2013 Introduction to Embedded Systems Design.
ECE Lecture 1 1 Introduction to Microcontrolllers Department of Electrical and Computer Engineering The Ohio State University ECE 2560.
Core of the Embedded System
Typical Microcontroller Purposes
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
PRESENTED BY :BIREN KUMAR SAMAL ADMISSION NO:22I&E/2000.
Other Chapters From the text by Valvano: Introduction to Embedded Systems: Interfacing to the Freescale 9S12.
ECS642U: Embedded Systems Introduction William Marsh.
The variety Of Processors And Computational Engines CS – 355 Chapter- 4 `
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Microprocessors For a microprocessor to give a working microcomputer system, which can be used for control tasks, additional chips are necessary, e.g.
Computer Organization & Assembly Language © by DR. M. Amer.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
UNIT I. EMBEDDED SYSTEM It is an electrical/electro-mechanical system designed to perform a specific function. It is a combination of hardware and software.
What is a Microprocessor ? A microprocessor consists of an ALU to perform arithmetic and logic manipulations, registers, and a control unit Its has some.
Digital Control CSE 421.
Lecture 7: Overview Microprocessors / microcontrollers.
CSE466 - Fall What is an Embedded System  Its not a desktop system  Fixed or semi-fixed functionality (not user programmable)  Lacks some or.
Slides created by: Professor Ian G. Harris Embedded Systems  Embedded systems are computer-based systems which are embedded inside another device (car,
HOME AUTOMATION USING PC DONE BY RAJESHKUMAR S SRI HARSHA D.
Components of a typical full-featured microcontroller.
Networked Embedded Systems Sachin Katti EE107 Spring 2016 Lecture 3 Microcontrollers.
CECS 347 Microprocessors and Controllers II Chapter 1 - An Overview of Computing Systems Instructor: Eric Hernandez.
CEng3361/18 CENG 336 INT. TO EMBEDDED SYSTEMS DEVELOPMENT Spring 2007 Recitation 01.
1 Introduction  What is an Embedded System?  Application-specific computer system  Built into a larger system  Why add a computer to the larger system?
Case Study #1 Microcontroller System. What is a microcontroller? A microcontroller can be considered a self-contained system with a processor, memory.
Introduction to Embedded Systems
IF I ONLY HAD A BRAIN THE MICROCONTROLLER
PROGRAMMABLE LOGIC CONTROLLERS SINGLE CHIP COMPUTER
Microprocessor and Microcontroller Fundamentals
Dr. Alexander G. Dean Dept. of Electrical and Computer Engineering
Microcontrollers & GPIO
ECE354 Embedded Systems Introduction C Andras Moritz.
6. Structure of Computers
Technology Literacy Hardware.
Introducing Embedded Systems and the Microcontrollers
Chapter 1: The 8051 Microcontrollers
Introduction to Microprocessors and Microcontrollers
Lecture 3 - Instruction Set - Al
INTRODUCTION TO COMPUTERS
Wireless Embedded Systems
Presentation transcript:

Introduction to Embedded Systems Design Dr. Alex Dean

Introduction What is an Embedded System? Application-specific computer system Built into a larger system Why add a computer to the larger system? Better performance More functions and features Lower cost More dependability Economics Microcontrollers (used for embedded computers) are high-volume, so recurring cost is low Nonrecurring cost dominated by software development Networks Often embedded system will use multiple processors communicating across a network to lower parts and assembly costs and improve reliability

Options for Building Embedded Systems Implementation Design Cost Unit Cost Upgrades & Bug Fixes Size Weight Power System Speed Discrete Logic low mid hard large high ? very fast ASIC high ($500K/ mask set) very low tiny - 1 die extremely fast Programmable logic – FPGA, PLD easy small medium to high Microprocessor + memory + peripherals low to mid small to med. low to moderate medium moderate Microcontroller (int. memory & peripherals) mid to low slow to moderate Embedded PC moderate to high fast Dedicated Hardware Software Running on Generic Hardware

Example Embedded System: Bike Computer Functions Speed and distance measurement Constraints Size Cost Power and Energy Weight Inputs Wheel rotation indicator Mode key Output Liquid Crystal Display Low performance MCU 8-bit, 10 MIPS

Gasoline Automobile Engine Control Unit Functions Fuel injection Air intake setting Spark timing Exhaust gas circulation Electronic throttle control Knock control Constraints Reliability in harsh environment Many Inputs and Outputs Discrete sensors & actuators Cost Network interface to rest of car Weight High Performance MCU 32-bit, 3 MB flash memory, 150 - 300 MHz Image courtesy of Freescale

Benefits of Embedded Computer Systems Greater performance and efficiency Software makes it possible to provide sophisticated control Lower costs Less expensive components can be used Manufacturing costs reduced Operating costs reduced Maintenance costs reduced More features Many not possible or practical with other approaches Better dependability Adaptive system which can compensate for failures Better diagnostics to improve repair time

Embedded System Functions Closed-loop control system Monitor a process, adjust an output to maintain desired set point (temperature, speed, direction, etc.) Sequencing Step through different stages based on environment and system Signal processing Remove noise, select desired signal features Communications and networking Exchange information reliably and quickly

Attributes of Embedded Systems Interfacing with larger system and environment Analog signals for reading sensors Typically use a voltage to represent a physical value Power electronics for driving motors, solenoids Digital interfaces for communicating with other digital devices Simple - switches Complex - displays

Example Analog Sensor - Depth Gauge V_ref // Your software ADC_Code = ADC0->R[0]; V_sensor = ADC_code*V_ref/1023; Pressure_kPa = 250 * (V_sensor/V_supply+0.04); Depth_ft = 33 * (Pressure_kPa – Atmos_Press_kPa)/101.3; Analog to Digital Converter Pressure Sensor Pressure V_sensor ADC_Code Voltages V_ref Ground ADC Output Codes 111..111 000..000 000..001 111..110 111..101 111..100 V_sensor ADC_Code Sensor detects pressure and generates a proportional output voltage V_sensor ADC generates a proportional digital integer (code) based on V_sensor and V_ref Code can convert that integer to a something more useful first a float representing the voltage, then another float representing pressure, finally another float representing depth

Microcontroller vs. Microprocessor Both have a CPU core to execute instructions Microcontroller has peripherals for concurrent embedded interfacing and control Analog Non-logic level signals Timing Clock generators Communications point to point network Reliability and safety

Attributes of Embedded Systems Concurrent, reactive behaviors Must respond to sequences and combinations of events Real-time systems have deadlines on responses Typically must perform multiple separate activities concurrently

MCU Hardware & Software for Concurrency CPU executes instructions from one or more thread of execution Specialized hardware peripherals add dedicated concurrent processing DMA - transferring data between memory and peripherals Watchdog timer Analog interfacing Timers Communications with other devices Detecting external signal events Peripherals use interrupts to notify CPU of events

Concurrent Hardware & Software Operation Time Embedded systems rely on both MCU hardware peripherals and software to get everything done on time

Attributes of Embedded Systems Fault handling Many systems must operate independently for long periods of time, requiring system to handle likely faults without crashing Often fault-handling code is larger and more complex than the normal-case code Diagnostics Help service personnel determine problem quickly

Constraints Cost Size and weight limits Power and energy limits Competitive markets penalize products which don’t deliver adequate value for the cost Size and weight limits Mobile (aviation, automotive) and portable (e.g. handheld) systems Power and energy limits Battery capacity Cooling limits Environment Temperatures may range from -40°C to 125°C, or even more

Impact of Constraints Microcontrollers used (rather than microprocessors) Include peripherals to interface with other devices, respond efficiently On-chip RAM, ROM reduce circuit board complexity and cost Programming language Programmed in C rather than Java (smaller and faster code, so less expensive MCU) Some performance-critical code may be in assembly language Operating system Typically no OS, but instead simple scheduler (or even just interrupts + main code (foreground/background system) If OS is used, likely to be a lean RTOS

Curriculum Overview Microcontroller concepts Software design basics Introductory Course: Building an Embedded System with an MCU Microcontroller concepts Software design basics ARM Cortex M0+ architecture and interrupt system C as implemented in assembly language Peripherals and interfacing Advanced Course: Performance Analysis and Optimizations Creating responsive systems Creating fast systems Optimizing system power and energy

Target Board - FRDM-KL25Z 32-bit Cortex M0+ Processor Core Freescale Kinetis MKL25Z128VLK4 processor Extremely low power use 48 MHz max clock On-chip 128 KB ROM, 16 KB RAM Wide range of peripherals, including USB on-the-go FRDM-KL25Z board $13 (USD) Peripherals: 3-axis accelerometer, RGB LED, capacitive touch slider Expansion ports are compatible with Arduino shield ecosystem – endless opportunities, low-cost hardware mbed.org enabled - online software development toolchain, reusable code

Why Are We…? Using C instead of Java (or Python, or your other favorite language)? C is the de facto standard for embedded systems because of: Precise control over what the processor is doing. Modest requirements for ROM, RAM, and MIPS, so much cheaper system Predictable behavior, no OS (e.g. Garbage Collection) preemption Learning assembly language? The compiler translates C into assembly language. To understand whether the compiler is doing a reasonable job, you need to understand what it has produced. Sometimes we may need to improve performance by writing assembly versions of functions. Required to have a microcontroller board? The best way to learn is hands-on. You will keep these boards after the semester ends for possible use in other projects (e.g. Senior Design, Advanced Embedded System Design, Mechatronics, etc.)