Modulhandbuch BaTIN2012_Rechneraufbau Hardwarenahe Programmierung
Verantwortlich: Prof. Dr. Thieling
Modul
Anerkennbare Lehrveranstaltung (LV)
Organisation
Bezeichnung |
Lang |
BaTIN2012_Rechneraufbau Hardwarenahe Programmierung |
MID |
BaTIN2012_RHP |
MPID |
|
|
|
Zuordnung |
Studiengang |
BaTIN2012 |
Studienrichtung |
G |
Wissensgebiete |
G_GWC |
|
|
Einordnung ins Curriculum |
Fachsemester |
2 |
Pflicht |
G |
Wahl |
|
|
|
Version |
erstellt |
2011-10-14 |
VID |
1 |
gültig ab |
WS 2012/13 |
gültig bis |
|
|
Zeugnistext
de
Rechneraufbau und hardwarenahe Programmierung
Unterrichtssprache
Deutsch oder Englisch
Modulprüfung
Form der Modulprüfung |
sK |
Regelfall (bei geringer Prüfungsanzahl: sMP) |
Beiträge ECTS-CP aus Wissensgebieten |
G_GWC |
5 |
Summe |
5 |
Aufwand [h]: 150
Prüfungselemente
Vorlesung / Übung
Form Kompetenznachweis |
bÜA |
Präsenzübung und Selbstlernaufgaben |
Beitrag zum Modulergebnis |
bÜA |
unbenotet |
Spezifische Lernziele
Kenntnisse
- Grundlagen der C-Programmierung angeben, erklären, einsetzen (PFK.2, PFK.6, PFK.9). Diese sind ...
- Konstanten, Variablen, Datentypen
- Ausdrücke, Anweisungen, Kontrollstrukturen
- Präprozessoranweisungen
- Zeiger und Zeigerarithmetik
- Strukturierte Datentypen (Felder, Strukturen)
- Funktionen
- Standardbibliotheken
- Aufbau von Mehrdateienprogrammen mit Zugriff auf Bibliotheken
- Prinzipien der hardwarenahe I/O-Programmierung in C analysieren, klassifizieren (PFK.1, PFK.2, PFK.4)
- Aufbau digitaler I/O-Ports analysieren und verstehen
- Erreichbarkeit von I/O-Ports klassifizieren
- Memory-Mapped-I/O
- seperater I/O-Adressbereich
- Zugriff auf I/O-Ports mittels Zeiger verstehen und implementieren
- Zugriff auf I/O-Ports mittels Treiberbibliotheken verstehen und erläutern
- Prinzip der Automatenimplementierung unter C kennen und erläutern (PFK.2)
- Aufbau und Funktionsweise eines Kleinrechnersystems mit verschiedenen I/O-Schnittstellen analysieren und beschreiben (PFK.1, PFK.4, PFK.10)
- Analysieren der Gesamt-Architektur (Register, Rechenwerk, Steuerwerk, Speicher, Busstruktur, I/O-Schnittstellen) und beschreiben der Wechselwirkung der Komponenten
- Funktionsweise, d.h. Ablauf einer Programmabarbeitung auf Basis von Registertransfers verstehen und erläutern
- Elementare Grundlagen zur Programmierung des Kleinrechners in Assembler verstehn und beschreiben
- Aufbau, Arbeitsweise der I/O-Schnittstellen verstehen und erläutern
- digitale Ports (siehe oben)
- Timer/Counter (inkl. Digital-Analog-Wandlung mittel Pulsweitenmodulation)
- Analog-Digital-Wandler
- serielle Schnittstelle
- Prinzipien des Interrupts klassifizieren, erläutern, bewerten (PFK.1, PFK.4)
- Interrupt-Quellen und -Arten klassifizieren
- Prinzip der Interruptbearbeitung verstehen und erläutern
- Interupt-Vektor-Tabelle
- Interrupts-Service-Routine
- zeitlicher Ablauf der Interruptsbearbeitung
- Mechanismen zur Bearbeitung konkurrierender Interrupts verstehen, bewerten
- Funktionsweise und Aufgabe des Interrupts bei den verschiedenen I/O-Schnittstellen kennen und erläutern
Fertigkeiten
- Grundlagen der C-Programmierung programmiertechnisch anwenden (PFK.5, PFK.6)
- Prinzipien der hardwarenahe I/O-Programmierung in C programmiertechnisch anwenden (PFK.5, PFK6)
- Implementierung von Treiberbibliotheken in C
- Implementierung bitbasierte Ein-Ausgabe und Auswertung von Daten mittels C
- Elementare Grundlagen der Assembler-Programmierung in Form von Inline-Assembler in C-Programmen programmiertechnisch anwenden (PFK.5, PFK.6)
- Detaillierten technischen Spezifikationen von I/O-Schnittstellen interpretieren, so dass zielgerichtete sinnvolle Konfigurationen erstellt werden können (PFK.1, PFK.4, PFK.10)
- Erstellen von Treiberbibliotheken in C für verschiedene I/O-Schnittstellen mit Unterstützung ihrer Interruptfähigkeit (PFK.1, PFK.2, PFK.5, PFK.6)
- Systemverhalten aus spezifizierenden Texten herleiten (PFK.3, PFK.4, PFK.1, PFK10, PFK.2)
- technische Texte erfassen
- implizite Angaben erkennen und verstehen
- fehlende Angaben
- erkennen
- ableiten
- erfragen
- Erarbeitung von Problemlösungen aus dem Bereich Messen-Steuern-Regeln, die sich mit C-Programmen realisieren lassen (PFK.1, PFK.2, PFK.3, PFK.4, PFK.5, PFK.6, PFK.9, PFK.10)
- Systemverhalten aus spezifizierenden Text herleiten
- Auswahl und Konfiguration der benötigten I/O-Schnittstellen
- Erarbeitung eines Interruptskonzeptes
- Aufstellen des Zustandsüberführungsdiagramms
- Auswahl der geeigneten Spezifikationsform (Moore versus Mealy)
- Bewertung der Spezifikation
- Vollständigkeit
- Determiniertheit
- Lebendigkeit
- Implementierung mittels C unter Verwendung von Treiberbibliotheken
- Prinzipien der Laufzeitsystem für C-Programme analysieren und erläutern (PFK.4, PFK.9)
- Art der C-Funktions-Parameterübergabe mittels Stack klassifizieren (call by value/reference)
- Verwaltung lokalen C-Variablen mittels Stack erläutern
- dynamischer Stackauf und -abbau bei geschachtelten C-Funktionsaufrufen ermitteln und beschreiben
- dynamischen Stackaufbau mittels Debugger analysieren und beschreiben
- zielgerichtetes Handhaben der Software-Entwicklungsumgebung (PFK.9)
- Compiler
- Linker
- Debugger
- Simulator
Handlungskompetenz demonstrieren
- komplexere Aufgaben in einem Kleinteam bewältigen (PSK.3, PSK.4)
- Erarbeitung von komplexeren Problemlösungen aus dem Bereich Messen-Steuern-Regeln, die sich mit C-Programmen realisieren lassen
- komplexeren Problemstellungen verstehen und analysieren (PFK.1, PFK10, PFK.2, PFK.4, PFK.3, PSK.3, PSK.4, PFK.8)
- Systemverhalten aus spezifizierenden Texten herleiten
- System strukturiert analysieren
- sinnvolle Teilsysteme erkennen
- Schnittstellen zwischen Teilsystemen erfassen
- Gesamtsystem auf Basis von Teilsystemes modellieren (PFK.1, PFK.2, PFK.4, PFK.5, PFK.10)
- Teilsysteme modellieren. Hierbei soweit möglich auf zur Vefürgung stehende Komponenten (I/O-Schnittstellen) abbilden, d.h. Komponentenauswahl und Konfiguration. (PFK.1, PFK.2, PFK.4, PFK.5, PFK.10)
- Problemlösung mittels Software-Entwicklungsumgebung in C implementieren, testen und am Zielsystem in Betrieb nehmen (PFK.1, PFK.5, PFK.6, PFK.7, PFK.9, PSK.3)
- Spezifiation von Teilsystemen in C
- Treiberfunktion für zur Verfügung stehende Komponenten (I/O-Schnittstellen)
- Interrupt-Service-Funktionen
- Funktionen zur Implementierung von Zustandübergangsdiagrammen
- Funktionen zur Systembedienung
- ...
- Compilieren der Teilsysteme
- Finden syntaktischer Fehler und deren Behebung
- Simulation und Debuggen von Teilsystemen
- Erstellen von Teststimuli
- Finden semantischer Fehler und deren Behebung
- Spezifikation des Gesamtsystems in C
- Simulation und Debuggen des Gesamtsystems
- Erstellen von Teststimuli
- Finden semantischer Fehler und deren Behebung
- Gesamtsystem am Zielsystem in Betrieb nehmen
Exemplarische inhaltliche Operationalisierung
Die Studierenden erlernen umfangreiche Kenntnisse über die Darstellung von Information in Rechnern, den Aufbau von Rechnern, die hardwarenahe Programmierung in C, die Realisierung von einfachen Automaten in C, E/A- Programmierung mit Hilfe von Treiberschnittstellen sowie die Implementierung von Treiberschnittstellen.
Praktikum
Form Kompetenznachweis |
bPA |
Praktikum, Gruppenarbeit |
Beitrag zum Modulergebnis |
bPA |
Testat als Voraussetzung zur Klausur |
Spezifische Lernziele
Fertigkeiten
- Systeme entwerfen(PFK.5, PFK.6, PFK9)
- kommerzielles Entwurfswerkzeug verstehen und einsetzen
- wesentliche Eigenschaften von Standardkomponetnen kennen
- Funktionsweise von Mikrocontrollern verstehen und beschreiben (PFK.4)
- Problemlösungen in C implemetieren (PFK.1, PFK10, PFK.4, PFK.5, PFK.6, PFK9)
Handlungskompetenz demonstrieren
- komplexere Aufgaben in Kleinteam bewältigen (PSK.3, PSK.4)
- komplexere Problemlösungen erarbeiten
- komplexeren Problemstellungen verstehen und analysieren (PFK.1, PFK.2, PFK.4, PFK.3, PSK.3, PSK.4, PFK.8, PFK.10)
- Systemverhalten aus spezifizierenden Texten herleiten
- technische Texte erfassen
- implizite Angaben erkennen und verstehen
- fehlende Angaben
- erkennen
- ableiten
- erfragen
- System strukturiert analysieren
- sinnvolle Teilsysteme (A/D-Wandler, Timer-Counter, digitale Ports, Software) erkennen
- Schnittstellen zwischen Teilsystemen erfassen
- Teilsysteme modellieren (PFK.1, PFK10, PFK.2, PFK.3, PFK.4, PFK.5, PFK.1)
- Zustandsüberführungsdiagramme erstellen
- Wahrheitstabellen erstellen
- komplexeren Problemlösung mittels Entwurfswerkzeug implementieren, testen und am Zielsystem in Betrieb nehmen PFK.5, PFK.6, PFK9, PFK.7, PFK.1, PSK.3, PSK.4)
- Spezifiation von Teilsystemen
- Synthese von Teilsystemen
- Auswahl geeigneter Bibliotheksfunktionalitäten
- Finden syntaktischer Fehler und deren Behebung
- Simulation von Teilsystemen
- Erstellen von Teststimuli
- Finden semantischer Fehler und deren Behebung
- Spezifikation des Gesamtsystems
- Simulationdes Gesamtsystems
- Erstellen von Teststimuli
- Finden semantischer Fehler und deren Behebung
- Gesamtsystem am Zielsystem in Betrieb nehmen
Exemplarische inhaltliche Operationalisierung
Die Studierenden setzen die erworbenen Kenntnisse in praktischen Projekten zur Steuerung von elektromechanischen Modelle mit Hilfe von Industrie-PC und in C programmierten Automaten um.