Presentation is loading. Please wait.

Presentation is loading. Please wait.

Embedded Systems Instructor: Dr. Mike Turi Department of Computer Science & Computer Engineering Pacific Lutheran University Slides originally from Dr.

Similar presentations


Presentation on theme: "Embedded Systems Instructor: Dr. Mike Turi Department of Computer Science & Computer Engineering Pacific Lutheran University Slides originally from Dr."— Presentation transcript:

1 Embedded Systems Instructor: Dr. Mike Turi Department of Computer Science & Computer Engineering Pacific Lutheran University Slides originally from Dr. Jabulani Nyathi, CptS 566, Washington State University, Spring 2007

2 Defining Embedded Systems (1/3) A specialized computer system that is part of a larger system or machine – Typically, an embedded system is housed on a single microprocessor board with the programs stored in ROM Some embedded systems include an Operating System but many are so specialized that the entire logic can be implemented as a single program Typically used to control, monitor or assist the operation of equipment, machinery, or plant

3 Defining Embedded Systems (2/3) A combination of computer hardware and software, and perhaps additional mechanical or other parts, designed to perform a dedicated function – Embedded software can range from embedded computing to small microcontroller applications In some cases, embedded systems are part of a larger system or product, as is the case of an anti-lock braking system (ABS) in a car

4 Defining Embedded Systems (3/3) Embedded systems typically do not interface with the outside world through familiar personal computer interface devices such as – a mouse, – keyboard and – graphic user interface Instead, they interface with the outside world through unusual interfaces such as – sensors, – actuators and – specialized communication links

5 Microcontrollers (1/3) A microcontroller is a highly integrated chip that contains all the components comprising a controller Typically this includes a CPU, RAM, some form of ROM, I/O ports, timers, and interrupt handlers Unlike a general-purpose computer, which also includes all of these components, a microcontroller is designed for a very specific task -- to control a particular system

6 Microcontrollers (2/3) As a result, the parts can be simplified and reduced, which cuts down on production costs Microcontrollers are sometimes called embedded microcontrollers, which just means that they are part of an embedded system -- that is, one part of a larger device or system Microcontrollers have benefited from miniaturization (All components can be integrated), MCU suited for data logging

7 Microcontrollers (3/3) In the past 8-bit microcontrollers were sufficient for most embedded systems applications 16-bit microcontrollers became more prevalent and now 32-bit micro-computers are the norm 32-bit microcontrollers offer networking capability There surely will be a migration to the 64-bit microcontrollers in the future due to an increase in performance and memory needs

8 Choosing a Microcontroller Base choice on – Application – Cost Hardware, software, training, support, and maintenance – ROM/RAM size – Real-time software constraints – Power Especially if design will be battery powered

9 The Virtex-II Pro Development System Hardware Software

10 PowerPC 405 Core Dedicated Hard IP Flexible Soft IP RocketIO PowerPC-based Embedded Design Full system customization to meet performance, functionality, and cost goals DCR Bus UART GPIO On-Chip Peripheral Hi-Speed Peripheral GB E-Net e.g. Memory Controller Arbiter On-Chip Peripheral Bus OPB Arbiter Processor Local Bus InstructionData PLB DSOCM BRAM ISOCM BRAM Off-Chip Memory ZBT SRAM DDR SDRAM SDRAM Bus Bridge IBM CoreConnect™ on-chip bus standard PLB, OPB, and DCR PowerPC developed by AIM = Apple-IBM-Motorola alliance

11 PPC 405 Architecture (1/2)

12 PPC 405 Architecture (2/2) Figure 1-1 from PowerPC 405-S Embedded Processor Core User’s Manual ver. 1.2

13 PPC 405 Pipeline From PowerPC 405-S Embedded Processor Core User’s Manual ver. 1.2

14 MicroBlaze-based Embedded Design Flexible Soft IP MicroBlaze  32-Bit RISC Core UART 10/100 E-Net On-Chip Peripheral Off-Chip Memory FLASH/SRAM LocalLink™ FIFO Channels 0,1…….32 Custom Functions Custom Functions BRAM Local Memory Bus D-Cache BRAM I-Cache BRAM Configurable Sizes Possible in Virtex-II Pro Arbiter OPB On-Chip Peripheral Bus

15 Embedded Development Tool Flow Overview Compiler/Linker (Simulator) C Code Debugger Standard Embedded SW Development Flow CPU code in on-chip memory ? CPU code in off-chip memory Download to Board & FPGA Object Code Standard FPGA HW Development Flow Synthesizer Place & Route Simulator VHDL/Verilog ? Download to FPGA

16 Real-Time Embedded Systems Real Time embedded systems operate under constrained environments: – They must meet deadlines – They might be battery powered and limited in computational power – They lack storage space (memory, hard disk etc) – More often than not they do not operate at high frequencies

17 Real Time Systems Concepts Real Time systems are characterized by the severe penalties that result if logical as well as timing correctness properties of the system are not met Two types of real time systems are: soft real time systems and hard real time systems – Soft: Tasks performed as quick as possible, don’t have to finish by specific times – Hard: Tasks must be performed on time – Most real time systems have both HARD and SOFT real time requirements In a multithread systems the threads can cooperate to perform an overall task

18 Real-Time Operating System (RTOS) An OS that has been developed for prompt responsiveness Typically used for embedded applications, such as mobile telephones, industrial robots, or scientific research equipment Facilitates creation of real-time systems, but does not guarantee that they are real-time; this requires correct development of system level software Through specialized scheduling algorithms and deterministic behavior can guarantee that system deadlines can be met. Valued more for how quickly it can respond to an event than for the total amount of work it can do – Key factors in evaluating an RTOS are minimal interrupt and thread latency

19 Monitoring Distributed Real-Time Systems (1/2) There are two significant differences between debugging and testing of software for desktop computers and embedded real- time systems: – It is more difficult to observe embedded computer systems, simply because they are embedded and – the actual act of observing RTS and DRTS can change their behavior to test or debug a system, we must observe its run-time behavior and deem how well these observations comply with the system requirements – Observations must be deterministic and reproducible – The act of observing must not disturb, or intrude on system behavior – If the observations are intrusive then their effects must be calculated and accounted for

20 Monitoring Distributed Real-Time Systems (2/2) In order to facilitate reproducible monitoring of DRTS we must: – Reproduce the inputs with respect to contents, order, and timing – Reproduce the order and timing of the executing and communicating tasks – Eliminate the probe-effect The observational requirements for testing and debugging differ, in the amount and type of information required – The difference comes from the fact that testing is used for finding failures (or showing their absence), while debugging is used for finding the errors that cause the failures To detect errors using debugging it is necessary to monitor the internal behavior of the programs with respect to intermediate computed values, internal variables, and the control flow – The problem of defining a global state in distributed real-time systems, and break-pointing tasks on different nodes at exactly the same time, is a major obstacle when debugging

21 Dragon12 Plus Board Uses MC9S12DG256B microcontroller (Motorola/Freescale) – Select this MCU in Freescale Code Warrior User manual for Dragon12 Plus Board – http://islab.soe.uoguelph.ca/sareibi/TEACHING_dr/ENG364_html_dr/outline_F2012/ docs/LAB_dr/GENERAL_dr/TECH_DATA_dr/dragon12_plus_hcs12_manual.pdf http://islab.soe.uoguelph.ca/sareibi/TEACHING_dr/ENG364_html_dr/outline_F2012/ docs/LAB_dr/GENERAL_dr/TECH_DATA_dr/dragon12_plus_hcs12_manual.pdf Sample programs – http://www.microdigitaled.com/HCS12/Hardware/Dragon12-Plus-Support.htm http://www.microdigitaled.com/HCS12/Hardware/Dragon12-Plus-Support.htm Dragon12 Plus labs – http://www.microdigitaled.com/HCS12/Lab/Dragon12_labs.htm http://www.microdigitaled.com/HCS12/Lab/Dragon12_labs.htm HCS12 labs – http://www.microdigitaled.com/HCS12/Lab/HCS12_labs.htm http://www.microdigitaled.com/HCS12/Lab/HCS12_labs.htm

22 Dragon12 Plus Board


Download ppt "Embedded Systems Instructor: Dr. Mike Turi Department of Computer Science & Computer Engineering Pacific Lutheran University Slides originally from Dr."

Similar presentations


Ads by Google