Hallo , ich benutze 3 Stück stp16c596 bzw. mbi5026 LED driver. Ich habe da ein jetzt ein Problem wo ich nicht genau weiß woran es liegt. Und zwar kann ich bei einem der 3 led driver nicht alle LEDs gleichzeitig anschalten, die flackern nur kurz auf, einzelnd kann ich alle LEDs nacheinander anschalten. Bei den andern beiden led drivern kann ich auch alle LEDs gleichzeitig anschalten. Bei dem Led driver der nicht richtig geht ist die Data Leitung ca. 3 mal länger als die Clock Leitung kann es daran liegen? Wenn es am Platinenlayout liegt wie kann ich das evtl. noch flicken, also irgendwo Wiederstände und/oder Kondensatoren hinlöten? Gruß,Michael :)
Dazu müsste man noch wissen, wie lang ist lang? In Millimetern? Stephan.
Also die beiden die Funktionieren : Data,Clock je ca.200mm Der Problemchip: Clock ca.60mm Data ca.350mm :( Leider ist was beim Layout was schief gelaufen. siehe Bild.
Das einfachste wird sein, die Geschwindigkeit etwas zurueck zu nehmen
Es liegt daran. Data Leitungen und Clock müssen gleichlang sein. Optimalerweise parallel geroutet. Die Datenübernahme erfolgt bei einer der Clock Flanken. Kommt das Datensignal später (dazu reichen auch schon ns) ist das ausgelesene Datenbyte soetwas wie eine Zufallszahl.
Nen, nee. Schau das Datenblatt zum SPI transfer nochmals an. Die Daten muessen vorher anliegen und nachher noch etwas anstehen. Das nennt sich Setup- und Holdtime. Die Daten werden ueblicherweise mit fallender flanke auf den SPI ausgegeben und mit steigender Flanke gelatcht. Dh man hat einen halben Zyklus zeit.
Dieses interne Timing macht die Hardware, es funktionier aber NUR wenn die Leitungen gleich lang sind. Und ob bei steigender oder fallender Flanke übernommen wird, ist Einstellungssache.
> Die Datenübernahme erfolgt bei einer der Clock Flanken. Kommt das > Datensignal später (dazu reichen auch schon ns) ist das ausgelesene > Datenbyte soetwas wie eine Zufallszahl. > Dieses interne Timing macht die Hardware, es funktionier aber NUR wenn > die Leitungen gleich lang sind. Da bist du aber auf dem Holzweg. Sicherlich ist es so, das bei sehr hohen Geschwindigkeiten die Signallaufzeit eine Rolle Spielt, aber das ist bei 350mm und wenigen MHz noch nicht der Fall. Testen kann man das aber trotdem, Geschwindigkeit drosseln. Eher spielen igrendwelche kapazitiven Einkopplungen eine Rolle. Wenn du sagst einzelne LED gehen alle zusammen aber nicht, ist es evtl auch ein Stromversorgungsproblem.
> siehe Bild.
Ich seh nix.
Wie sieht der Drahtverhau denn insgesamt aus? Eine Clock-Leitung für
alle, gabelfürmig, oder hintereinander oder...
Was du mal probieren kannst: 100 Ohm Widerstand in die SPI-Taktleitung
reinschleifen, direkt am Pin vom Master.
>Ich seh nix. Ups ... neuer Versuch >Wenn du sagst einzelne LED gehen alle zusammen aber nicht, ist es evtl >auch ein Stromversorgungsproblem. Hab ich auch dran gedacht. Aber ich kann mit den zwei "guten" LED Treibern 32 LEDs auf einmal einschalten. Mit dem "problem" Led Treiber kann ich max. 7-8 LEDs einschalten.
Vielleicht ist auch einfach der "schlechte" Led Treiber defekt .. Bei 210mm unterschied zwischen Clock und Data hast du rund 2ns Laufzeitunterschied. Schau mal im Datenblatt nach ob das in der Toleranz liegt. Wie schnell taktest du?
@Ralph (Gast) >Es liegt daran. >Data Leitungen und Clock müssen gleichlang sein. Optimalerweise parallel >geroutet. So ein BLÖDSINN!! Die paar MHz sind SCHNARCHLANGSAM im Gegensatz zur Laufzeit der Signale. Ausserdem werden bei fast allen ICs mit SPI die Daten auf der einen Flanke geschrieben und auf der anderen gelesen. MFG Falk
Die Laufzeit ist in dieser Dimension nicht kritisch, wohl aber die Qualität des Taktsignals. Wenn das an irgendeiner Stelle arg klingelt, kann es schon mal dazu kommen, dass eines der Schieberegister mit einem einzigen Taktzyklus mehrere Bits durchschiebt. Dieser Effekt ist dann unabhängig von der Taktfrequenz. Abhilfe dann: Der oben erwähnte Serienwiderstand kann helfen, sauberes Leitungsdesign, Abschluss usw - oder schnarchlangsame Bausteine (CD4000).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.