Deko-Banner

Computer- und Microcontroller-Technik

Veranstaltungsdaten

  • Art der Veranstaltung: 2-wöchige Blockveranstaltung bestehend aus Vorlesung und praktischen Übungen
  • Dauer der Veranstaltung: Zwei Wochen während der vorlesungsfreien Zeit, täglich von 9:15 bis ungefähr 17:00
  • Ort der Veranstaltung: PHY 1.0.01
  • Zielgruppe: Master Physik
    • Teilnehmer/innen anderer Fachrichtungen (sowohl Bachelor als auch Master) sind herzlich willkommen (siehe unten für Voraussetzungen)
  • Flexnow und Benotung: Der regelmäßige Besuch der Vorlesung und der Übungen ist ein notwendiges Kriterium zum Bestehen der Veranstaltung. Üblicherweise gibt es folgende Möglichkeiten die Veranstaltung einzubringen
    • Wahlbereich: unbenotet
    • studienbegleitende IT-Ausbildung: benotet
    (Die Note ergibt sich zu 100% aus der Benotung des Abschlussprojekts.)
  • Leistungspunkte: 6
  • Modulname: M 61.2

Weitere Informationen zum Kurs sowie Anmeldung ohne LSF-Zugang: christopher.habenschaden(ät)ur.de

Voraussetzungen

Interesse an der Thematik wird vorausgesetzt. Erforderliche Vorkenntnisse:
  • Sicherer Umgang mit dem Betriebssystem Windows
  • Grundlegende Programmierkenntnisse in einer beliebigen Sprache (Stichworte: Datentypen, Logische Operatoren, Verzweigungen, Schleifen, Rekursionen), z.B. C/C++-Kurs
  • Grundkenntnisse im Bereich der Elektronik wie sie im Elektronik-Grundkurs vermittelt werden

Ziel der Veranstaltung

Computer sind aus unserem Alltag nicht mehr wegzudenken. In beinahe jedem modernen elektronischen Gerät verrichten Mikrocontroller und Mikroprozessoren häufig unbemerkt ihre Arbeit. Obwohl wir täglich mehrere hundert Male mit Computern, Smartphones und anderen prozessorgesteuerten Geräten interagieren, weiß kaum jemand, was sich intern eigentlich genau abspielt. Was passiert also, wenn wir zum Beispiel auf den Powerknopf eines Computers drücken?
Genau hier werden wir in dieser Veranstaltung ansetzen. Den TeilnehmerInnen wird vermittelt, wie ein Computersystem aufgebaut ist und wie es intern funktioniert. Dies geschieht im Wesentlichen auf zwei verschiedenen Ebenen. Im ersten Teil werden wir uns der Funktionsweise und dem Zusammenspiel der grundlegenden Komponenten eines Computersystems widmen. Dazu untersuchen und programmieren wir in Assembler ein (ur)altes Computersystem, die sogenannte KatCe, mit dem Motorola 68000 als Prozessor. Die Komplexität dieses Systems ist geringer als die eines modernen PCs. Dadurch ist es für Lehrzwecke optimal geeignet und erlaubt es, die wichtigen Konzepte auf unterster Ebene zu verstehen und bis ins Detail nachzuvollziehen. Im zweiten Teil gehen wir auf die Funktionsweise (und aktuellen Probleme) moderner Computersysteme ein und lernen einige aktuelle Konzepte zur Leistungssteigerung kennen.
Microcontroller, welcher vorwiegend im Kurs verwendet wird. Über dem µC sind EPROM sowei RAM zu sehen.
Motorola 68000. Microcontroller, welcher im Lehrsystem des Kurses verwendet wird.

Microcontroller, welcher sich dank der Arduino-Platfrom großer Beliebtheit erfreut.
ATmega 328p. Dank der Arduino-Plattform erfreut sich dieser Microcontroller großer Beliebtheit.

Ablauf und Gliederung

Die Vorlesung findet stets am Vormittag statt. In der ersten Woche werden nachmittags die Übungsaufgaben bearbeitet, welche sich hauptsächlich mit der Programmierung der KatCe in Assembler beschäftigen. In der zweiten Woche ist nachmittags Zeit für die Durchführung des Projekts (alleine oder in kleinen Gruppen). Bei der Projektauswahl sind (fast) keine Grenzen gesetzt.
Gliederung
  1. Teil: Ein klassisches Mikrocomputersystem - Die KatCe
    • Zeichen- und Zahlendarstellung im Computer
    • Aufbau und Bestandteile eines Mikrocomputersystems
    • Architektur der KatCe und des Prozessors Motorola 68000
    • Maschinenbefehle und Assemblerprogrammierung
    • Exception-Handling und Interrupts
    • Peripheriebausteine und die Kommunikation mit dem Prozessor
    • Serielle und parallele Schnittstellen
    • IEC-Bus, Digital-Analog und Analog-Digital Wandler
  2. Teil: Moderne Konzepte
    • Mikrocontroller allgemein, [*NEU*] Arduino-Tag mit Übungsaufgaben
    • Speichermedien (Hauptaugenmerk: SRAM, DRAM, FLASH)
    • Mainboard und Chipset
    • Interne und externe Peripheriebusse (PCI(E), (S)ATA, USB, FireWire, ...)
    • Prozessoreigenschaften und Architekturen
    • Cachesysteme
    • Memory Management
    • Performancesteigerung (Pipelining, Multithreading, Superskalarität, ...)

Projekte

  • Eigene Projekt-Ideen sind sehr willkommen! Es stehen viele Sensoren und Aktuatoren sowie das umfangreiche Teilemagazin des Elektronikkurses zur Verfügung
  • Ein kleiner Auszug aus den letzten Jahren:
    • Elektronisch orientiert: Roboterarm, Bewässerungsautomatik, Oszilloskop/Synthesizer mit ADC/DAC, LED Matrix ansteuern (Laufschrift), Ansteuerung eines RAM-Bausteins, Produktionslinie, ...
    • Software orientiert: Spiele: Schiffe versenken, Pong, Snake, TicTacToe, ... Simulationen: Langtonsche Ameise, Game of Life, ... Mathematische Algorithmen: Polynominterpolation, Matrizenbearbeitung, ...
Elektronik zur Steuerung des Legobaggers Piano
Roboterarm Auto
Kaffeeautomat Led-Laufschrift

 
Letzte Änderung: 16.06.2017 von Webmaster