{"id":25,"date":"2020-01-15T19:00:38","date_gmt":"2020-01-15T18:00:38","guid":{"rendered":"http:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/?page_id=25"},"modified":"2020-01-20T14:58:29","modified_gmt":"2020-01-20T13:58:29","slug":"cpu","status":"publish","type":"page","link":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/cpu\/","title":{"rendered":"CPU"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" class=\" wp-image-50 aligncenter\" src=\"http:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-content\/uploads\/sites\/27\/2020\/01\/WhatsApp-Image-2020-01-20-at-14.43.23-300x225.jpeg\" alt=\"\" width=\"409\" height=\"307\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-content\/uploads\/sites\/27\/2020\/01\/WhatsApp-Image-2020-01-20-at-14.43.23-300x225.jpeg 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-content\/uploads\/sites\/27\/2020\/01\/WhatsApp-Image-2020-01-20-at-14.43.23-768x576.jpeg 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-content\/uploads\/sites\/27\/2020\/01\/WhatsApp-Image-2020-01-20-at-14.43.23-1024x768.jpeg 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-content\/uploads\/sites\/27\/2020\/01\/WhatsApp-Image-2020-01-20-at-14.43.23-100x75.jpeg 100w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-content\/uploads\/sites\/27\/2020\/01\/WhatsApp-Image-2020-01-20-at-14.43.23-150x113.jpeg 150w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-content\/uploads\/sites\/27\/2020\/01\/WhatsApp-Image-2020-01-20-at-14.43.23-200x150.jpeg 200w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-content\/uploads\/sites\/27\/2020\/01\/WhatsApp-Image-2020-01-20-at-14.43.23-450x338.jpeg 450w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-content\/uploads\/sites\/27\/2020\/01\/WhatsApp-Image-2020-01-20-at-14.43.23-600x450.jpeg 600w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-content\/uploads\/sites\/27\/2020\/01\/WhatsApp-Image-2020-01-20-at-14.43.23-900x675.jpeg 900w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-content\/uploads\/sites\/27\/2020\/01\/WhatsApp-Image-2020-01-20-at-14.43.23.jpeg 1600w\" sizes=\"(max-width: 409px) 100vw, 409px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Wir bringen die STMs zum gl\u00fchen<\/p>\n<p>&nbsp;<\/p>\n<p>Die Aufgaben der <strong>CPU<\/strong>-Gruppe sind sowohl die <strong>Software-Implementation<\/strong> der Spiele, als auch die Steuerung einer<strong> GLCD<\/strong> und einer <strong>LED Dot Matrix<\/strong>, die f\u00fcr die graphische Ausgabe sorgen. Daf\u00fcr wird Software generiert die auf zwei verschiedenen stm32 Mikrocontrollern implementiert wird. Diese besitzen folgende Funktionen:<\/p>\n<p><strong>CPU<\/strong> &#8211; Implementation der Spiele<br \/>\n<strong>GPU<\/strong> &#8211; Treiber f\u00fcr die <strong>LED Dot Matrix<\/strong><\/p>\n<p>Die CPU reagiert auf die Gamecontroller und wird als Plattform f\u00fcr die Spiele benutzt. Der Spielzustand wird dann in einer Matrix gespeichert, die an die <strong>GPU<\/strong> mittels<strong> SPI-Verbidun<\/strong><strong>g<\/strong> weitergeleitet wird. Der Versand dieser Daten passiert parallel zur Spiellogik mittels DMA(Direkter Speicher Zugriff). Au\u00dferdem werden zus\u00e4tzlich Informationen zu Tonfolgen an die Entertainment Gruppe mittels einer zweiten <strong>SPI<\/strong> verbindung gesendet. Die CPU entscheidet durch einen geeigneten Bit, der von der Netzteil-Gruppe gesendet wird, ob das Ger\u00e4t in Sparmodus oder Vollmodus betrieben werden soll.<\/p>\n<p>Die <strong>CPU<\/strong> entscheidet am Ende des Spieles auch \u00fcber die R\u00fcckgabe der M\u00fcnzen. Je nachdem welcher Spieler gewonnen hat, bekommt er beide M\u00fcnzen.<br \/>\nF\u00fcr das L\u00f6sen der Aufgaben, ist die <strong>CPU<\/strong>-Gruppe in drei Untergruppen geteilt. Die Software-Gruppe, die <strong>GLCD<\/strong>-Gruppe und die LED Dot Matrix Gruppe. Bei jeder Gruppe gibt es einen Kommunikationsbeauftragten, der sich um die Kommunikation (<strong>DMA+SPI1, SPI2<\/strong>) zwischen den Mikrocontrollern k\u00fcmmert.<\/p>\n<p>Die Software und Abstraktionsgruppe besch\u00e4ftigt sich haupts\u00e4chlich mit der Programmierung der Logik und der Spiele. F\u00fcr diesen Zweck wurde eine Abstraktionsmethode bzw. eine Skriptspache zur Spielimplementation entwickelt. Diese wurde in java entwickelt und wird mithilfe eines Compilers in C \u00fcbersetzt. Sie sorgt daf\u00fcr, dass die Spiele einfacher programmiert werden k\u00f6nnen. Au\u00dfer 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<\/p>\n<p>Die LED Dot Matrix Gruppe besch\u00e4ftigt sich mit der Ansteuerung eines 64&#215;64 LED Dot Matrix Displays.Weiterhin besch\u00e4ftigt sich diese Gruppe mit der Daten\u00fcbertragung 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\u00fcr eine schnelle Kommunikation verf\u00fcgt STM32 \u00fcber 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\u00e4chst das Thema der Untersuchungen sein um letztendlich die Spiele auf dem LED ausgeben zu k\u00f6nnen.<\/p>\n<p>Die GLCD Gruppe besch\u00e4ftigt sich mit der Ansteuerung der GLCD, die das Spiel auf Akkubetrieb anzeigen soll. Zus\u00e4tzlich soll sie im normalen Betrieb das Men\u00fc anzeigen. Es wurde mit einem GLCD\u00a0 \u00a0(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 .<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Wir bringen die STMs zum gl\u00fchen &nbsp; 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\u00fcr die graphische Ausgabe &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/cpu\/\"> <span class=\"screen-reader-text\">CPU<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":99,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-json\/wp\/v2\/pages\/25"}],"collection":[{"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-json\/wp\/v2\/users\/99"}],"replies":[{"embeddable":true,"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-json\/wp\/v2\/comments?post=25"}],"version-history":[{"count":5,"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-json\/wp\/v2\/pages\/25\/revisions"}],"predecessor-version":[{"id":52,"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-json\/wp\/v2\/pages\/25\/revisions\/52"}],"wp:attachment":[{"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/8bit-waffeleisen\/wp-json\/wp\/v2\/media?parent=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}