Probleme mit SPI evtl schlechtes PCB layout

Gast #627401
Lesenswert?

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 :)
Gast #627444
Lesenswert?

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.
Gast #627475
Lesenswert?

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.
Gast #627817
Lesenswert?

> 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.
Gast #627928
Lesenswert?

>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.
Angehängte Dateien:
Gast #628001
Lesenswert?

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?
Gast #628079
Lesenswert?

@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
#628082
Lesenswert?

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).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren