Forum: Mikrocontroller und Digitale Elektronik (RGB) LED Matrix Treiber Chip Mit Leistung und Speed


von Tobias B. (xaser)


Lesenswert?

Hi,

Ich bin im Moment dabei einen LED Matrix Treiber Chip für mein Projekt 
auszusuchen, ich habe da ein paar Kandidaten, ich bin mir jedoch nicht 
sicher, ob Sie meine Vorraussetzungen erfüllen können.

Meine Vorraussetzungen sind: mind. 16 ch. (Je mehr desto besser), ein 
schnelles interface sowie genügend strom um eine so große Matrix 
multiplexen zu können. Ein RGB treibe wäre auch nett.

Angeguckt habe ich mir den TI TLC5940, der zwsr ein std chip ist jedoch 
vill bicht genügend strom liefert und nicht schnell genug ist, den 
AS1119, der zwsr ne chsrge pump (mehr Strom?) hat und viele channels 
aber schwer zu bekommen und nicht billig is und dann noch wo einen von 
linear electronics über den ich nicht viel finden konnte.

Eine zusätzliche Frage ist, welche datenrate ich mit einem 20MHz SPI 
interface z.B. So erreichen kann.

Über Konstruktive Beiträge würde ich mich freuen :)

von Eumel (Gast)


Lesenswert?

Ich verstehe nicht wirklich was du willst. Formulier mal deine 
Anforderungen anständig. Sowas wie "genügend Strom" ist ungefähr so wie 
"mein Auto soll schnell genug fahren".

Tobias B. schrieb:
> Eine zusätzliche Frage ist, welche datenrate ich mit einem 20MHz SPI
> interface z.B. So erreichen kann.

Schau dir bitte erstmal an wie SPI funktioniert. Wenn du das verstanden 
hast wirst du dir diese Frage selbst beantworten können.

von sdfsdfds (Gast)


Lesenswert?

Tobias B. schrieb:
> Angeguckt habe ich mir den TI TLC5940, der zwsr ein std chip ist jedoch
> vill bicht genügend strom liefert und nicht schnell genug ist

Sag mal ein paar Zahlen. Beim 5940 sind die ganzen relevanten Zeiten im 
zweistelligen ns Bereich. Da gibts keine Probleme. 120mA da sollte man 
halt mal deine Anfoderungen kennen. Sonst muss halt ne Endstufe 
dahinter.

Zu langsam dein SPI 20MHz??? Erzähl mal wie du überhaupts 20MHz 
durchschaufeln willst. Mit was für einen Mikrocontroller willst du das 
machen? Da würden sich schon Taktraten von 80 MHz ++ anbieten ...

von Tobias B. (xaser)


Lesenswert?

Hi,

ja sorry der Beitrag war etwas hastig getippt, mir gings jetzt nicht 
exakt darum, dass der Chip meine genauen Anforderungen erfüllt, sondern 
mehr, welcher Chip das meiste "drauf hat". Bin auch offen für 
alternative Chip Vorschläge.

eine LED braucht laut datenblatt 20mA, wenn ich dann die max. möglichen 
64 leds in einer 8x8 Matrix multiplexe, bräuchte ich doch (nicht ganz) 
das 8-fache des stroms also 160mA. 120mA dürften mir da wohl reichen, 
wenn die dann auch wirklich durch jede eingeschaltete LED fließen.


>> Zu langsam dein SPI 20MHz???

das habe ich nicht gesagt, ich habe gefragt, welche Datenraten mit 20MHz 
SPI möglich sind.

MfG; Tobi

von Eumel (Gast)


Lesenswert?

Welches LEDs benutzt du? Eine RGB LED besteht eigentlich aus Drei LEDs. 
Nämlich Rot Grün und Blau. Also hast du eine Matrix mit 3*64=192 LEDs. 
Oder drei 8*8 Matrizen.
Welche Farbauflösung willst du haben?

von Antworter (Gast)


Lesenswert?

Tobias B. schrieb:
> das habe ich nicht gesagt, ich habe gefragt, welche Datenraten mit 20MHz
>
> SPI möglich sind.

Ich würde sagen 80Mbps bei 20MHz im QDR-Mode. Im DDR-Mode eben nur 40.

Wenn Du, wie die meisten, mit jedem Takt aber nur ein einziges Bit 
überträgst, erhälst Du bei 20MHz dann genau - lass mich rechnen ...

... 20 mbps. Das sind 20 Mio Bits in der Sekunde. Also ungefähr.

Jetzt wird es ein bissl weniger banal:

Da Dein Protokoll noch ein paar Bits verschluckt, wirst Du wohl nicht 
über 2MByte/s kommen. Sagen wir 1,6 exklusive Lücken. Beim 
Frage-Antwortspiel Master<->Slave bei gleichen Datenströmen rund 800kB/s 
unidirektional full duplex. Wenn der Master wenig fragt und viel 
gesendet wird: bis an 1,5MB/s.

Jetzt wird es gänzlich unbanal:

Wenn 4 Teilnehmer existieren, die alle miteinander reden wollen und 
jeder seinen time slot hat, braucht man (n über k) = 3 + 2 + 1 = 6 
Strecken = 12 Slots. Mit Verwaltung, Arbitration und Lücken sind das 
rund 100kB/s, die jeder ständig an jedem anderen schicken darf und auch 
von jedem anderen empfangen kann.

von Andreas K. (hammerhead)


Lesenswert?

Wenn du ne 8x8RGB matrix hast, dann bietet sich der TLC5947 an, der hat 
24 channels mit 12bit Auflösung, kommt allein mit einer 
übertragungsfrequenz von 30MHz und wenn du mehrere hintereinander packst 
mit 15MHz klar (mehr wäre eh unnötig)

Er hat einen einstellbaren Strombegrenzer drin, der 30mA pro Kanal 
ziehen kann.

Die 24 Channels reichen genau, um eine Zeile aus 8RGB LEDs anzusteuern, 
die Spalten kannst du über einen 73hc595 und 8 Transistoren steuern.

Hier siehst du ein Beispiellayout, wie das ganze dann aussieht (EAGLE 
6.4.0):
https://github.com/Phrewfuf/LED_RGB_8x8

Bitte aber nicht 1:1 übernehmen, da fehlt viel, was in anderen Aufbauten 
vorhanden sein sollte (Spannungsregelung und -glättung, Steuereinheit 
usw.), weil das ganze nur ein Daughterboard für ein ARM-Devboard ist, 
letzteres hat alles benötigte schon drauf.

von Tobias B. (xaser)


Lesenswert?

Hi!

Vielen dank mal für diese beiden Antworten, endlich mal wieder was 
worauf man bauen kann :) die idee mit den chip nur für die spalten zu 
benutzen ist mir noch nie gekommen, klingt aber gut. Ich weis leider 
noch nicht wie viele RGB Leds ich insgesamt haben werde, das hängt vom 
objekt ab, auf dem sie angebracht werden, leider siehts aber im moment 
so aus, als wären es rund 84. ich bräuchte dann wohl ne zweite matrix.

Mit Farbabstufung willst du sicherlich auf dimmstufen hinaus, da bin ich 
nicht so extreem anspruchsvoll, hab da chips mit 12bit auflösung (4096 
schritte) gesehen, für mich wären 8bit ausreichend. Der TLC5947 hat ja 
auch 12 bit pwm.

von Andreas K. (hammerhead)


Lesenswert?

Tobias B. schrieb:
> Mit Farbabstufung willst du sicherlich auf dimmstufen hinaus, da bin ich
> nicht so extreem anspruchsvoll, hab da chips mit 12bit auflösung (4096
> schritte) gesehen, für mich wären 8bit ausreichend. Der TLC5947 hat ja
> auch 12 bit pwm.

Du kannst deine Daten natürlich auch so bauen, dass du die Farbtiefe in 
Software verringerst, indem du z.b. die ersten 4 Bit (also bitwerte 1, 
2, 4 und 8) einfach auf 0 lässt und nur die höheren 8 bits nimmst. Dann 
musst keine 12bit Farbwerte berechnen.

Tobias B. schrieb:
> die idee mit den chip nur für die spalten zu
> benutzen ist mir noch nie gekommen, klingt aber gut.

Ist halt multiplexing.

Wenn du ne matrix von 8x8 hast, dann nutzt du den TLC, um die Spalten 
mit der Farbe zu versorgen und den Schieberegister, um die Zeile 
auszuwählen.
Im Endeffekt sagst du dann "Zeile 1, alle LEDs rot, Zeile 2, alle LEDs 
Grün,...Zeile 8, alle LEDs lila"

von Tobias B. (xaser)


Lesenswert?

ja zu viel sind 12bit sicherlich nicht, vermutlich kommen die daten eh 
über usb und werden lediglich weitergeleitet und nen random muster wenn 
keine usb verbindung besteht.

Schon klar das das multiplexing ist, aber ich hatte vorgehabt die 24, 
respektive 16 Kanäle durch 2 zu teilen um dann eine 8x8 bzw 12x12 matrix 
zu bekommen, aber so kann ich ja noch mehr leds ansteuern :)

ich werde nebst der großen matrix noch 2-3 kleinere matrixen haben mit 
je ungf 20 leds. Welchen chip nimmt man da am besten (man will ja auch 
auf platinengröße und kosten achten)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.