Habt ihr euch mal den DIAMEX DIGI-DOT-BOOSTER angeschaut? Der steuert bis zu 256 WS2812-LEDs via SPI.
Habt ihr euch mal den DIAMEX DIGI-DOT-BOOSTER angeschaut? Der steuert bis zu 256 WS2812-LEDs via SPI.
Ich programmiere mit AVRCo
Liest sich gut. Für eine 8-stellige Anzeige mit RGBDIGITs braucht man
sowieso nur 64 LEDs bedienen. Hab mir das Datasheet angeschaut,
scheint ja kein properitäres Protokoll zu haben anscheinend auch
ziemäich schnell vom AVR rüberzuschicken. Wäre da dann auch
eine gezielte Stellenadressierung vom AVR machbar?
VG Micha
Was brauche ich für Werkzeug - in dieser Reihenfolge seht ihr es:
Vorschlaghammer, Notebook, BASCOM, Lötequipment, Rohrzange, Bolzenschneider ...
Soweit mir bekannt, werden die Farbwerte der WS im Modul gespeichert bzw. verändert und durch den refresh komplett raus geschickt. D.h. du ändert eine Stelle und der Zustand der anderen Stellen ist ja noch im Modul vorhanden. Ich hab mir vor einiger Zeit mal 3 dieser Module besorgt und ein bisschen damit rumgespielt: funktioniert, wie beschrieben. Leider bin ich noch nicht dazu gekommen meine richtige Zielschaltung zu bauen: ein Türrahmen füllendes Tetris![]()
Ich programmiere mit AVRCo
DIAMEX DIGI-DOT-BOOSTER
Gefällt mir sehr gut, den kannte ich auch noch nicht
Da ist ein Prozessor von ST Microelectronics drauf mit ARM Cortex M0
Das Board bekommt man ja für unter 10 Euro.
Ganz Echtzeitfähig ist es zwar auch nicht, macht aber einen wirklich guten Eindruck
So wie es scheint, schiebt man die Daten zunächst mittels SPI Protokll zum DIAMEX Booster
dann folgt der Befehl zum Aktualisieren. BOOSTER_SHOW
Jetzt muss man ein geringe Zeit warten ca. 8ms.
Diese Zeit benötigt der Controller um alle Daten Timinggerecht auszuschieben,
Während dieser Zeit scheint er nicht den SPI Interrupt auszuschalten, deshalb
kann es zu Problemen kommen wenn man innerhalb der Ausschiebung zu den LEDs
erneut Daten sendet.
Das gleiche Problem hatte ich auch mit meinem PIC Controller.
Was aber nicht wirklich ein Problem darstellt.
Hier bekommt man unter anderem die Datenblätter:
https://www.led-genial.de/DIGI-DOT-B...elle-ansteuern
Würde sagen, absolut empfehlenswert, habe aber auch gelesen, dass es Softwarebugs geben soll.
Das kann ich aber nicht beurteilen, habe es selbst nicht ausprobiert.
Siro
Geändert von Siro (01.06.2018 um 12:07 Uhr)
Das bedeutet, nach einem Flash von zB 64 Datenpaketen a 24 bit,
welche nicht weiter als 50 Mikrosekunden auseinanderliegen,
werden 64 RGBs bedient. Am Ausgang der letzten RGB sind dann
also alle Datenpakete "verbraucht", so ersichtlich im Datasheet.
Dabei dürften die einzelnen RGBs jedoch erst NACH Ablauf der
50 Mikrosekundenpause in ihrer "eigenen, aktualisierten" Farbe
aktiv werden, um "Falschflimmern" zu vermeiden, danach hält
die RGB ihren Leuchtstatus OHNE Nachflash.
Sollten zwischen den 24 bit Datenpaketen wesentliche längere
Pausen vorhanden wären, wäre Dieses ein neuer Nachflash.
Hoffe, ich habs jetzt geschnallt.
Da eine gezielte, direkte LED- oder DIGIT-Adressierung auf
Grund dieses "Datendurchschiebens" offensichtlich nicht
möglich ist, andererseits den Hauptprozessor der Anwendung
so zu entlasten, dass Dieser nur Anzeigeaktualisierungen
vornehmen muss, müsste die Anzeigeansteuerung den
gegenwärtigen Status der Anzeige speichern. Nach
Aktualisierung des/der LED(s) bzw DIGIT(s) müsste die
Anzeigeansteuerung entweder komplett oder zumindest
bis zur letzten zu aktualisierenden LED nachflashen.
Unter der Vorraussetzung, keinen Denkfehler gemacht
zu haben, da ich es noch nicht praktisch erprobt habe,
stellt sich jetzt, als Alternative zu einer reinen
Hardwarelösung mit nicht wenigen, jedoch schnellen
Digitalbausteinen und auch noch parallel ladbar eventuell
die Frage, mit den DIAMEX DIGI-DOT-BOOSTER, ohne
lästigen Programmierstress für diesen Einsatzzweck
schnelle praktische Ergebnisse zu erzielen.
Dann sind mir die 10 EUR das wert.
VG Micha
Was brauche ich für Werkzeug - in dieser Reihenfolge seht ihr es:
Vorschlaghammer, Notebook, BASCOM, Lötequipment, Rohrzange, Bolzenschneider ...
Nun daß diese WS2812 & Co. verflucht schnell sind, sieht man ja in zahlreichen Videos im Netz: hier bauen manche Bildschirme mit mehreren tausend dieser LEDs auf und zeigen auf diesen Videofilme.
Ich selber habe mir mit APA102 ein Ambilight gebaut (ca. 200 LEDs), das auch 25x/sek aktualisiert wird. Zugegeben das Protokoll der APA gefällt mir für eine Ansteuerung durch ein eigenes Programm auf einem µC wesentlich besser.
Ich programmiere mit AVRCo
das stimmt nur, wenn man mehrere gruppen parallel ansteuertNun daß diese WS2812 & Co. verflucht schnell sind, sieht man ja in zahlreichen Videos im Netz: hier bauen manche Bildschirme mit mehreren tausend dieser LEDs auf und zeigen auf diesen Videofilme.
vergleiche einfach mal die grunddaten
APA102: 4Mhz Baudrate (angeblich funktionieren die bis 10Mhz, nicht getestet, mir fehlt immernoch ein ausreichend schneller Pegelwandler)
WS2812: 800kHz Baudrate
Okay wir reden hier von 32bits(APA) statt 24bits(WS), also verlieren wir ein wenig, aber schon bei 1Mhz SPI Clock hat man das schon fast raus und nach oben gibt es noch mind. 4 mal mehr Steigerungspotential
Zumal man auch sog. D/QSPI benutzen kann, bei dem mit jedem Takt an CLK 2(DSPI) oder 4(QSPI) Bits gleichzeitig auf unterschiedlichen Pins ausgegeben werden. Mit einem QSPI fähigem Controller kann man also noch ein paar Stufen effizienter werden wenn man nur eine Transferroutine für 4 Ketten gleichzeitig aufrufen muss
diese APAs sind einfach die WS nur eben weitergedacht, leider verharrt arduino und co. sehr fest bei seiner Unterstützung und promotet die neopixel über den nanodots recht heftig
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Lesezeichen