• Keine Ergebnisse gefunden

CPU - LED DOT Matrix

Im Dokument Das 8-Bit-Waffeleisen (Seite 34-43)

5.4.1 Dokumentation und Arbeitsentwicklung

Die LED Dot Matrix Gruppe besch¨aftigt sich mit der Ansteuerung eines 64x64 Light-Emitting Diode (LED) Dot Matrix Displays.

Es wurde durch die Mehrheit entschieden, einen STM32 Mikrocontroller zu verwenden, da er die ben¨otigte Geschwindigkeit f¨ur die LED Dot Matrix-Ansteuerung besitzt. F¨ur die Programmierung des SMT32-µCs werden die programme STM32CubeMX und STM32Cube IDE verwendet. Mithilfe von STM32CubeMX kann man die Pin-Funktionalit¨at des Mikrocontrollers einstellen und durch STM32CubeIDE die Ansteuerungsfunktionen programmieren. [21] [22] [23]

Hierf¨ur wurde mit hilfe der Untergruppe Software und Abstraktion ein Programm zur Ansteuerung der LED Matrix geschrieben, welches auf der Hardware Abstraktions Schicht basiert ist. Dieses hat jedoch Flackern erzeugt. Grund daf¨ur war, das versp¨atete Clocksignal und die verschwendung von Zeit beim Zugriff der Register ¨uber die HAL-funktionen. Im Vergleich dazu eignet sich der direkte Registerzugriff (¨uber das low Layer) ganz gut f¨ur eine schnellere bearbeitung der Befehle, was ein besseres FPS-verh¨altniss erzeugt(FPS : Frame per second).

Wie funktioniert eine LED Dot Matrix?

Eine LED Dot Matrix ist eine Zusammenfassung von mehreren LEDS, deren Kathoden und Anoden in Zeilen bzw Spalten verbunden sind. Die Funktionsweise kann mit blossen Auge nicht erkannt werden. Eigentlich funktioniert die LED Matrix so, dass immer nur eine Spalte oder Zeile wirk-lich leuchtet und die Multiplexingfrequenz sehr hoch ist . Die anderen sind aber ausgeschaltet.

Wird jede Spalte oder Zeile einmal in schneller Folge angeschaltet, entsteht wegen der Tr¨agheit des menschlichen Auges ein vollst¨andiges Bild,bei dem wird deutlich gesehen dass alle angesteu-erten LEDS gleichzeitig leuchten. Es wurde bei der Gruppe LED DOT Matrix ein Mikrocontroller STM32L476RG in Half Duplex Slave Mode und ein RGB LED DOT Matrix von der Firma JOYIT benutzt. Daf¨ur wurden die Pins des Mikroconrollers so belegt, dass sie den Inputs der LED DOT Matrix entsprechen. Eine LED Dot Matrix hat insgesamt 16 Pins: R1-G1-B1-N-R2-G2-B2-LA-LB-LC-LD-LE-CLK-LAT-GND

-R1-G1-B1: diese drei Pins sind f¨ur die Farben Rot,Gr¨un und Blau f¨ur die obere H¨alfte der Matrix verantwortlich.

-R2-G2-B2: diese drei Pins sind auch f¨ur die Farben Rot,Gr¨un und Blau f¨ur die untere H¨alfte der Matrix verantwortlich.

-LA-LB-LC-LD-LE: diese 5 Pins dienen der Ansteurung der Zeilen Multiplexer und damit k¨onnen 32 Zeilen angesteuert werden . Die f¨ur die Recherche verwendeten Quellen sind unter [21] [24] [22] [23]

aufgef¨uhrt

RGB

Pins der Mikrocontroller Inputs der LED Dot Matrix

PC0 R1

Pins der Mikrocontroller Inputs der LED Dot Matrix

PC6 LA

PC7 LB

PC8 LC

PC9 LD

PC10 LE

Mit diesen 5 Pins k¨onnen jeweils 25 = 32Zeilen angesteuert werden.

Beispiel:

Alle 5 Pins sind auf 0 gesetzt=⇒die erste Zeile leuchtet.

Wenn LA auf 1 gesetzt ist und alle anderen Pins auf 0 gesetzt sind, dann leuchtet die zweite Zeile Hier spielen Schieberegister eine grosse Rolle bei der Funktionsweise.

Was ist ein Schieberegister ?Ein Schieberegister ist ein logisches Schaltwerk,Das aus mehreren in Reihe geschalteten Flipflops besteht, die bei jedem Arbeitstakt ihren Speicherinhalt um ein FlipFlop weiter schieben. Die JOY IT LED Dot Matrix hat ICND2038S als Schieberegister und die Pins m¨ussen wie im folgenden Bild eingestellt werden, damit die LED Dot Matrix richtig funktioniert.

Abbildung 11: Pins der Schieberegister [25]

Wie funktioniert ein Schieberegister?

Wenn LE auf 1 gesetzt ist , k¨onnen die Data ¨ubertragen werden.Pro Zeile kommen 4 Schieberegister zum Einsatz und jede kann 16 Bits ¨ubertragen . Wenn die 16 Bits der ersten Schieberegister zu den n¨achsten geschickt werden und LE auf 1 gesetzt ist, werden die letzten 16 Bits gespeichert usw.

Pins der Mikrocontroller Inputs der LED Dot Matrix

PB3 Latch

PB4 Output Enable

PB5 Clock

Abbildung 12: Pins der Mikrocontroller [26]

Aziz Gharbi

Weiterhin besch¨aftigt sich diese Gruppe mit der Daten¨ubertragung zwischen den beiden STM32 Mikrocontrollern. Auf dem erstenµC werden die Spiele geschrieben und auf dem zweiten, sind die Ansteuerungen zur Ausgabe der LED-Matrix enthalten. F¨ur eine schnelle Kommunikation verf¨ugt STM32 ¨uber 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¨achst das Thema der Untersuchungen sein um letztendlich die Spiele auf dem LED

ausgeben zu k¨onnen.

Abbildung 13: SPI leitungen [27]

MOSI: Master output / Slave input MISO: Master input / Slave output

SCLK: Serial clock , Schiebetakt ( die wird vom Master zur synchronisation ausgegeben) NSS/ CS: Slave Select oder Chip Select

Pins der Mikrocontroller Pins der SPI

PA7 MOSI

PA6 MISO

PA5 SCK

PA4 NSS

Tabelle 3: Recieve Seite als Full Duplex Slave Mode

Pins der Mikrocontroller Pins der SPI

PA15 MOSI

PC10 MISO

PC11 SCK

PC12 NSS

Tabelle 4: Transmission Seite als Full Duplex Slave Mode

Wie funktioniert das SPI-Komminikationsprotokoll?

Das Serial Peripheral Interface (SPI) ist ein Bus-System zur synchronen, seriellen Daten¨ubertragung

zwischen einem Master und einem oder mehreren Slaves. Sein Hauptfunktion ist die Erstellung einer kommunikation zwischen zwei Mikrocontroller. Bei SPI verlieren die Begriffe’senden’ und

’Empf¨angen¨ıhre Bedeutungen.

Grunds¨achlich funktioniert das ¨Ubertragungsprinzip so , dass gleichzeitig 1 bit von Master zum Slave , und 1 bit von Slave zur Master ¨ubertragen wird .

Jedoch die Daten¨ubertragung erfolgt erst nach den Einstellung von den Parameter : CPOL: Clock polarity

CPHA : Clock phase

Abbildung 14: CPOL und CPHA einstellungen [26]

Was ist Direct Memory Access DMA ?

DMA oder Direkt Speischerzugriff ist eine Schaltungs- und Steurungmassnahme zu verstehen, die ¨uber Spezielle Datenleitungen auf dem Motherboard eine Verbindungzwische. dem Ein- und Ausgabeeinheiten und dem Arbeit Speicher erstellt. dadurch k¨onnen die Daten ohne umweg ¨uber Den Prozessor direkt Zu den Speicher geschrieben werden.

Abbildung 15: DMA [28]

Iheb Nagga

5.4.2 Schaltplan

Abbildung 16: Schaltplan LED DOT Matrix [20]

5.4.3 Layout

Abbildung 17: LED DOT Matrix Layout [20]

5.4.4 Platine

Abbildung 18: GPU:Graphik Card platine

• L¨ange: 160mm

• Breite: 98mm

Iheb Nagga

5.4.5 Zusammenfassung

Die LED Dot Matrix Gruppe besch¨aftigt sich mit der Ansteuerung eines 64x64 LED Dot Matrix Displays. Weiterhin wird es von dieser Untergruppe um die Daten¨ubertragung zwischen den Beiden STM32 Mikrocontrollern k¨ummert. Damit die Kommunikation schneller wird , verf¨ugt STM32

¨uber einen Direkt Memory Access (DMA). Um die Daten zwischen den zwei Mikrcontroller-DMAs auszutauschen, steht eine Serial Peripherie Interfacen (SPI) zur Verf¨ugung.

Aziz Gharbi

Im Dokument Das 8-Bit-Waffeleisen (Seite 34-43)