Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Modellbasierte Software-Entwicklung eingebetteter Systeme

Ähnliche Präsentationen


Präsentation zum Thema: "Modellbasierte Software-Entwicklung eingebetteter Systeme"—  Präsentation transkript:

1 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

2 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

3 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!

4 Embedded Computing Paradigma
(C) Marwedel

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

6 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.

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

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

9 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

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

11 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

12 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 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!

13 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

14 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

15 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”

16

17

18 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

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

20 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

21 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

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

23 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€ € Spezialsensoren Fingerabdruck-Leser Barometer GPS-Empfänger Regensensor für Scheibenwischer Milchfettgehaltssensor für Tankwagen

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

25 Zusatzfolien

26 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

27 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]

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

29 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

30 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

31 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

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


Herunterladen ppt "Modellbasierte Software-Entwicklung eingebetteter Systeme"

Ähnliche Präsentationen


Google-Anzeigen