Top Banner
Embedded Systems (Cyber-Physical Systems): Introduction
20

Embedded Systems (Cyber-Physical Systems): Introduction

Jan 15, 2016

Download

Documents

Tess

Embedded Systems (Cyber-Physical Systems): Introduction. Course goals: understand the major issues in embedded systems development and learn about some commonly available tools to quickly and efficiently produce embedded systems for specific applicataion Course overview: - PowerPoint PPT Presentation
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: Embedded Systems  (Cyber-Physical Systems):  Introduction

Embedded Systems

(Cyber-Physical Systems):

Introduction

Page 2: Embedded Systems  (Cyber-Physical Systems):  Introduction

Course goals: understand the major issues in embedded systems development and learn about some commonly available tools to quickly and efficiently produce embedded systems for specific applicataion

Course overview:

Syllabus: text, references, grading, etc.

Schedule: will be updated regularly; lectures, assignments, labs

Project / Team formation

Student survey

Page 3: Embedded Systems  (Cyber-Physical Systems):  Introduction

Q: What is an “embedded” system?

A: a special-purpose processor, with associated software, for a specific application or set of applications; has ONLY the hardware / software resources needed for the application.Architecture:(Peckol, ch 11):

(virtual) machine model: common implementation: layers clearly separated upper layers may have

access to some lower-level functions:

“SAFER”: “MORE EFFICIENT”:

Page 4: Embedded Systems  (Cyber-Physical Systems):  Introduction

Some common embedded system implementations

--specific processor architectures: Intel 8051, ARM, PIC, PowerPC, …

--FPGA prototypes and implementations: Altera, Xilinx, …

--ASICs

Page 5: Embedded Systems  (Cyber-Physical Systems):  Introduction

5

Processor Examples

“Harvard architecture”:

--PIC processor family

“von Neumann architecture”:

--simple processor

--P 3 processor

--MIPS processor

--NIOS II processor core (Altera “soft core” processor)

Control

ALUMemoryData + Instruc.

I/O

Control

ALUInstruc. I/O Data

Page 6: Embedded Systems  (Cyber-Physical Systems):  Introduction

6

PIC processor family: processor is fixed, developer programs it

Reference: http://en.wikipedia.org/wiki/PIC_microcontroller

• PIC: peripheral interface controller

• Originally (~1975) for offloading I/O functions from a CPU

• Harvard architecture: data and instructions (“code”) are stored separately—thus a data item and an instruction do not need to be the same length

• Newer versions have a stack

• One accumulator (referred to as W), but memory is usually referred to as a “register file”

• Some versions allow a type of indirect addressing

• Usually referred to as a RISC machine; may have up to 70 instructions

• May be able to access external memory (newer versions)

• Many development tools & languages available

Data“Code”

(Instructions)

Page 7: Embedded Systems  (Cyber-Physical Systems):  Introduction

Hardware basis in this course: Altera FPGAs (PLAs)

LOCAL BUS

GLOBAL BUS

CARRY OUT

IN OUTBUS

BUS

CLOCKRESETMEM IN

LOGIC(LOOK-UPTABLE or

LUT)

MEMORY

(1-BIT)

CARRY IN

BUS

MEM OUT

FPGA (EXAMPLE)

SINGLE FPGA CELL

RAM BLOCK

Page 8: Embedded Systems  (Cyber-Physical Systems):  Introduction

DESIGNING AN FPGA-BASED CIRCUIT / PROCESSOR:

• USE HIGH-LEVEL ABSTRACTION, LIBRARIES, IP

• USE HARDWARE DESCRIPTION LANGUAGES (Verilog, VHDL)

• USE AUTOMATED TOOLS TO PRODUCE LAYOUT

• MAY FINE-TUNE DESIGN DETAILS

• DESIGN APPLICATION-SPECIFIC PROCESSOR / SOFTWARE

• or USE / MODIFY PROCESSOR ARCHITECTURE PROVIDED BY FPGA MANUFACTORER (ALTERA: NIOS II)

Page 9: Embedded Systems  (Cyber-Physical Systems):  Introduction

Final product: “embedded system”

Reference:

http://en.wikipedia.org/wiki/Embedded_system

Page 10: Embedded Systems  (Cyber-Physical Systems):  Introduction

Typical embedded system (implemented in FPGA):

• Special-purpose “computer” designed for device it controls

• user is provided with a processor with basic functionality

• processor can be programmed in software

• Additional features can be added using the FPGA resources to customize the design for a specific intended use

• Processor core may be “hard” (built-in as part of the chip) or “soft” (using some of available FPGA resources. Ex: Altera Nios II processor)

• Processor may have options—e.g., number of registers, floating point units

• Specialized CAD tools allow inclusion of additional functionality

• Hardware / software codesign now becomes a possibility

Page 11: Embedded Systems  (Cyber-Physical Systems):  Introduction

The basic codesign process:

(diagram: course on codesign by Niemann, Univ. of Dortmund, Winter 2008)

Strengths: Flexibility, Design Productivity;

Weaknesses: Performance, Resource Usage

Strengths: Performance, Resource Usage

Weaknesses: Flexibility, Design Productivity;

Codesign:

Page 12: Embedded Systems  (Cyber-Physical Systems):  Introduction

Typical embedded system properties:

• Processor: application–specific, not general-purpose

• Human interface: may be as simple as a flashing light or as complicated as real-time robotic vision.

• I/O: analog I/O is typical

• Diagnostic port: may be used for diagnosing the system that is being controlled -- not just for diagnosing the computer.

• Special-purpose hardware: [field programmable (FPGA), application specific (ASIC), or even non-digital] may be used to increase performance or safety.

• Operating system: typically must handle real-time processing (Note: “real-time” is NOT necessarily the same as “fast”)

• Software: often has fixed function; specific to application.

• Business considerations: often play a big role in design choices.

Reference: http://www.ece.cmu.edu/~koopman/iccd96/iccd96.html#introductionMuch of the following information is taken from this site

Page 13: Embedded Systems  (Cyber-Physical Systems):  Introduction

Examples (Koopman):

*

*Design change with cost above this magnitude can affect profitability, so typically needs management okay.

Page 14: Embedded Systems  (Cyber-Physical Systems):  Introduction

Design issues:

• System may need to be real-time / reactive (does not mean “fast” necessarily)

• Usually must be small and not weigh much

• Must be safe and reliable

• Must meet budget constraints (cost)

• May need to work in harsh environmental conditions (e.g., in an automobile)

• May need to deal with security issues

Page 15: Embedded Systems  (Cyber-Physical Systems):  Introduction

System requirements:

• Focus is on end-use capability, not on CPU performance, memory size, etc.

• System software must be safe and reliable

• Power usage should be low, depending on applications

• System typically controls a physical system— sensors / actuators

Page 16: Embedded Systems  (Cyber-Physical Systems):  Introduction

Embedded system lifecycle / requirements:

• Components—same component may work in several different systems—this can lower cost

• Safety certification—must often meet rigorous requirements (e.g., medical, aviation, automotive, military)

• Recertification—if system is modified

• Logistics / repair—accessibility is important

• Upgrades—need to be handled efficiently

• Component availability—may be long-term needs

Page 17: Embedded Systems  (Cyber-Physical Systems):  Introduction

“business model”:

What are design / production costs?

What is the life-cycle?

Are there “product families”?

Page 18: Embedded Systems  (Cyber-Physical Systems):  Introduction

Design culture:

Computer/ VLSI—simulate, simulate, simulate

Mechanical/sensors—build, build, build

Differing world views need to be reconciled

Page 19: Embedded Systems  (Cyber-Physical Systems):  Introduction

Skills an embedded systems designer needs (*this course; [not covered] ):• *C programming / programming • HDL: *Verilog / [VHDL]

• Hardware design: *Altera FPGAs / [Xilinx ….]

• Computer architecture • *?A/D & D/A conversion (I/O)• Operating systems• *Real-time programming, operating systems• (*)Project skills: Writing/documentation; Engineering design; Teamwork; Managing• [Business training]

i.e., thorough knowledge of hardware and software design, implementation, and test + understanding of consumer/business issues

Page 20: Embedded Systems  (Cyber-Physical Systems):  Introduction

Lab 1: tonight, 825 Old Chem--student survey

--ideally each student will have a laptop running windows

(or possibly linux)

--tools can be downloaded from the Altera site:

http://www.altera.com/education/univ/unv-index.html

--boards: we would like to use the Altera DE-1 board, ideally each team will acquire one; to start we can do design and simulation

--work on understanding how to implement simple circuits in Verilog and how to simulate them and get timing information (2-week assignment, due September 10)