WS2801 Timing issues/Probleme

  • Hallo,


    Ich wollte mal fragen ob schon mal jemand sehr große WS2801 Matrizen aufgebaut hat und ob er dabei Probleme hatte, die er lösen konnte?!


    Aktuell haben wohl einige Leute bereits Probleme bei ihrem WS2801 Setup... Turi (Nino) und ich haben das nun versucht zu reproduzieren. Mit der Erkenntnis, dass man mit den WS2801 nicht wirklich riesig lange LED Ketten aufbauen kann... Die Datenrate von 25 MHz scheinen auch eher utopisch, wenn man sich anschaut wie das Timing flöten geht...


    Der Aufbau ist nicht ideal aber entspricht schon einem Besseren... also kurze Datenleitung (40 cm) und gute Stromversorgung... Spannung bricht also wenig ein.


    Ich hab das ganze nun Ausgemessen und musste feststellen, dass der Clock-Pin doch irgendwie falsch durchgeschliffen wird... es ist aber kein reines Delay, sondern es schnürt sich so langsam zu... Der Datenpin bleibt über die gesamte LED Kette dabei erstaunlich Konstant...


    Ich denke die Bilder werden euch mehr verraten... Blau ist CLOCK (der troublemaker) und gelb ist DATA


    Aktuelle SPI Geschwindigkeit sind ca. 3,3 MHz...


    Nach dem ersten Pixel ist noch alles in Ordnung:


    nach 100 Pixeln sieht man schon einen großen Unterschied:


    nach 200 Pixeln:


    Und ab ca. 250 Pixel aufwärts geht gar nichts mehr, bei 3,3 MHz:


    Fazit könnte sein:


    WS2801 Pixel können mit ca. 800 kHz bis 1 MHz, bei absolut sauberer Verkabelung, nur bis zu einer Länge von 1500 Pixeln angereiht werden?!


    Wo könnte sonst noch der Fehler liegen? Die Signalpegel CLOCK und DATA sind leider etwas verzogen (in den Bildern). Das liegt aber an meinem zweiten Kanal... der hat bei Pegelmessung einen leichten Treffer... Real sind beide Pegel gleich groß!!


    Grüße


    Basti


    P.S. Der 10x Teiler war in den Probs drin... hatte es nur nicht angepasst... nicht wundern

  • Moin,


    der Graph sagt: ein Pixel bringt eine Verzögerung von 0,5 ns in die Clock Leitung...


    Ausrechnen der optimalen Clockfrequenz, um möglichst viele Pixel bei 25 FPS fahren zu können:


    1/(2 * delay * Pixel) < f


    f=Pixel * 24 Bit * 25 FPS


    1/(1 ns * Pixel2) < 600


    Pixel < (8 * 57/2)/sqrt(3)


    Es können also ideal (ohne Latchzeiten zu berücksichtigen) bei 25 FPS "nur" 1291 Pixel bei 775 kHz betrieben werden....


    Das stimmt mit unseren Beobachtungen eines LED-Controllern überein. Dieser hatte verschiedene Frequenzen zur Auswahl, letztendlich kamen immer nur 800 kHz raus...


    Da das für uns nicht befriedigend ist, sollte man je nach Pixelanzahl und Treiberfrequenz Reapeater einsetzen.


    Grüße


    Basti