Top Banner
1 Introduction to Introduction to Embedded Systems Embedded Systems Manuel Lois Anido Manuel Lois Anido Federal University of Rio de Janeiro Federal University of Rio de Janeiro Undergraduate Course in Computer Science Undergraduate Course in Computer Science NCE/IM NCE/IM
12

1 Introduction to Embedded Systems Manuel Lois Anido Federal University of Rio de Janeiro Undergraduate Course in Computer Science NCE/IM.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Introduction to Embedded Systems Manuel Lois Anido Federal University of Rio de Janeiro Undergraduate Course in Computer Science NCE/IM.

1

                                                           

Introduction to Introduction to Embedded SystemsEmbedded Systems

Manuel Lois AnidoManuel Lois Anido

Federal University of Rio de JaneiroFederal University of Rio de JaneiroUndergraduate Course in Computer ScienceUndergraduate Course in Computer Science

NCE/IMNCE/IM

Page 2: 1 Introduction to Embedded Systems Manuel Lois Anido Federal University of Rio de Janeiro Undergraduate Course in Computer Science NCE/IM.

2

                                                           

Introduction to Embedded SystemsIntroduction to Embedded Systems

Course Objectives:Course Objectives:• Study the Methods to Design and Implement Study the Methods to Design and Implement

Embedded Systems. It is an Interdisciplinary Course Embedded Systems. It is an Interdisciplinary Course which Involves Software and Hardware Knowledge which Involves Software and Hardware Knowledge (mostly software). (mostly software).

Important Issues:Important Issues:• Arithmetic, Basic HardwareArithmetic, Basic Hardware• MicrocontrollersMicrocontrollers• Interrupts, ConcurrencyInterrupts, Concurrency• TimingTiming• Limited ResourcesLimited Resources• Finite State MachinesFinite State Machines• Connecting I/O DevicesConnecting I/O Devices

Evaluation:Evaluation:• Theorethical Assignments Theorethical Assignments • Practical AssignmentsPractical Assignments

Page 3: 1 Introduction to Embedded Systems Manuel Lois Anido Federal University of Rio de Janeiro Undergraduate Course in Computer Science NCE/IM.

3

                                                           

Course OutlineCourse Outline

Introduction to Embedded SystemsIntroduction to Embedded Systems Basic Electricity, Electronics Concepts and DevicesBasic Electricity, Electronics Concepts and Devices Integer and Fixed-Point Arithmetic Integer and Fixed-Point Arithmetic Overview of Popular Microcontrollers and DSPs with Overview of Popular Microcontrollers and DSPs with

Associated Assembly LanguageAssociated Assembly Language Using C and IDEs for System DevelopmentUsing C and IDEs for System Development Interrupts, DMA, Polling, TimersInterrupts, DMA, Polling, Timers Finite State Machines Finite State Machines Basic Microcontroller Interface Circuits – Parallel, Serial, Basic Microcontroller Interface Circuits – Parallel, Serial,

Bar codes, Magnetic cards, smart cards, keyboards, Bar codes, Magnetic cards, smart cards, keyboards, LCDs, USB, SCSI, etcLCDs, USB, SCSI, etc

Real-Time Systems Concepts and RTOSReal-Time Systems Concepts and RTOS Java/Jini for Embedded DevicesJava/Jini for Embedded Devices

Page 4: 1 Introduction to Embedded Systems Manuel Lois Anido Federal University of Rio de Janeiro Undergraduate Course in Computer Science NCE/IM.

4

                                                           

Embedded Systems’ BooksEmbedded Systems’ Books

Course is centered on Slides and PapersCourse is centered on Slides and Papers Text BooksText Books::

• Embedded CEmbedded C – – Michael J. Pont, Addison Wesley Publ. (C programming for Michael J. Pont, Addison Wesley Publ. (C programming for 80518051 line) line)• Microcontrolador 8051 DetalhadoMicrocontrolador 8051 Detalhado – Denys E. Nicolosi – Editora Érica – Denys E. Nicolosi – Editora Érica

• Microcontrolador PIC – PIC – Microcontrolador PIC – PIC – Programação em C – Fabio Ferreira – Ed. Érica, Programação em C – Fabio Ferreira – Ed. Érica, • Desbravando o PICDesbravando o PIC – David José de Souza – Ed. Érica. – David José de Souza – Ed. Érica.

• Embedded System Design: Embedded System Design: A unified Hardware/Software Introduction (Frank Vahid):A unified Hardware/Software Introduction (Frank Vahid): www.cs.ucr.edu/content/esd/www.cs.ucr.edu/content/esd/ (on line) (on line)

• Useful Link on C programming for 8051 - http://www.spjsystems.com/c31exmpl.htmUseful Link on C programming for 8051 - http://www.spjsystems.com/c31exmpl.htm

Other Useful Books:Other Useful Books:• Basic ElectronicsBasic Electronics: : Any Basic Book that Describes Electronic ComponentsAny Basic Book that Describes Electronic Components

• Computer Arithmetic: Computer Arithmetic: Computer Arithmetic – Algorithms and Hardware Designs – Behrooz Computer Arithmetic – Algorithms and Hardware Designs – Behrooz Parhami – Oxford Press – ISBN – 0-19-512583-5Parhami – Oxford Press – ISBN – 0-19-512583-5

• C and the 8051 – C and the 8051 – Building Efficient Applications – Thomas W. Shultz – Prentice Hall PTR (seeBuilding Efficient Applications – Thomas W. Shultz – Prentice Hall PTR (see www.amazon.comwww.amazon.com))

• ARM and Texas DSP – Look for it at the InternetARM and Texas DSP – Look for it at the Internet

• Sistemas de Tempo Real: Livro Tempo Real em Formato Eletrônico (PDF)Sistemas de Tempo Real: Livro Tempo Real em Formato Eletrônico (PDF)

• Java/Jini: Look for it at the InternetJava/Jini: Look for it at the Internet

Page 5: 1 Introduction to Embedded Systems Manuel Lois Anido Federal University of Rio de Janeiro Undergraduate Course in Computer Science NCE/IM.

5

                                                           

Embedded Systems’ ToolsEmbedded Systems’ Tools

Check Your CD-ROMCheck Your CD-ROM

Tools for the 8051 line of Microcontrollers:Tools for the 8051 line of Microcontrollers:• Keil System IDE: Keil System IDE: www.keil.comwww.keil.com (BEST ONE for 8051 family) (BEST ONE for 8051 family)• EZ Downloader – To donwnload object code through serial port to program 8051 EZ Downloader – To donwnload object code through serial port to program 8051

chipschips• PROTEUS and ISIS – CAD (or EDA) system with schematic capture and PROTEUS and ISIS – CAD (or EDA) system with schematic capture and

simulationsimulation

Tools for the PIC line of Microcontrollers:Tools for the PIC line of Microcontrollers:• CCS – C compiler for PIC MicrocontrollerCCS – C compiler for PIC Microcontroller

• MPLAB – IDE from Microchip for PIC Microcontroller – Editor, File MPLAB – IDE from Microchip for PIC Microcontroller – Editor, File Manager, etcManager, etc

• PROTEUS and ISIS – EDA system with schematic capture and PROTEUS and ISIS – EDA system with schematic capture and simulationsimulation

• IC-Prog – To download object code through parallel or serial ports to IC-Prog – To download object code through parallel or serial ports to program PIC chipsprogram PIC chips

Page 6: 1 Introduction to Embedded Systems Manuel Lois Anido Federal University of Rio de Janeiro Undergraduate Course in Computer Science NCE/IM.

6

                                                           

Embedded Systems - URLsEmbedded Systems - URLs

Development kits in Brazil: Development kits in Brazil: http://kit.microcontrolador.comhttp://kit.microcontrolador.com

Page 7: 1 Introduction to Embedded Systems Manuel Lois Anido Federal University of Rio de Janeiro Undergraduate Course in Computer Science NCE/IM.

7

                                                           

Course EvaluationCourse Evaluation

2 simple homeworks (individual) ( Hw)2 simple homeworks (individual) ( Hw) 1 Exam (Ex1)1 Exam (Ex1) 1 very simple project (group of two) (P1)1 very simple project (group of two) (P1) 1 project (group of two) (P2)1 project (group of two) (P2)

1 final exam (individual) (Fe)1 final exam (individual) (Fe) 1 exam that can substitute Ex1 or Fe1 exam that can substitute Ex1 or Fe

Evaluation:Evaluation:

Average = (0.6*Ex1 + [Ex1 *1.4*(Hw1 + Hw2 + P1 +P2)/4]/10)/2Average = (0.6*Ex1 + [Ex1 *1.4*(Hw1 + Hw2 + P1 +P2)/4]/10)/2 If Average >= 7 Pass else Go To Final ExamIf Average >= 7 Pass else Go To Final Exam If (Fe + Average)/2 >= 5 PASS Else FailIf (Fe + Average)/2 >= 5 PASS Else Fail

Page 8: 1 Introduction to Embedded Systems Manuel Lois Anido Federal University of Rio de Janeiro Undergraduate Course in Computer Science NCE/IM.

8

                                                           

IntroductionIntroduction

Embedded System is a small Embedded System is a small computer system that is genecomputer system that is generally hidden inside equipment rally hidden inside equipment ((machine, electrical machine, electrical applianceappliance) ) to increase the inteto increase the intelligence of the equipment for lligence of the equipment for better or more efficient functibetter or more efficient functionality.onality.

This kind of system always inThis kind of system always involves both the software and volves both the software and hardware co-development. Ehardware co-development. Embedded systems are often embedded systems are often easier understood in term of Sasier understood in term of Smart Devices, Intelligent, or Amart Devices, Intelligent, or Automated Equipment.utomated Equipment.

MARKET (2001)

PC´s !!

Page 9: 1 Introduction to Embedded Systems Manuel Lois Anido Federal University of Rio de Janeiro Undergraduate Course in Computer Science NCE/IM.

9

                                                           

Market for Embedded MicroprocessorsMarket for Embedded Microprocessors

About four (!) percent of the world’s microprocessors are used in computers. Source: Embedded Systems Programming, May 1999

Average car has about 15 microprocessors. Mercedes S-class: 63 microprocessors !!

32-bit

embeddedmicroprocessors

16-bit

8-bit

8-bit

250 million

1 billion

1 billion

1 billion

125 million PCsIntel, AMD

Motorola,ARM,MIPS,i960,x86,…

Only 4% of thetotal number

Page 10: 1 Introduction to Embedded Systems Manuel Lois Anido Federal University of Rio de Janeiro Undergraduate Course in Computer Science NCE/IM.

10

                                                           

A “short list” of embedded systemsA “short list” of embedded systems

And the list goes on and on . . .And the list goes on and on . . .

Anti-lock brakesAuto-focus camerasAutomatic teller machinesAutomatic toll systemsAutomatic transmissionAvionic systemsBattery chargersCamcordersCell phonesCell-phone base stationsCordless phonesCruise controlCurbside check-in systemsDigital camerasDisk drivesElectronic card readersElectronic instrumentsElectronic toys/gamesFactory controlFax machinesFingerprint identifiersHome security systemsLife-support systemsMedical testing systems

ModemsMPEG decodersNetwork cardsNetwork switches/routersOn-board navigationPagersPhotocopiersPoint-of-sale systemsPortable video gamesPrintersSatellite phonesScannersSmart ovens/dishwashersSpeech recognizersStereo systemsTeleconferencing systemsTelevisionsTemperature controllersTheft tracking systemsTV set-top boxesVCR’s, DVD playersVideo game consolesVideo phonesWashers and dryers

Page 11: 1 Introduction to Embedded Systems Manuel Lois Anido Federal University of Rio de Janeiro Undergraduate Course in Computer Science NCE/IM.

11

                                                           

Word length: 16 bits (15 bits data + parity bit)First computer using integrated circuits (ICs)

Magnetic core memoryFixed memory (ROM): 36,864 wordsErasable memory (RAM):2,048 words

Number of instructions: 34Cycle time: 11.7 sec Clock frequency: 85 kHz (!)Number of logic gates: 5,600 (2,800 packages)Weight: 30 kgPower consumption: 70 W

Apollo Guidance Computer (AGC)

Page 12: 1 Introduction to Embedded Systems Manuel Lois Anido Federal University of Rio de Janeiro Undergraduate Course in Computer Science NCE/IM.

12

                                                           

Technology Areas of Embedded SystemsTechnology Areas of Embedded Systems

EmbeddedReal-TimeProgram

EmbeddedRTOS

Network +Protocol

MachineIntelligence

DSPDigital +AnalogCircuit

HumanComputerInteraction

ControlSystems

VHDL Verilog

Fixed PointArithmetic

C, JavaLanguages

Real WorldInterfacing