ECS642U: Embedded Systems Introduction William Marsh.

Slides:



Advertisements
Similar presentations
Embedded System Lab. What is an embedded systems? An embedded system is a computer system designed for specific control functions within a larger system,
Advertisements

TM Freescale Semiconductor Confidential and Proprietary Information. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang.
Microprocessor Dr. Rabie A. Ramadan Al-Azhar University Lecture 1.
EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
Microprocessor 8085/8086 Lecturer M A Rahim Khan Computer Engineering and Networks Deptt.
Course Overview and The 8051 Architecture
 2002 Prentice Hall Hardware Basics: Inside The Box Chapter 2.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Embedded Computer ( Sisteme incorporate ) MPU vs. CPU / Alternative Texas Instrument, Freescale, ARM RISC and CISC approaches Single Chip Design System.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
16.317: Microprocessor System Design I Instructor: Dr. Michael Geiger Spring 2012 Lecture 29: Microcontroller intro.
The 8051 Microcontroller Architecture
ASPPRATECH.
Microcontroller based system design
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
Microcontroller: Introduction
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Microcontrollers, Basics Fundamentals of Designing with Microcontrollers 16 January 2012 Jonathan A. Titus.
Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007.
EC4012PA PIC 18F Introduction 2  Processor  Input Devices  Output Devices  Memory Devices 3.
Department of Electronic & Electrical Engineering Embedded system Aims: Introduction to: Hardware. Software Ideas for projects ? Robotics/Control/Sensors.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Revised: Aug 1, ECE 263 Embedded System Design Lesson 1 68HC12 Overview.
1 ARM University Program Copyright © ARM Ltd 2013 Introduction to Embedded Systems Design.
Introduction to Embedded Systems Design
Typical Microcontroller Purposes
2006 Chapter-1 L3: "Embedded Systems - Architecture, Programming and Design", Raj Kamal, Publs.: McGraw-Hill, Inc. 1 Hardware Elements in the Embedded.
Micro processor and Micro Controllers
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
ECS642U Embedded Systems Digital I/O William Marsh.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 2 Introducing the PIC Mid-Range Family and the 16F84A The aims of this chapter are to introduce: The PIC mid-range family, in overview The overall.
ECS642U Embedded Systems Cyclic Execution and Polling William Marsh.
Microcontroller System Design Introduction- 1  Seattle Pacific University Take a microprocessor/ microcontroller chip How to Succeed in Life – The micro.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
MICROOCESSORS AND MICROCONTROLLER:
Lecture 7: Overview Microprocessors / microcontrollers.
Department of Electronic & Electrical Engineering Introduction to microcontrollers A microcontroller is a small computer on a single integrated circuit.
Department of Electronic & Electrical Engineering Introduction to microcontrollers A microcontroller is a small computer on a single integrated circuit.
Embedded Systems Introduction. Microprocessor building blocks 1. ALU (Arithmetic Logic Unit): The ALU is a sequential logic circuitry that is intended.
HOME AUTOMATION USING PC DONE BY RAJESHKUMAR S SRI HARSHA D.
8051 Microcontroller Tutorial and Architecture with Applications.
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.
MICROPROCESSOR INTEL 8086/8088 BY: SERA SYARMILA SAMEON.
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?
Introduction to Microcontroller Technology
IF I ONLY HAD A BRAIN THE MICROCONTROLLER
IoT Milos Hampl.
Popular Microcontrollers and their Selection by Lachit Dutta
Microcontrollers, Basics Fundamentals of Designing with Microcontrollers 16 January 2012 Jonathan A. Titus.
Microcontrollers & GPIO
Microprocessor Systems Design I
UNIT – Microcontroller.
Microcontroller Based Digital Code Lock
Introduction to Microprocessors
Why microcontrollers in embedded systems?
Invent the future of small intelligent devices here.
Introduction to Microprocessors and Microcontrollers
Tiny Computers, Hidden Control
Lecture 3 - Instruction Set - Al
ریز پردازنده. ریز پردازنده مراجع درس میکروکنترلرهای AVR برنامه نویسی اسمبلی و C محمدعلی مزیدی، سپهر نعیمی و سرمد نعیمی مرجع کامل میکروکنترلرهای AVR.
Journey: Introduction to Embedded Systems
CET360 Microprocessor Engineering: Course Intro
EECE.3170 Microprocessor Systems Design I
Invent the future of small intelligent devices here.
Wireless Embedded Systems
Course Code 114 Introduction to Computer Science
Presentation transcript:

ECS642U: Embedded Systems Introduction William Marsh

Outline What is an embedded system? –Applications –Hardware –Software Introducing the ARM Cortex-M0+ –Hardware capabilities –Programming Course aims, topics and organisation

Personal Introductions William Software developer –Minicomputer SCADA –Expert systems –Software analysis tools Safety consultancy –Rail / defence At QMUL since 2000 Research interests –Modelling system risk –Decision support systems Michael Embedded Systems are fun! –Lego+Simulink for Profit –RC cars Software development –Award-winning software verification tools –Amazon Web Services At QMUL since 2013 Research –Formal verification, testing –Concurrency

Embedded System Examples Anti-lock braking Engine Control (VW)

Videos Anti-lock braking 6M4 6M4 Volkswagen engine control kswagen-clean-diesel-recall-passenger-carshttp:// kswagen-clean-diesel-recall-passenger-cars

Article in NY Times “If you look at all the code in this car,” Dr. Patel said, “it’s easily as much as a smartphone if not more.” 015/09/27/business/compl ex-car-software-becomes- the-weak-spot-under-the- hood.html New high-end cars are among the most sophisticated machines on the planet, containing 100 million or more lines of code. Compare that with about 60 million lines of code in all of Facebook or 50 million in the Large Hadron Collider.

Jobs in Embedded Systems Medical Automotive Aerospace Industrial control and automation … Software-Engineer-jobs

Embedded System Concepts … and related

Characteristics of Embedded Systems Computer as part of another system –Automotive, aerospace, medical, domestic appliance, …, toys –Sensors and actuators – monitor and control Single purpose (‘dedicated’) –Cheap as possible – smallest processors are very cheap Real-time and reactive Quality concern –Complexity and cost of correction

I/O What do embedded computers do? –Actuators: open, close, start, stop –Sensors: temperature, vision, touch

CPU  Microcontroller (MCU) CPU –Instruction set –Buses – data and addresses –Memory MCU –Digital I/O –Analog I/O –Counter timers Typical MCU has no external data or address bus 8-bit MCU still widely used

Best Computer? Cheapest for application Cost –Component costs –Manufacturing costs Integration – how many external components? Number of pins Power Performance –I/O –Processing

Real-time & Reactive System Requirement for response at a particular –Time –Interval Reactive –Responses to inputs Performance –Bandwidth: how much data / sec –Latency: how quick to respond –Timing: how accurate the intervals Controller Equipment

Practical Work H/W Overview ARM Cortex-M0+ MKL25Z128VLK4 Microcontroller Freescale Freedom (FRDM-KL25Z) dev board

Target Board - FRDM-KL25Z 32-bit Cortex M0+ Processor Core Freescale Kinetis MKL25Z128VLK4 micro-controller –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 –£10 –Peripherals: 3-axis accelerometer, RGB LED, capacitive touch slider –Expansion ports are compatible with Arduino shield ecosystem –On board debug system

Board – MCU – CPU Freescale Freedom Development Board MKL25Z128VLK4 Microcontroller (MCU) ARM Cortex-M0+ CPU

ARM: History and Products Created in 1990 from Acorn Computers Smart phone / tablet Embedded systems

Inside an iPhone Embedded Processors Application Processors

Microcontroller vs. Microprocessor CPU core to execute instructions Peripherals for interfacing and control –Analog –Timing –Clock generators –Communications point to point network –Reliability and safety Memory internal –No memory bus of the chip

MCU – How Fast?

Claims for L Series MCU Fast Cost Power

Freescale KL2 MCU

Freedom Development Board

Target Board: FRDM-KL25Z

MCU Components

Cortex-M0+ Processor Coe

Memory 128 KB flash –Non-volatile –Used for program 16 KB SRAM –Use for data variables –… and stack

Interfaces GPIO (General Purpose I/O) ADC (Analog to Digital Convertor) –Analog inputs DAC –Analog output Real-time clock Interval timers Pulse width modulator Interrupt controller

Multiplexed Pins Pins add to cost Each pin has multiple uses Pins must be configure d

MCU Pin Configuration Part of the MCU pin configuration table –Shows alternative uses –Do not confuse with Freedom Board headers

Connect MCU pins to external devices Freedom Board Headers

Development Software

Course Aims, Topics and Organisation

Aims Practice and theory How to use a micro-controller –Simple digital I/O  timers How to structure software –No Operating System Polling Interrupts State machines –Real-time OS How to debug, test and measure –Software and hardware

Course Topics Digital & analog I/O Interrupts State machines Real-time operating sys Concurrency & scheduling Timers Testing Energy usage Catch-up / skillsMain Topics C programming (Very) basic electronics Principles of OS Computer architecture Assembly code

Labs (20% of module) Assessed weekly labs 6 basic lab in weeks 1 – 6 –Attempt all 4 advanced labs, after week 7 –Attempt at least 2; count double Marking –Complete answer sheet –Lab viva then hand-in in the lab –Grade A-E Submission by 3 rd week –Week 1 lab by end of lab in week 3

2 Short Written Exercises (5%) Exam practice Not timed Submit on QMPlus

Books and Resources Books C programming resources Documentation from –ARM –Freescale

Communication QMPlus Forums 1.Announcements –Only I can post 2.Q&A –Anyone can post –USE THIS – no s please

Summary Embedded systems –Inside a system –Reacting to events in real-time Course includes practical work