Prof. Dr. Wolfgang Matthes

FH Dortmund

FB Informations- und Elektrotechnik

 

 

     

             Lehrarchiv Hard- und Software-Engineering

 

 

 

 

 

 

 Dumm dürft Ihr sein, aber laßt Euch was einfallen ...

 

 

 

E. Heinkel, W. Messerschmitt, H. Nixdorf, M. Grundig u.v.a.m.

Moderne elektronische Geräte sind typischerweise Verbundlösungen, die programmgesteuerte Einrichtungen (z. B. Mikrocontroller), Analogschaltungen, Digitalschaltungen, Stromversorgungsschaltungen und Interfaceschaltungen enthalten (Embedded Systems). Hard- und Software-Engineering bezeichnet das Lehrgebiet vom Ausdenken, Durchentwickeln und Zum-Laufen-Bringen derartiger Hardware-Software-Verbundlösungen.

Hardware- und Software-Engineering = Enwickeln mit zuhandenem Zeug (Martin Heidegger). Zuhanden ist, was es (1) gibt und was sich (2) zu annehmbaren Preisen bei annehmbaren Lieferfristen beschaffen läßt.

Hard- und Software-Engineering ist weder Schaltkreisentwurf noch Automatisierungstechnik:

  • wer die Elektronik eines Bügeleisens, eines Staubsaugers, eines verstellbaren Autositzes usw. zu entwickeln hat, muß Transistoren, Operationsverstärker, Gatter und Mikrocontroller trickreich einsetzen,
  • wer ein Walzwerk zu automatisieren hat, darf mit Transistoren und Mikrocontrollern gar nicht erst anfangen ...

 

Die Disposition ab SS 2009:

Hard- und Software-Engineering HS1

Hard- und Software-Engineering HS2

Mikrocontrollertechnik. Elementare Problemlösung mit Mikrocontrollern

  • Elementare Einführung in die Rechnerarchitektur
  • Einführung in die maschinennahe Programmierung (am Beispiel Atmel AVR)
  • Universelle und programmierbare Logik
  • Externe Erweiterung von Mikrocontrollern (Pegelwandlung, Bussysteme, Speichererweiterung usw.)

Mikrocontrolleranwendung. Programmorganisation und Software der Mikrocontroller von Grund auf.

  • Die eingebaute Peripherie
  • Grundlagen der Realzeitprogrammierung
  • Grundlagen der Multiprozessorsysteme (mehrere Mikrocontroller im Verbund)
  • Grundlagen der Mensch-Maschine-Schnittstellen

Die Disposition bis WS 2008/2009:

Hard- und Software-Engineering HS1

Hard- und Software-Engineering HS2

Die Hardware. Hardwarelösungen mit Mikrocontrollern und programmierbarer Logik.

  • Universelle und programmierbare Logik
  • Externe Erweiterung von Mikrocontrollern (Pegelwandlung, ESD, Isolation, Bussysteme, Speichererweiterung usw.)
  • Die eingebaute Peripherie
  • Mikrocontroller und programmierbare Logik

Die Software. Programmorganisation und Software der Mikrocontroller von Grund auf (im Vergleich zu AU1 mit vollem Schwierigkeitsgrad).

  • Grundlagen der Realzeitprogrammierung
  • Grundlagen der Multiprozessorsysteme (mehrere Mikrocontroller im Verbund)
  • Grundlagen der Mensch-Maschine-Schnittstellen

Der Fokus: Mit Mikrocontrollern von Grund auf entwickeln

Typische Szenarien der Anwendung:

  • die komplette Anwendungslösung ist von Grund auf auszuarbeiten,
  • wir haben einiges an Wahlfreiheit,
  • die Ressourcen sind knapp,
  • die Problemlösung steht unter Zeit- und Kostendruck – es muß alles schnell gehen und darf nichts kosten,
  • bei den Materialkosten kommt es oft auf die Stellen nach dem Komma an,
  • wir haben weder genügend Zeit noch können wir, um Schwierigkeiten aus dem Wege zu gehen, auf immer dickere Systeme zurückgreifen,
  • oft haben wir nur die blanke Hardware und einen Compiler und/oder Assembler,
  • man kann nicht alles haben,
  • es läuft keineswegs alles ideal – man muß sich halt zu helfen wissen ...

 

HS2 WS 2008/2009:

Woche

Vorlesung/Übung

Schwerpunkte

1

Eingebaute Peripherie (1)

allgemeine Steuerung; A/D-Wandler

2

Eingebaute Peripherie (2)

Timer/Counter; PWM, Sound, einfache D-A-Wandler

3

Programmiermodelle

 

4

Grundlagen der Realzeitprogrammierung (1)

Einführung

5

Grundlagen der Realzeitprogrammierung (2)

Interrupt Handling; Interruptserviceroutinen

6

Grundlagen der Realzeitprogrammierung (3)

State Machines

7

Grundlagen der Realzeitprogrammierung (4)

Multitasking

8

Grundlagen der Realzeitprogrammierung (5)

Virtuelle Maschinen

9

Grundlagen der Realzeitprogrammierung (6)

Ereignissteuerung; Windows-Prinzipien

10

Grundlagen der Multiprozessorsysteme (1)

 

11

Grundlagen der Multiprozessorsysteme (2)

 

12

Grundlagen der Mensch-Maschine-Schnittstellen (1)

 

13

Grundlagen der Mensch-Maschine-Schnittstellen (2)

 

14

Reserve

 



a) Zur Klausurvorbereitung HS2:

Grundlagen der Realzeitprogrammierung

Interruptserviceroutinen (ISRs)

Mehrprozessorsysteme und Parallelverarbeitung. Ein einführender Überblick.

State Machines. Bildbeispiele.

Einführung in die Mikrocontrollerprogrammierung am Beispiel Atmel AVR

LCD-Displays

b) Zur Klausurvorbereitung HS1:

Programmierbare Logik

CPLDs und FPGAs

Übersicht Externe Erweiterungen

Übersicht Bussysteme

c) Archiv (nur zur Information):

Übersicht über den Inhalt der Vorlesung

Programmieren in C -- ein Kurzüberblick

Ergänzungen:

- Viel Erfolg beim Studium! -

 

 

 

 

 

Aktuelles:

4. 5. 2009:

Praktikum Hard- und Software-Engineering am 4.5. fällt aus. Ausweichtermin wird noch bekanntgegeben.

Praktikum: Versuch 1 und 2

Kurzeinführung in die Lehrveranstaltung

Übersicht über den Lehrstoff AU1

C für Mikrocontroller (Einführung/Überblick)

 

Multitasking/virtuelle Maschinen mit Atmel AVR (simple & stupid)

Assemblerdatei dazu       

Alte Klausuren zum Üben:

HS1

HS2

Skript-Material neu geordnet für Vorbereitung auf die Klausur HS2

Skript-Material neu geordnet für Vorbereitung auf die Klausur HS1

Merkblatt zur Klausur HS2

Merkblatt zur Klausur HS1

 

Atmel AVR - wichtige Maschinenbefehle (1 S.)

Die Original-Befehlsbeschreibung (Fa. Atmel). Wichtig: Die Seiten 10 bis 15 (Instruction Set Summary)

 Allgemeines:

Typische Entwicklungswerkzeuge / Zur Geschichte des Prozeßrechners. Zwei Kurzdarstellungen in einem Dokument. Als Einstimmung in die Problemkreise der Softwareentwicklung und -organisation.

 EIn historischer Text zur Prozeßdatenverarbeitung (1964)

Praktikumsanleitung 08 erweitert

Übungsaufgaben HS1

Schrittmotoren. Eine Einführung (noch nicht ganz fertig). Zunächst geht es erst einmal darum, wie die Dinger funktionieren und wie man sie ansteuert.

Grundlagen der Bussysteme.Eine etwas ausführlichere Darstellung, die auch  neuere Tendenzen einschließt. Nur zur Information (man wird nich dümmer von...).

Diplom-Studiengang: In der Klausur  wird es alternative Aufgaben mit und ohne Atmel AVR geben.

Merkblatt zur Klausur (mit Musterlösungen)

Zur seriellen Schnittstelle. Ein ausführlicher, auf PCs bezogener Lehrtext. Enthält viele Einzelheiten, die auch im Bereich der Embedded Systems von Bedeutung sind.

 

Das Skriptmaterial ist zunächst noch provisorisch. Es wird später aktualisiert.

Zum Lernen und Üben:

Übungsaufgabe 1 (Kabeltester)

Zwei Prüfungsaufgaben

Entwicklungsübungen zum Eingewöhnen

Merkblatt zur Vorbereitung auf die Klausur

Klausur 1

Klausur 2

Klausur 3

Klausur 4

Klausur 5

Klausur 6

Klausur 7a (mit Atmel)

Klausur 7b (ohne Atmel)

Praktikumsaufgaben:  

SS 2006

WS 2006/2007

C-Musterprogramm

Zur Übungsaufgabe "Stoppuhr"

Elementare Zugriffsfunktionen in C

Kurzbeschreibungen der Ausrüstung:

Übungsplattform UeIDE04

Übungstafel Siebensegment-LEDs UeSSTa 04a

Atmel Starterkit STK500