Modellbasierte Software-Entwicklung eingebetteter Systeme

Slides:



Advertisements
Ähnliche Präsentationen
Digital Output Board and Motherboard
Advertisements

Organisatorisches Die * bzw. ** Aufgaben müssen gelöst werden, da sie später wieder gebraucht werden. Musterlösungen werden zwei Wochen nach den Übungsblättern.
Entwicklung des Attiny-Boards Version 1.0 – 2.1 Prototyp.
Vom HW-Automaten zum Prozessor
KA – Rechnerarchitektur I ____________________________________________________________________________________________ ____________________________________________________________________________________________.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Eingebettete Systeme Qualität und Produktivität
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Wozu Mikrocontroller?.
Elektronisch messen, steuern, regeln
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Holger Harms, Harald Widiger,
Zentraleinheit CPU, Motherbord, RAM
E / IDE Enhanced / Integrated Device Elektronics
Prof. Dr. Holger Schlingloff
Prof. Dr. Holger Schlingloff
Eingebettete Systeme Qualität und Produktivität
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Eingebettete Systeme Qualität und Produktivität
Basisinformationstechnologie 1 Tanja Lange WS 2003/04 am
Teil 5: Embedded Systems
Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)
W. Oberschelp G. Vossen Kapitel 7.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 12.1.
2.5. Mikrocontroller-Komponenten
Embedded Applications
Datenmanagement in Sensornetzen PRESTO - Feedback gesteuertes Datenmanagement - SS 2007 Sören Wenzlaff.
Open Source Prozessor Leon2 Peer Royla und Marco Siebert RST-Labor WS 04/05 Prof. Dr.-Ing. Thomas Risse.
Beschleunigung Virtueller Privater Netze durch Netzwerkprozessoren
Studienarbeit Mini-Web-Server auf einem Signalcontroller
Duo- und Quad Prozessor-Architektur
CPLD/FPGA-Programmierung mit E-blocks. Wozu die CPLD/FPGA-Programmierung untersuchen? Zusammenhang zur modernen Digitalen Elektronik Verschwinden der.
Produktmanagement RimatriX & Software Solutions / Fabian Schäfer / 12
Quelle: Fachreferat von Mathias Herbst 1.
Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung
Online RBMCONSULTANTTM
INTEL Pentium 4 Prozessor
LEGO NXT Konkurrenzsysteme
3.4 CPU-Chips und Busse CPU-Chips
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
Embedded Systems Prof. Dr. H. Kristl
Computerorientierte Physik VORLESUNG
auf kleinen Linux-Devices
Lebensdauersimulation für Steuergeräte mit NI Single-Board RIO
The EventCollector Concept Präsentation der Diplomarbeit von Thomas Moser und Lukas Karrer Distributed System Group,
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Central Processing Unit von David Kleuker und Thomas Auner
Sichere Technologie für die elektronische Gesundheitskarte
ESYCS - Studie 7 „Embedded Hardware“
Universität Rostock Fachbereich Elektrotechnik und Informationstechnik Institut für Angewandte Mikroelektronik und Datentechnik Eine Prozessorarchitektur.
Entwicklung des Attiny-Boards
Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03.
Mikrocomputertechnik Jürgen Walter
Institut für Angewandte Mikroelektronik und Datentechnik Phase 5 Architectural impact on ASIC and FPGA Nils Büscher Selected Topics in VLSI Design (Module.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Aufbau, Funktion und Grundzusammenhänge
Komponenten für die Überwachung optischer Kenngrößen in Zugangsnetzen – (COMAN) Projekttreffen , Stuttgart Jörg Hehmann Juli, 2007)
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Referat von Marcel Poppen & Oliver Lennartz
Projektarbeit – SS08 Kai Aras
Semesterarbeit SS06 LEGO Mindstorms NeXT Generation
Von Marcel Poppen & Oliver Lennartz
Fragen.  Hardwarekomponenten sind die Bestandteile eines Computers, die Sie sehen und anfassen können.
Erste Schritte im Internet of Things
Mikrocontroller programmieren
Vom HW-Automaten zum Prozessor
מבוא למערכות מחשב ואסמבלי
CSL211 Computer Architecture
 Präsentation transkript:

Modellbasierte Software-Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für offene Kommunikationssysteme FOKUS

Wo stehen wir? Embedded Systems: Definition, Märkte, Programmierung, Softwareprozesse Anforderungserhebung und -analyse Modellierung Systemmodellierung (SysML) Kontinuierliche Modellierung (Simulink / Scilab) Diskrete Modellierung (UML) Codegenerierung und Modelltransformation  Hardware für eingebettete Systeme Sicherheit Funktionale Sicherheit Fehlertoleranzkonzepte Werkzeugqualifikation Validierung Modellbasierter Test Verifikation und statische Analyse Spezielle Domänen Automotive Software Engineering Medizintechnik Automatisierungstechnik, Robotik

Embedded Platforms Wie realisiert man elektrische / elektronische / elektronisch programmierbare Regler? welche Hardware, Software? welche Peripherie (Sensorik, Aktuatorik?) wie kommt die SW auf die HW? Übung mit Evaluations-Boards andere Eval-Boards auf Anfrage!

Embedded Computing Paradigma (C) Marwedel

Eingebettete Systeme: Aufbau Applikationsschicht Steuerungsalgorithmus Benutzungsschnittstelle Realzeit-Betriebssystem Middleware Hardware Sensorik, Aktuatorik Netzverbindung Prozessankopplung (Funk-) Netzwerk

Eingebettete Systeme: Hardware Spezielle Prozessoren 8-bitter, minimale Kosten, energieoptimiert keine MMU, Coprozessoren, FloatingPoint Microcontroller mit zusätzlichen Steuerungsleitungen Spezialprozessoren (DSP, SoC, Krypto) Trend für Entwicklung: FPGAs Spezielle Speicher meist bewegungslos (keine magnetischen/optischen Medien) ROM, PROM, EEPROM; zunehmend: Flash Disks minimaler RAM, auch; dual ported RAM Zusatzhardware Spezielle Platinen, AD/DA-Wandler, ASICs einsatzspezifische Sensoren und Aktuatoren Einfache Kommunikationsbusse und –netze CAN, Feldbusse; zunehmend auch Ethernet, Bluetooth etc.

Embedded Prozessoren Mikroprozessoren Microcontroller Recheneinheit, separater Speicher & Peripherie Microcontroller integrierte Rechen- und Speichereinheit System-on-Chip (SoC) Peripherie & IPs integriert

Recheneinheit (CPU) Characteristika von embedded-CPUs einige wenige Register wenig Befehle (oft ohne Gleitpunktarithmetik) niedrige Taktraten (16Hz – 1GHz) niedrige Energieaufnahme (2 – 100W) hoher Temperaturbereich (-40° – +85°C) lange Verfügbarkeit (5 – 20 Jahre) niedriger Preis (0,1 – 10 $)

Energieeffizienz “die wichtigste Eigenschaft eingebetteter Prozessoren” Verschiedene Methoden zum Energiesparen Taktrate senken, dynamisch adaptive Taktraten Betriebsspannung senken, dynamische Spannungsversorgung Größenreduktion der Schaltelemente Reduktion der Anzahl der Schaltelemente Bereiche abschalten Kommunikation reduzieren energiebewusste Software Multi- und Many-Core-Prozessoren Energieverbrauch = ∫ Leistungsaufnahme Kühlung, Gehäuse, ... Batterielebensdauer

ASICs “Application specific integrated circuit” Custom-designed Chip für spezielle Geschwindigkeitsanforderungen, oder maximale Energieeffizienz Nachteile Hohe Kosten (Maskenkosten 105 - 107 $) geringe Flexibilität (Technologie- und Standard-Anderungen) Entwicklungszeit und –aufwand Nur bei sehr hohen Stückzahlen akzeptabel

FPGAs “Field programmable gate array” “Programmierbare Hardware” Gatter aus Logikblöcken Programmierung durch Setzen der elementaren Funktionen Sehr schnelle Berechnungen möglich Hohe Tool- und Stückkosten Quelle: Wikipedia

Speicher  maximale Programmgröße ist limitiert! sowohl von-Neumann– als auch Harvard-Architektur Speichermanagement durch das Betriebssystem Security! üblicherweise nicht erweiterbar (aber: Flash-Cards als Ersatz) RAM (typischerweise 4 - 128 kB) ROM (nichtvolatiler Programmspeicher) EEPROM (für Settings / Bootloader) Cache: 32 B – 320 kB; üblich: 32 kB oder 64 kB L1 / L2 Caches  maximale Programmgröße ist limitiert!

Peripherie Analog-Digital /Digital-Analog Wandler (ADC / DAC) Discrete IO, General Purpose Input/Output (GPIO) Serielle Schnittstellen, z.B. RS232, USB, I2C Netzwerkschnittstellen: z.B. Ethernet, WLAN, PCI Feldbusse: z.B. CAN, LIN, MOST, PROFIBUS, usw. Echtzeituhr und Timer Speicherkartenleser (SD Cards, Compact Flash usw) Debuggingschnittstellen: JTAG, ISP

Beispiel: ARM Familie (Advanced RISC Machines Ltd.) “IP” (Intellectual Property); Fertigung durch Lizenznehmer (AMD, Apple, IBM, 3Com, Infineon, Freescale, HTC, Intel, Samsung, Qualcomm, Atmel, Toshiba, Renesas, NXP, Nvidia, Texas Instruments, ...) Marktführer im Embedded- und Smartphone-Bereich Prozessorfamilie: ARM1 – ARM11, StrongARM, XScale, Cortex-XX, ... 32- und 64-Bit, SIMD, Crypto-IP, ... Befehlssatz “Thumb” bzw. “Thumb2” 16- oder 32-Bit breite 3-Register-Befehle (z.B. ADD r0, r1, r2) üblicherweise Integer-Arithmetik, ggf. ohne Division zirkuläre Register-Bitshifts Conditional execution (4 Bedingungsbits, vermeidet Sprünge) Barrel-Shifter (zweiter Operand kann verschoben werden) Code-Größe versus Ausführungseffizienz

Beispiel: TI MSP430 Familie 16-Bit RISC-Mikrocontrollerfamilie von Texas Instruments optimiert für niedrigen Stromverbrauch Active Mode: 230 µA at 1 MHz, 2.2 V Standby Mode: 0.5 µA Off Mode (RAM Retention): 0.1 µA Prozessorkosten ab 25 ct 4-25 MHz (ab 40ns Zykluszeit); MSP430G2553: 16 MHz 27 Grundinstruktionen, je 1-6 Takte Adressierbarer Speicher 16KB Flash, 512B RAM 20-Bit Adressbus Feste Speicheraufteilung 16 Interrupts, verschiedene Schlafmodi 16 Register, verschiedene Adressierungsarten Peripherie: 8ch 10-bit ADC, 2 16-bit Timers, I2C, 2 SPI, 1 UART “MSP430G2553 qualified for high-reliability automotive applications targeting zero defects”

http://sockeye.cs.washington.edu/teaching/micro/msp430Tut.pdf

Atmel RN-mega 2560 ATmega AVR® 8-Bit Microcontroller RISC Architecture, up to 16 MIPS Throughput at 16 MHz, On-Chip 2-cycle Multiplier 100 pin 256 K Flash 8K RAM, 4K EEPROM Timer, PWM-Kanäle 16 analoge Eingänge, 86 programmierbare I/O Leitungen vier TTL UARTS (RX/TX) RS232, USB, I2C, SPI-Bus …

Beispiel: Lego RCX Robotic Command Explorer (1998) „Programmable Brick“ ursprüngliches Design: S. Papert, MIT Media Lab Vorläufer: Code Pilot, Cybermaster, Scout wie programmieren? Nachfolger: NXT (2006), EV3 (2013) Hitachi Single-Chip-Mikrocontroller Display, 4 Knöpfe, Batteriefach 3 analoge Eingänge, 3 analoge Ausgänge IR-Kommunikation (seriell)

Sensoren Verarbeitung analoger Signale beginnt mit der Erfassung Fast alle physikalischen und/oder chemisch erfassbaren Messgrößen wurden / werden zur Konstruktion von Sensoren genutzt Gewicht, Beschleunigung, Strom, Spannung, Temperatur, Helligkeit,… Chemische Stoffe, z.B. Methangas Oft werden auch Sekundäreffekte genutzt Ausdehnung des Batteriegehäuses bei Vollladung Auslenkung der Motorspindel im Herzunterstützungssystem Dämpfung des Schalls durch Fettpartikel in der Milch Passive und aktive Sensoren “Smarte” Sensoren: mit integrierter Signalaufbereitung

Analoge und digitale Sensoren Analoge Sensoren werden direkt an den Controller angeschlossen (GPIO); AD-Wandlung im Chip Digitale Sensoren besitzen eigenen Prozessor und kommunizieren über ein Protokoll mit der CPU (CAN, I2C, …) z.B. Lego Mindstorms EV3: analoge Sensoren Spannungsmessung, 100=Kurzschluss, 0=kein Kontakt Über U=R*I lässt sich Widerstand messen Schalter, Temperatursensor (passiv) Lichtsensor, Drehsensor (aktiv) 3 ms Batteriespannung, 0.1 ms Sensorwert digitale Sensoren z.B. Ultraschall-Abstandsmessung z.B. Schallsensor z.B. Gyroskop z.B. Kamera mit Bildverarbeitungssoftware

Beispiel: CMOS Bildsensor Based on standard production process for CMOS chips, allows integration with other components.

Andere Sensoren Sehr viele sehr unterschiedliche Sensoren verfügbar Wiki listet über 100 Sensortypen Pressure sensors Proximity sensors Engine control sensors Hall effect sensors Kosten: 0.01€ - 105 € Spezialsensoren Fingerabdruck-Leser Barometer GPS-Empfänger Regensensor für Scheibenwischer Milchfettgehaltssensor für Tankwagen

Aktuatoren Displays, LEDs, Lämpchen Elektromagnete Motorausgänge Leistungssteuerung über Pulsweitenmodulation (PWM) meist separate Motorcontroller

Zusatzfolien

Discretization of time Ve is a mapping ℝ  ℝ In this course: restriction to digital information processing; Known digital computers can only process discrete time series.  Discrete time; sample and hold-devices. Ideally: width of clock pulse -> 0 Vx is a sequence of values or a mapping ℤ  ℝ (C) Marwedel

Aliasing Impossible to reconstruct fast signals after slow sampling: multiple fast signals share same sampled sequence; Example: Signal: 5.6 Hz; Sampling: 9 Hz ~1 s [http://www.cise.ufl.edu/~prabhat/Teaching/cis6930-f04/comp1.ppt]

Quantization Noise N = (approximated - real signal) called quantization noise. Example: quantization noise for sine wave * [http://www.beis.de/Elektronik/DeltaSigma/DeltaSigma.html]

Discretization of values: A/D-converters 1. Flash A/D converter (1) Digital computers require digital form of physical values A/D-conversion; many methods with different speeds. Example: 1. Flash A/D converter: Encodes input number of most significant ‘1’ as an unsigned number, e.g. “1111” -> “100”, “0111” -> “011”, “0011” -> “010”, “0001” -> “001”, “0000” -> “000” (Priority encoder). (C) Marwedel

Discretization of values: A/D-converters 1. Flash A/D converter (2) Parallel comparison with reference voltage Speed: O(1) Hardware complexity: O(n) with n= # of distinguished voltage levels Applications: e.g. in video processing (C) Marwedel

Discretization of values 2. Successive approximation Key idea: binary search: Set MSB='1' if too large: reset MSB Set MSB-1='1' if too large: reset MSB-1 Speed: O(ld(n)) Hardware complexity: O(ld(n)) with n= # of distinguished voltage levels; slow, but high precision possible. (C) Marwedel

Successive approximation (2) 1100 1011 Vx 1010 1000 V- t (C) Marwedel