Hallo,
nachdem ich mein Projekt unter
Beitrag "Re: Zeigt her Eure Kunstwerke !" vorgestellt habe,
geht es mir jetzt darum die Ansteuerung zu optimieren (um nicht in dem
Thread weiter zu diskutieren). Ich verwende ein Arduino Board mit
ATMega328@20MHz und 3 Display Board von Sureelectronics
(http://www.sureelectronics.net/goods.php?id=147).
Ein Display besteht aus 64x32 bicolor LEDs und wird über 4 row select
pins A,B,C,D (=16 Reihen), R1 (Rot obere Display-Hälfte), R2 (untere
Hälfte), G1, G2 und EN, CLK und LATCH (für die 74HC595 Schieberegister)
angesteuert.
Zu Beginn habe ich die Display's kaskadiert. Dies ergibt 2x16 Reihen a
192 bit pro refresh. Die erzielte Frame Rate war gering. Dann habe ich
A,B,C,D sowie EN, CKL und LATCH gemeinsam verbunden und R1...G2 pro
Display einzeln angesteuert (19 pins!). Frame rate war gering höher aber
immer noch nicht top. Im Thread kam der Vorschlag R1...G2 gemeinsam zu
verbinden und EN & LATCH pro Display einzeln anzusteuern. Ich erkenne
hier jetzt noch keinen Vorteil, werde es aber mal testen.
Die meiste Zeit geht sowieso bei der Umrechnung des Display Buffers auf
die Display Hardware drauf. Da ich den Buffer als 96x64 bit ausgelegt
habe, das Display aber anders herum beladen werden muss. Eine
Möglichkeit ist die Umrechnung nicht bei der Display-Refresh Methode
durchzuführen sondern in den setPixel Funktionen, dann ist jedoch ein
direktes Schreiben in den Buffer nicht mehr möglich.
Wie würdet ihr die Ansteuerung lösen?
Danke für Ideen und Vorschläge,
Tobias