Presentation is loading. Please wait.

Presentation is loading. Please wait.

Embedded Systems (Cyber-Physical Systems): Introduction.

Similar presentations


Presentation on theme: "Embedded Systems (Cyber-Physical Systems): Introduction."— Presentation transcript:

1 Embedded Systems (Cyber-Physical Systems): Introduction

2 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

3 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”:

4 Some common embedded system implementations --specific processor architectures: Intel 8051, ARM, PIC, PowerPC, … --FPGA prototypes and implementations: Altera, Xilinx, … --ASICs

5 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 ALU Memory Data + Instruc. I/O Control ALUInstruc.I/OData

6 6 PIC processor family: processor is fixed, developer programs it Reference: 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)

7 Hardware basis in this course: Altera FPGAs (PLAs) LOCAL BUS GLOBAL BUS CARRY OUT IN OUT BUS CLOCK RESET MEM IN LOGIC (LOOK-UP TABLE or LUT) MEMORY (1-BIT) CARRY IN BUS MEM OUT FPGA (EXAMPLE) SINGLE FPGA CELL RAM BLOCK

8 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)

9 Final product: “embedded system” Reference:

10 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

11 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:

12 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: Much of the following information is taken from this site

13 Examples (Koopman): * * Design change with cost above this magnitude can affect profitability, so typically needs management okay.

14 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

15 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

16 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

17 “business model”: What are design / production costs? What is the life-cycle? Are there “product families”?

18 Design culture: Computer/ VLSI—simulate, simulate, simulate Mechanical/sensors—build, build, build Differing world views need to be reconciled

19 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

20 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: --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)


Download ppt "Embedded Systems (Cyber-Physical Systems): Introduction."

Similar presentations


Ads by Google