1 / 20

Embedded Systems (Cyber-Physical Systems): Introduction

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:

tess
Download Presentation

Embedded Systems (Cyber-Physical Systems): Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. Control I/O Memory Data + Instruc. ALU Processor Examples “Harvard architecture”: --PIC processor family “von Neumann architecture”: --simple processor --mP 3 processor --MIPS processor --NIOS II processor core (Altera “soft core” processor) Control Instruc. I/O Data ALU

  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)

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

  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: http://en.wikipedia.org/wiki/Embedded_system

  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. Codesign: Strengths: Performance, Resource Usage Weaknesses: Flexibility, Design Productivity; Strengths: Flexibility, Design Productivity; Weaknesses: Performance, Resource Usage The basic codesign process: (diagram: course on codesign by Niemann, Univ. of Dortmund, Winter 2008)

  12. Reference: http://www.ece.cmu.edu/~koopman/iccd96/iccd96.html#introduction Much of the following information is taken from this site • 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.

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

More Related