150 likes | 330 Views
Eingebettete Systeme Qualität und Produktivität. Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik. War wir bislang hatten. Einführungsbeispiel (Mars Polar Lander) Automotive Software Engineering
E N D
Eingebettete SystemeQualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
War wir bislang hatten • Einführungsbeispiel (Mars Polar Lander) • Automotive Software Engineering • Domänen-Engineering • Modellbasierte Entwicklung • Anforderungsdefinition und -artefakte • Lastenheft TSG • Ziele und Szenarien • Strategien • Modellierung • physikalische Modellierung • Anwendungs- und Verhaltensmodellierung • Berechnungsmodelle, zeitabhängige & hybride Automaten • Datenflussmodelle (Katze und Maus) • Regelungstechnik • PID-Regelung • heute: HW für Regelungsaufgaben
PID-Regler • Proportionaler, integraler und differentialer Anteil bei der Regelung • u(t) = k1*e(t) + k2*e(t) dt + k3*e(t) • Ziel: Vermeidung bzw. Dämpfung von Überschwingungen • P(proportionaler) Anteil: „Je größer die Regelabweichung, umso größer muß die Stellgröße sein“ • I(integraler) Anteil: „Solange eine Regelabweichung vorliegt, muß die Stellgröße verändert werden“ • D(differentieller) Anteil: „Je stärker sich die Regelabweichung verändert, umso stärker muß die Regelung eingreifen“ • Einstellen des Reglers • erst den proportionalen Anteil einstellen, erhöhen bis leichte Oszillation auftritt • dann integralen Teil hoch regeln, solange bis die Oszillation aufhört • dann differentiellen Anteil, damit Zielgerade möglichst schnell erreicht wird
Beispiel Wasserstandsregelung • Wer hat‘s gemacht?
Deployment • Wie realisiert man elektrische / elektronische / elektronisch programmierbare Regler? • welche Hardware, Software? • welche Peripherie (Sensorik, Aktuatorik?) • wie kommt die SW auf die HW? • Übung mit Lego- und Fischertechnik-Systemen
Eingebettete Systeme: Hardware • Spezielle Prozessoren • 4-bitter, minimale Kosten, energieoptimiert • keine MMU, Coprozessoren, FloatingPoint • Microcontroller mit zusätzlichen Steuerungsleitungen • Spezialprozessoren (DSP, SoC, Krypto) • Trend: 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.
Eingebettete Systeme: Aufbau Applikationsschicht Steuerungsalgorithmus Benutzungsschnittstelle Realzeit-Betriebssystem Middleware Hardware Sensorik, Aktuatorik Netzverbindung Prozessankopplung (Funk-) Netzwerk
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) • Hitachi Single-Chip-Mikrocontroller • Display, 4 Knöpfe, Batteriefach • 3 analoge Eingänge, 3 analoge Ausgänge • IR-Kommunikation (seriell)
Renesas H8/3297-3292 Microcontroller http://eu.renesas.com/fmwk.jsp?cnt=product_folder.jsp&fp=/products/mpumcu/h8_family/h8300_series/h83297_group • H8/300-CPU • 16 KB ROM • 0,5 KB (!) RAM • 8 E/A-ports (8-Bit), SCI • 16 Register (8-Bit) • max. 16 MHz Takt • Timer, A/D-Wandler etc. • “disencouraged”
EA-Ports • Sensoreingänge • 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 • Motorausgänge • Leistungssteuerung überPulsweitenmodulation • Verschaltungssicher • Motoren, Lämpchen
NXT • Lego „Technik“ Serie • Atmel 32-Bit-ARM-Prozessor • AT91SAM7S256; 256 kB Flash-Speicher, 64 KB RAM, 48 MHz • Koprozessor: Atmel 8-Bit AVR, ATmega48; 4 KB Flash-Speicher, 512 Byte RAM, 8 MHz • digitale Sensoren (Ultraschall, Spezialsensoren), 4 Stecker • I2C-Bus • digital/analog-Kabel mit Spezialstecker • Motoren mit Drehwinkelsensor • Bluetooth-Kommunikation, USB-Anschluss • Punktmatrix-Display, 8-bit Sound • Firmware mit Dateisystem
FT 30402 • Atmel 8-bit Prozessor TS80, 32kB RAM • vier umpolbare Anschlüsse für Motoren, acht digitale Eingänge, zwei Analogeingänge • Programmierung über seriellen Port • technische Funktionsmodelle • Lucky-Logic für Windows (LLWin)
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 • …
Aufgabe • Abstandsregelung • einfacher P-Regler • PID-Regelung • Verfügbare HW • Lego RCX • Lego NXT • Fischertechnik