Embedded Systems (EMB)
Vorlesungsdaten:
| Beschreibung | Aufbau Arbeitsweise von Mikrocomputern, Hardware- Komponenten, Busanschluss von Speicher und Peripheriemodulen, Software- Erstellung EMB |
| Vorlesungsart | 50% Vorlesung, 50% Rechenübungen, Hands-on Tutorien und Durchführung von Laborversuchen (in Gruppen mit jeweils 2 Studenten) |
| Studiengang | Bachelorstudiengänge IEB, TIB, MTB und KI |
| Semester | 4 |
| Umfang | 4 SWS / 5 CR |
| Medien | Beamer, Tafelanschrieb, praxisorientierte Anleitung und Anforderungen |
| Sprache | Deutsch als Unterrichtssprache / Unterlagen auf Englisch und/oder Deutsch |
| Turnus | Winter- und Sommersemester |
| Prüfungsmodus | Projektarbeit und schriftliche Klausur in 120 Minuten mit Hilfsmitteln |
| Dozent | Prof. Dr. Kabulepa |
| Teilnahmevoraussetzung | Grundlagen der Informationstechnik wie beispielsweise aus den Lehrveranstaltungen DT (Digitaltechnik) und DMC (Digital- und Mikrocomputertechnik) sowie gute Programmierkenntnisse in C |
| Hilfsmittel (Software, etc.) | Laborarbeitsplätze des Instituts EMB, IDE Debugger Software (Keil), EVB (Evaluation Boards), Evaluierungs-Version der Entwicklungsumgebung zum Einsatz auf den privaten Computern können von den Studierenden heruntergeladen werden: http://www.keil.com, SDKs (Software Development Kits) |
| Studentischer Arbeitsaufwand | Präsenzstudium 60 h, Vorlesungsnachbereitung 120 h |
| Zulassungsvoraussetzungen | Erfolgreiche Durchführung von Projektarbeiten |
Inhalte der Vorlesung:
Aufbau und Funktion eines Mikrocontrollers
- Prozessorkern (Pipeline-Stufen, GPRs, System-Timer, …)
- Interrupt-Controller und andere interne Peripherie-Module wie UART und CAN Controller usw.
- I/O Funktionalität (GPIO, externe Interrupts, …)
- Arbeits- und Programmspeichermodule sowie Speicherschutz (MPU) Funktion
Mikrocontroller Programmierung
- Assembler Programmierung (UAL Assembler, Thumb-2-Befehle im Kontext des ARMv7 Befehlssatzes)
- Hardware-nahes Programmieren in C (Hardware Abstraction Layer APIs, …)
- Inline-Assembler sowie Aufruf von C Funktionen in Assembler und umgekehrt
- Einführung in APCS (ARM Procedure Call Standard) sowie in CMSIS (Cortex-M Software Interface Standard)
- Konfiguration eines Mikrocontrollers (Stack und Heap Größe, Interrupt-Vektortabelle, …)
Inbetriebnahme von Mikrocontroller-Schnittstellen
- Datenaustausch zwischen verschiedenen Mikrocontrollern mittels eines Labor-internen CAN-Netzwerks oder über Bluetooth Module
- Ansteuerung eines Touch Display Moduls
- Sensoren und Aktuatoren an einen Mikrocontroller anschließen
Lernziele / Kompetenzen:
Wissensverbreiterung: In dieser Lehrveranstaltung erlernen Studierende Grundlagen von Embedded Systems sowie praktische Kenntnisse im Umgang mit modernen Mikrocontrollern und entsprechenden Entwicklungswerkzeugen. Teilnehmende Studierende können die Übertragung von erworbenen theoretischen und praktischen Erkenntnissen auf verschiedene technische Projekte gut einschätzen.
Wissensvertiefung: Aufgrund der vorhandenen starken Synergie zwischen Hardware- und Softwareentwicklung ermöglicht diese Lehrveranstaltung eine praxisnahe Vertiefung der Fachkenntnisse aus der Digitaltechnik, Elektronik und Programmierung.
Instrumentale Kompetenz: Die teilnehmenden Studierenden erhöhen Ihr Selbstvertrauen im praktischen Umgang mit modernen Mikrocontrollern und passenden industrietauglichen Entwurfswerkzeugen. Nach erfolgreicher Teilnahme an dieser Lehrveranstaltung können Studierende in Industrieprojekten effizient mitwirken.
Kommunikative Kompetenz: Die Studierenden lernen verschiedene Entwicklungsphasen und entsprechende Werkzeuge kennen. In der Industrie arbeitet ein Team normalerweise an einer einzigen Entwicklungsphase. Durch die gewonnene Übersicht der verschiedenen Entwicklungsphasen werden teilnehmende Studierende Aufgaben und Lösungen von anderen Teams besser verstehen und folglich zu einer besseren Kommunikation zwischen Teams beitragen.
Systemische Kompetenz: Die behandelten Themen beziehen sich auf Teile von komplexen Anwendungen oder Systemen. In dieser Lehrveranstaltung befassen sich die teilnehmenden Studenten mit der Beschreibung und Implementierung von Schnittstellen innerhalb von komplexen Systemen. Hierbei werden Software- und Hardwareanforderungen an die Schnittstellen in Zusammenspiel mit anderen Aspekten wie beispielsweise mit dem Umweltschutz und der funktionalen Sicherheit in Betracht gezogen. Somit erwerben sie auch eine Kompetenz auf Systemebene. Sie verschaffen sich einen guten Überblick über die Zerlegung eines Systems in Komponenten sowie über die Integration von Komponenten in eine komplexe Anwendung. Studierenden können an der Programmierung und Verifikation eines eingebetteten Systems im Rahmen eines Industrieprojektes mitarbeiten.
Berufsvorbereitung: In dieser Lehrveranstaltung programmieren Studierende Mikrocontroller, die für die Industrie noch aktuell sind. Daher können sie in industrielle Projekte leicht einsteigen. Die verwendeten Entwicklungsumgebungen (Softwarewerkzeuge, Hardwareplatinen, Sensoren, Aktuatoren, …) entsprechen dem Industriestand.
Literatur
- Yifeng Zhu, “Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C”, Fourth Edition, E-Man Press LLC, ISBN-10: 0982692676, ISBN-13: 978-0982692677
- Joseph Yiu , “The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors”, Newnes, 3. Edition, ISBN-10: 0124080820, ISBN-13: 978-0124080829