Embedded Systems I Thema am 04.10.2016: Terminabsprachen, Einordnung des Themas in Bezug zur MikroProzessortechnik, MikroController, FPGA, System on Chip (SoC), Entwicklungssysteme, Entwicklungsarbeitsplatz, Trainings-Prozessor, Zielvorstellungen, Voraussetzungen zur Praktikumsteilnahme mit Vortestat in den Übungen. Ulrich Schaarschmidt FH Düsseldorf, WS 2016/17 Ihr Dozent Ulrich G. Schaarschmidt Raum 5.04.032 (Gebäude5, 4. Etage, Raum 32) Telefon: 4351-3144 email: Ulrich.Schaarschmidt@hs-duesseldorf.de Labor: 5.04.041, Labormanager: Michael Kosub Telefon: (0211) 4351-3119 email: Michael.Kosub@hs-duesseldorf.de Laboringenieur: Oliver von Fragstein, Bs. CIT email: Oliver.Fragstein@hs-duesseldorf.de, 5.04.037 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 2 FH Düsseldorf (c) U.Schaarschmidt 1
Achtung: neuer Raum für die Übungen (IT) Dienstag nachmittags 9. Stunde in RAUM 5.02.41 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 3 Verschiebung Praktikum am Mittwoch Auf die 4. 5. Stunde Im Informatik-Labor 5.04.041 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 4 FH Düsseldorf (c) U.Schaarschmidt 2
Literaturhinweise Schmitt, Günter: Mikrocontrollertechnik mit Controllern der Atmel AVR-RISC-Familie (Programmierung in Assembler und C Schaltungen und Anwendungen) Oldenbourg Verlag, 3. überarbeitete und erweiterte Auflage 2007 Gadre, Dhananjay V.: Programming and Customizing the AVR Microcontroller McGraw-Hill, 2001 Schwabl-Schmidt, Manfred: AVR-Programmierung (Grundlagen und der Aufbau von Programmstrukturen) Elektor-Verlag GmbH, 2010 Gratis Studien-Bücher Download: http://bookboon.com/de 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 5 WEB - Literaturhinweise www.siwawi.arubi.uni-kl.de/avr_projects/ Wer seine C-Kenntnisse auffrischen möchte: http://de.wikibooks.org/wiki/c-programmierung Das Handbuch zur AVR GCC Compiler Suite: http://www.siwawi.arubi.uni- kl.de/avr_projects/avr-gcc-tutorial_- _www_mikrocontroller_net.pdf Oder mit Training der englischen Sprache: http://www.openavr.org/c_programming 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 6 FH Düsseldorf (c) U.Schaarschmidt 3
AVRs im Web http://www.mikrocontroller.net http://www.avr-asm-tutorial.net http://www.atmel.com http://www.avrfreaks.net/ http://www.omegav.ntnu.no/avr/ http://www.dontronics.com http://members.tripod.com/stelios_cellar/ http://instruct1.cit.cornell.edu/courses/ee476 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 7 Übersicht Vorlesungen: 2-stündig, dienstags von 12:00 13:30 Einführung in die Hardware und Software von MikroControllern und ihre Einbettung in dedizierte Systeme. Übungen: 1-stündig, dienstags von 15:00-15:45 oder von 16:00 16:45, jeweils M13; Besprechung und Vorführung der Hausaufgaben sowie Vorbereitung für die Praktika. Praktika: 2-stündig (6 Termine) montags, dienstags, mittwochs oder donnerstags, in 2er Gruppen (jede Gruppe hat einen eigenen Arbeitsplatz. C Entwicklungsumgebung) Zugriff auf Hardware, Simulation und Debugging. Alle Praktika müssen erfolgreich abgearbeitet und vom Betreuer abgezeichnet werden Termine s. Aushang. Bitte bei Herrn Kosub (M1.5b) in die Listen eintragen! 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 8 FH Düsseldorf (c) U.Schaarschmidt 4
Voraussetzungen Grundlagen der Digitaltechnik, Mikroprozessortechnik (Architektur und Organisation von Rechnersystemen), Softwaretechnik (mit erster Programmiererfahrung in C) 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 9 Ziele Einen allgemeinen Überblick über Eingebettete Systeme gewinnen; In Vorlesungen, Übungen und Praktika mit einer auerwählten Mikrocontroller-Familie arbeiten um an Beispielen exemplarisch zu lernen, Wenn Sie auf weiterführende Hinweise in Internet und Literatur stoßen, dann bitte ich um eine email bzw. Nachricht von Ihnen. 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 10 FH Düsseldorf (c) U.Schaarschmidt 5
Ziele Kennenlernen verschiedener Architekturmerkmale von MikroControllern, Interrupts, Realzeitanforderungen, besonders sichere Systeme, Entwurf und Konfiguration, Kennenlernen der wesentlichen Merkmale von Firmware, Hardwarenahe Programmierung (Assembler / C), Eigene Fachprüfung (PV=alle Praktikumversuche und Übungen erfolgreich absolviert/ unterschrieben). 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 11 Überblick I Aufbau von Single-Chip-Prozessoren (MikroControllern, MCU = Micro Controller Unit) Auf dem Chip integrierte: I/O-, Peripherie-, Timer- /Counter-, A/D-, D/A-Wandler-Funktionalität, Ram, (EE/EP)ROM, Flash, Watchdog, Event-System; Wenn ISA (Instruction Set Architecture) und Hardware gemeinsam entwickelt werden SoC = System on Chip Integration der MCU in eine elektrische, elektromechanische (Mechatronik), elektrohydraulische oder elektronische Umgebung, um eine gemeinsame Funktionalität zu bewirken. 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 12 FH Düsseldorf (c) U.Schaarschmidt 6
Überblick II Hardwarenahe Programmierung C, (Assembler nur noch selten), Einprogramm- / Mehrprogrammbetrieb Timesharing, Realzeit, Multitasking, Betriebssysteme Monitor für direkt ablaufende Programme, Zeilenorientierte Dialogsysteme, Grafische Dialogsysteme, Prozessdatenverarbeitungssysteme. 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 13 Überblick Praktikum 1.a. Tastendruck lässt LED leuchten. 1.b. Tastendrucke lösen verschiedene LED- Ablaufprogramme aus (Knight-Rider &Co). 2. Ampelanlage steuern, m/o Fussgängerüberweg 3. A/D-Wandler am Controller mit Ausgabe der angelegten Spannung auf 8 LED. 4. - 6. Praktikum wird neu konzipiert in Abhängigkeit von zu beschaffender Hard- und Software 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 14 FH Düsseldorf (c) U.Schaarschmidt 7
Platine des AVR Entwicklungssystems mit Ampelanlage 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 15 Jederfrau / Jedermann Entwickungssystem Butterfly 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 16 FH Düsseldorf (c) U.Schaarschmidt 8
Asuro bei der Linienverfolgung 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 17 Projekte Ruderprojekt: Trainingssystem für den Düsseldorfer Achter mit 24 Beschleunigungs-Sensoren und Funkmodulen, Zentraler Anzeigeeinheit remote (i-) oder sonstiges Android -Pad 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 18 FH Düsseldorf (c) U.Schaarschmidt 9
Projekte II Cappuccino-/ Espresso- Maschine mit MikroController, Temperatursensor, Taster, Display und Durchflussmesser ausrüsten, evtl. über das Intranet steuern. Verschiedene Labor-Versuche auf ARM-Prozessoren programmieren und testen. 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 19 Projekte III Schnittstellenkonverter für Schulgeräte mit Parallelschnittstelle, die an moderne USB- Schnittstellen angeschlossen werden sollen (da kaum noch Druckerports vorhanden sind). Steuer- und Regeleinheit für eine Fettabscheideanlage (Großküche). Diverse vernetzte Sensoren im Rahmen unseres AAL-Projektes (Ambient Assisted Living); Eigene Ideen realisieren; 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 20 FH Düsseldorf (c) U.Schaarschmidt 10
Was kann / soll man sich unter Embedded Systems vorstellen? eingebettet - ein aktuelles Schlagwort? Nicht wirklich! smart heißen die eingebetteten Systeme, da dort Eingebettete Systeme mit einander vernetzt sind also kommunizieren. -> smart home, smart care, IoT Internet of Things 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 21 Embedded heißt eingebettet. Damit ist gemeint, dass Geräte und Systeme, trotz eingebetteter Intelligenz bzw. Logik, mit einem festem Funktionsumfang versehen sind (-->Embedded Applications). Diese Funktionalität wird durch den Hersteller festgelegt. Die Benutzer werden sich der Technik (HW, SW, Mechanik), die dahinter steckt in der Regel nicht bewußt. PCs mit der Möglichkeit die Programme flexibel, den Aufgaben entsprechend, ändern zu können, gehören nicht dazu. 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 22 FH Düsseldorf (c) U.Schaarschmidt 11
... Butter bei die Fische Embedded Systems umgeben uns, häufig unbewusst, Tag und Nacht sei es im Mobiltelefon (Handy, Smartphone), elektronischen Weckradio, im Herzschrittmacher, in der Heizungsregelung, im Fernseher, im Videorekorder, in Küchengeräten, im medizinischen Überwachungs-, Diagnoseoder Therapiegerät, usw. 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 23... Butter bei die Fische Die Zukunft ist schon da viele nehmen es nur nicht als Embedded System wahr ubiquitous computing, Smart home, Smart care, Ambient Assisted Living (AAL) 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 24 FH Düsseldorf (c) U.Schaarschmidt 12
Unauffällige,... Konsumgüter und Haushalts-Geräte /-Hilfen: Melodie- und Sprachausgabe von Glückwunschkarten, Fernseher, Set-Top-Box, Spielekonsole(?), Videorekorder, Stereoanlage, Küchenherd, Backautomat, Satellitenempfänger, Waschmaschine, elektronische Waage, Staubsauger, Heizungsregelung (Öko-, Solar-, Brennwerttechnik, BHKW), Fahrstuhl, Alarmanlage, Zutrittskontrolle, Feuermelde- und Leitsystem,... 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 25... Automotive Systeme,... in Kraftfahrzeugen ABS, Airbag, Traktionskontrolle, Motormanagement, Navigationssystem, Autoradio mit integrierten Mobiltelefon, Freisprecheinrichtung mit Nebengeräuschunterdrückung (DSP- Funktionalität); ein Mittelklasse-Auto hat mehr als 50 Steuergeräte vom Abstandswarner / Einparkhilfe bis zur multiplen, fahrerbezogenen Sitz- und Lenkradverstellung, Multimedia- / Entertainmentsystem für Mitfahrer; 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 26 FH Düsseldorf (c) U.Schaarschmidt 13
... Produktionssysteme... Fabrikautomation SPS - Speicherprogrammierbare Steuerungen waren vor über 20 Jahren Stand der Technik (state of the art) und sie laufen immer noch und es werden preiswerte, leistungsfähigere Neue entwickelt; heute gibt es integrierte Produktions- und Fertigungsplanungssysteme. 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 27... und andere High-Tech- Anwendungen Aber auch z.b. - diverse Steuer- und Regelsysteme eines Satelliten (Lageregelung, Ausrichtung der Solarpanele und Antennensysteme, Management der Kommunikationsnutzlast, Kameraoptmierung), Power-Management,.. Herzschrittmacherregelung mit / ohne Defilibrator, Navigationssysteme zum Wandern und für Raketen, wearable Computers (in der Kleidung eingearbeitet, z.b. mit Monitorbrille, Freisprechgarnitur, Hobby und Arbeit...), Ubiquitous / pervasive Computing (uns umgebende Computer in Wohnung, Büro, Verkehrsmittel,...), Diagnostische, medizinische Kleinstcomputer (z.b. Implantate), oder therapeutische Controller (z.b. Prothesensteuerungen, Hörgeräte, Insulindosierer,...). 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 28 FH Düsseldorf (c) U.Schaarschmidt 14
Nachrichten - / Datenübertragung & ES WLL Wireless Local Loop / WLAN Wireless Local Area Network, Funknetzwerk, Firmen- u. Messegelände, Flugplatz, Hochschule, Hot Spot, Eisenbahn (ICE),... Bluetooth Funkverbindung für geringe Entfernungen und kleine Netze (oder P2P), ZigBee - Funkverbindung für geringe Entfernungen und geringen Energieverbrauch GPRS, GSM, UMTS, ISM-Frequenzbereiche, etc. 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 29 Embedded Systems & Nachrichtentechnik Die Verbindung von Embedded Systems mit Elementen der Nachrichtentechnik (Bluetooth & Co) ergibt Pervasive bzw. Ubiquitous Computing. Diese Phase ist im Anlaufen begriffen. Der PDA (oder später waerable computer) kommuniziert mit dem Home- oder Business-Netzwerk und gleicht Termine und Daten ab. Die Heizungsregelung wird rechtzeitig hochgefahren auf meine Wohlfühltemperatur rechtzeitig bevor ich zu Hause eintreffe. Wenn die Familie endlich zusammen sitzt, ist auch das Essen fertig (oder gehen wir in Zukunft nur noch Essen bzw. werfen Mineralien-/Vitamin-Nahrungsergänzung ein?) oder der Futter-Service bringt uns just in time das Menue in die Wohnung. 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 30 FH Düsseldorf (c) U.Schaarschmidt 15
Übungen und Praktika Wie geht es im Labor ab? 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 31 AVR Entwicklungssystem (X-) Cross - Development Die Entwicklungsumgebung (ARV-Studio) (Versionskontrolle, Compiler, Assembler, Linker, Debugger, Dokumentation) läuft auf einem anderen Rechnersystem als auf dem Zielsystem. Auf der Workstation (hier ein PC): Entwurf, Entwicklung, Programmierung, Kompilation, Simulation, Download in das Zielsystem. Start des Programmes im Zielsystem, Debugging (Fehlersuche- und Beseitigung), d.h. intensive Kommunikation zwischen Workstation und Zielsystem erforderlich (STK500, JTAG et. al.). 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 32 FH Düsseldorf (c) U.Schaarschmidt 16
Ablauf der Programmierung und Befehlsübersicht AVR-Studio aufrufen (bietet komplette Projektbearbeitung), Im Texteingabefenster die zur Programmsteuerung gewählten Befehle eingeben und Kommentare (durch Semikolon vom Prog. abgesetzt) dahinter schreiben. Programm speichern und durch das Studio assemblieren lassen. Fehler bearbeiten (so vorhanden). Programm in das Zielgerät laden oder im Simulator die Funktion kontrollieren. 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 33 1. Aufgabe Arbeiten Sie die ausgegebenen Unterlagen durch, damit Sie im Praktikum keine Zeit mit dem Lesen verlieren dort sollen Sie das programmieren, was Sie sich vorher überlegt und notiert haben! Wir prüfen Sie zu Beginn des Praktikums auf das erarbeitete Wissen!!! Sie erhalten: Vorstellung der Laborumgebung (Evaluationsboard, AVR-Studio), Praktikumsunterlagen für das erste Praktikum sind oben enthalten. Um in der Entwicklungsumgebung arbeiten zu können, empfiehlt sich der Besuch des AVR-GCC-Tutorials (oder download des.pdf) auf www.mikrocontroller.net. Den Exkurs über makefiles können sie weglassen, da WinAVR (GCC) in das AVR-Studio (V5 oder aktueller) integriert ist. Das aktuelle AVR-Studio kann auch die Bearbeitung der 32-Bit Controller (ARM, Cortex) vollziehen. 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 34 FH Düsseldorf (c) U.Schaarschmidt 17
Machen Sie sich (und uns) das Leben leichter! Holen Sie sich das Entwicklungssystem AVR- Studio 5 (ja, es gibt schon längst V6 und V7) von der Atmel Website und spielen Sie damit auf Ihrem PC/Notebook etc. zu Hause! Sie arbeiten die Praktikumsunterlagen durch und bereiten sich auf das Praktikum vor! Sie können vor dem Praktikum Fragen der Betreuer zum Versuch beantworten! Ahnungslose Studies dürfen das Labor wieder verlassen es gibt einen (nur 1) Nachholtermin am Ende des Semesters. 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 35 Zum 1. Praktikum Sie bearbeiten eine MCU namens ATMEGA16 (gucken Sie, welcher Typ in der Platine steckt!) Sie programmieren in C im AVR-Studio5 Sie verwenden hierzu ein Entwicklungssystem Eval(uations)board STK500 Das JTAGICE (ICE = In Cicuit Emulator) für spätere Praktika ist ein Hilfsmittel um die MCU zu programmieren und dann damit evtl. Fehler zu suchen 04.10.2016 (C) Prof. Dr. U.G. Schaarschmidt 36 FH Düsseldorf (c) U.Schaarschmidt 18