CPU

 

 

 

 

 

 

 

Wir bringen die STMs zum glühen

 

Die Aufgaben der CPU-Gruppe sind sowohl die Software-Implementation der Spiele, als auch die Steuerung einer GLCD und einer LED Dot Matrix, die für die graphische Ausgabe sorgen. Dafür wird Software generiert die auf zwei verschiedenen stm32 Mikrocontrollern implementiert wird. Diese besitzen folgende Funktionen:

CPU – Implementation der Spiele
GPU – Treiber für die LED Dot Matrix

Die CPU reagiert auf die Gamecontroller und wird als Plattform für die Spiele benutzt. Der Spielzustand wird dann in einer Matrix gespeichert, die an die GPU mittels SPI-Verbidung weitergeleitet wird. Der Versand dieser Daten passiert parallel zur Spiellogik mittels DMA(Direkter Speicher Zugriff). Außerdem werden zusätzlich Informationen zu Tonfolgen an die Entertainment Gruppe mittels einer zweiten SPI verbindung gesendet. Die CPU entscheidet durch einen geeigneten Bit, der von der Netzteil-Gruppe gesendet wird, ob das Gerät in Sparmodus oder Vollmodus betrieben werden soll.

Die CPU entscheidet am Ende des Spieles auch über die Rückgabe der Münzen. Je nachdem welcher Spieler gewonnen hat, bekommt er beide Münzen.
Für das Lösen der Aufgaben, ist die CPU-Gruppe in drei Untergruppen geteilt. Die Software-Gruppe, die GLCD-Gruppe und die LED Dot Matrix Gruppe. Bei jeder Gruppe gibt es einen Kommunikationsbeauftragten, der sich um die Kommunikation (DMA+SPI1, SPI2) zwischen den Mikrocontrollern kümmert.

Die Software und Abstraktionsgruppe beschäftigt sich hauptsächlich mit der Programmierung der Logik und der Spiele. Für diesen Zweck wurde eine Abstraktionsmethode bzw. eine Skriptspache zur Spielimplementation entwickelt. Diese wurde in java entwickelt und wird mithilfe eines Compilers in C übersetzt. Sie sorgt dafür, dass die Spiele einfacher programmiert werden können. Außer der Entwicklung der Skriptsprache, wurden auch geeignete universale Methoden auf C geschrieben, die in jedem Spiel gebraucht werden z.B. die Bewegung eines Objektes. Die Skriptsprache zerlegt jedes Spiel in Objekte, die auf Zeit oder Gamecontrollereingangssignale individuell reagieren

Die LED Dot Matrix Gruppe beschäftigt sich mit der Ansteuerung eines 64×64 LED Dot Matrix Displays.Weiterhin beschäftigt sich diese Gruppe mit der Datenübertragung zwischen den beiden STM32 Mikrocontrollern. Auf dem ersten uC werden die Spiele geschrieben und auf dem zweiten, sind die Ansteuerungen zur Ausgabe der LED-Matrix enthalten. Für eine schnelle Kommunikation verfügt STM32 über einen Direkt Memory Access, den sogenannte DMA. Zwischen den zwei jeweiligen Mikrocontroller-DMAs, bietet sich zum Austausch der Daten, eine Serial Peripherie Interface (SPI). Dies wird demnächst das Thema der Untersuchungen sein um letztendlich die Spiele auf dem LED ausgeben zu können.

Die GLCD Gruppe beschäftigt sich mit der Ansteuerung der GLCD, die das Spiel auf Akkubetrieb anzeigen soll. Zusätzlich soll sie im normalen Betrieb das Menü anzeigen. Es wurde mit einem GLCD   (LCD-128X64GN AB ) arbeiten. Danach wurd nach einer GLCD-Bibliothek auf C gesucht. Als letztes wurde die GLCD mit dem STM32 laut Schaltplan verbunden. Es wurde auch noch Spiele auf den GLCD angezeigt .