Skip to main content

Modulbeschreibung - Hardwarenahe Softwareentwicklung

Nummer
03060
Leitung Markus Degen (Modulverantwortlicher)
Florian Coigny (Unterrichtender)
ECTS 3.0
Unterrichtssprache Deutsch
Zielsetzung In vielen Bereichen der Medizintechnik muss Hardware (z.B. Sensoren und Aktoren) aus eigener Software heraus angesteuert werden. Die Software muss abhängig von Anforderungen entweder für Desktop-Rechner, oder für Embedded Systems mit begrenzten Ressourcen (z.B. Mikrocontroller) entwickelt werden.

Die Vorlesung besteht deshalb aus zwei Teilen:
Im ersten Teil werden die Grundlagen der Programmiersprache C und die programmiertechnische Ansteuerung von Hardware auf Desktop-Rechnern vermittelt. Die Hersteller der Hardware liefern dazu entsprechende Treiber. Die Kommunikation mit diesen Treibern erfordert die Kenntnis der hardwarenahen Programmierung und deren Spezialitäten.

Im zweiten Teil wird die Programmierung von Embedded Systems (Mikrocontroller) vermittelt. Der Fokus liegt auf dem Einlesen von Sensorsignalen und Eingabegeräten, deren Verarbeitung und Ausgabe auf Aktoren und Ausgabegeräte. Dimensionierung und Aufbau von elektronischen Schaltungen für die Signalkonditionierung (z.B. Pegelanpassung, Vorverstärkung, Strombegrenzung oder einfache Filterung von elektrischen Signalen) sind auch Bestandteil des Kurses.

Lernziele: Die Studierenden sind in der Lage, selbständig eine Entwicklungsumgebung für die Programmiersprache C einzurichten und zu verwenden sowie einfache Projekte in der Programmiersprache C zu realisieren. Auf Desktop-Computern können sie bestehende Libraries, welche den Zugriff auf Peripherie-Geräte erlauben, in eigenen Anwendungen einbinden. Auf Mikrocontrollern sind sie in der Lage, interne und externe Hardware-Peripherie anzusteuern, sowie dafür benötigte elektronische Zwischenschaltungen zu dimensionieren und aufzubauen.
Inhalt Teil 1 (C und Theorie, Vorlesung mit Demonstrationen, kleine Übungen)
  • Motivation, Einführung in C anhand des Wissens über Java (Differenzierung), IDE's, Präprozessor-Compiler-Linker
  • Dynamische Datenstrukturen, Pointer, Funktionen, Memory-Management (malloc(), free()), stack, heap)
  • Verwendung des Präprozessors für die bedingte Kompilierung und zur Modularisierung
  • Einbinden von 3rd Party Libraries
  • Ausblick, C++

Teil 2 (Embedded Systems: Praxis, Versuche in Gruppe)
  • Einführung in Embedded Systems
  • Hardwareaufbau und Programmierung
  • Einlesen von Schaltern
  • Digitale Schalter-Entprellung
  • LED-Ansteuerung
  • Analogspannung
  • Pulsweitenmodulation
  • Ansteuerung von Grafik-Displays
  • Verwenden von Timers/Counters und Interrupts


Besondere Eintrittsvoraussetzungen B-LST-A 03 010
Bibliographie/Literatur Obligatorisch:
  • M. Degen: Vorlesungsunterlagen
  • F. Coigny: Vorlesungsunterlagen


Modultyp Wahlpflichtmodul
Lehr- und Lernmethoden Vorlesung mit Demonstrationen, kleine Übungen, Versuche in Gruppe
Leistungsbewertung gemäss Modulverzeichnis der aktuellen StuPro
Diese Seite teilen: