Baudrate Hyperion LPD8806

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo Zusammen,

    vielleicht könnt Ihr mir helfen, Licht ins Dunkle zu bringen.

    Bei Hyperion gibt es für die LPD8806 die Standard Baudrate von 250000 per Config-Tool. In diversen Konfigurationen habe ich nun schon öfter andere Werte gesehen: 250000 / 1000000 / 2500000.

    Wie ermittelt man den richtigen Wert der Baudrate für die LPD8806? :huh:

    Was macht die Baudrate genau und wie wirkt sie sich auf die LPD8806 LEDs aus?

    Das müsste doch eigentlich irgendwo dokumentiert sein.

    Wer kann mir helfen?


    Lieben Gruß,
    Tim

  • Ich habe folgendes festgestellt:

    Wenn ich die Baudrate auf 32000000 (32 MHz) stelle, dann fangen die LEDs an zu flackern
    ==> daraus schließe ich, dass die Clockrate dann zu hoch ist

    31800000 funktioniert ohne Probleme. :thumbs1:

    Die Frage ist aber, wie und in welchem Maße die Clockrate die LEDs beeinflusst. :huh:

    Die Maximale SPI Clockrate des PIs scheinen 32 MHz zu sein.

    Hier wird fleißig darüber diskutiert...bringt mich nur in meiner sehr speziellen Frage nicht weiter vorran:
    http://www.raspberrypi.org/forums/viewtopic.php?f=44&t=24224

    In der Dokumentation des Pi finden sich folgende Werte:
    http://www.raspberrypi.org/documentation/…i/spi/README.md

    Desweiteren gibt es hier noch hier noch ein wenig detailierteres zu SPI Clock Settings des PI:
    http://www.raspberrypi.org/forums/viewtop…=43442&p=347073


    Aber? Das klärt meine Frage auch nicht :huh:

    Gruß,
    Tim

    Einmal editiert, zuletzt von timmey1983 (16. September 2014 um 09:14)

  • Laut https://solarbotics.com/download.php?file=1889 arbeiten die ICs mit einer maximalen DataClock von 20 MHz und einer empfohlenen DataClock von 0~2 MHz.

    Das ändert jedoch nichts an der Tatsache, dass ich nicht weiß, wieso die Baudrate in der Hyperionconfig für einen LPD8806 auf 250KHz steht. Eine optische Änderung ist bei einer Erhöhung des Wertes ja auch nicht zu sehen...außer bei 32MHz...da flackert es :D:thumbs1:

    Einmal editiert, zuletzt von timmey1983 (16. September 2014 um 15:31)

  • In der lpd8806-spidev-sink.c ist interessanterweise auch nicht 250000 sondern 2500000 definiert, was dann auch 2,5 MHz entspricht. :thumbs1:

    Dennoch steht immer noch die Frage im Raum. Wie wirkt sich die Baudrate auf die LEDs aus. Irgend ein Ingenieur anwesend, der sich mit der Thematik auskennt? :s :huh:

    :danke_ATDE:

    Grüße,
    Tim

    Einmal editiert, zuletzt von timmey1983 (19. September 2014 um 09:39)

  • Interessantes Thema, hab ich mich auch schonmal gefragt ;)

    Ich persönlich habs auf 1MHz stehen, da ich nicht wusste, dass es noch höher geht. Je höher aber die Baudrate sit, desto kleiner ist natürlich die Reaktionszeit, weshalb es theoretisch fixer auf neue Farbwerte reagieren sollte. Ob man den Unterschied zwischen 1 und 2,5MHz aber noch sieht, ist für mich fraglich.

  • Die Baudrate gibt an wie viele Schritte pro Sekunde übertragen werden. 1 Schritt kann 1 Bit groß sein, 1 Schritt kann aber auch größer als 1 Bit sein.

    Angenommen wir haben eine Baudrate von 1000 Baud mit Schritten die 3 Bits groß sind. Dann haben wir eine Übertragungsrate von 1000 Baud * 3 Bit pro Baud = 3000 Bit pro Sekunde.

    Die Bilder kommen mit 25 Bildern pro Sekunde am Grabber an (normalerweise).
    Das heißt theoretisch, der Grabber könnte maximal jede Sekunde 25 bilder an den Raspberry zum verarbeiten übergeben - und somit 25 unterschiedliche Farbwerte pro Sekunde an jede LED übermitteln.

    Wer jetzt weiß, wie viele Bits ein Schritt beinhaltet und wie viele Bits maximal benötigt werden um die letzte LED am Stripe zu schalten, der kann sich die maximale wirklich verwendbare Baudrate ausrechnen.

    BTW: Ich weiß nicht wie das Limit vom Raspberry oder vom Grabber ist. Aber ich wollte nur mal kurz erklären was ein Baud bzw. die Baudrate (Symbolrate) ist.
    Der Flaschenhals des kompletten Systems gibt immer die Maximal mögliche Baudrate an.

  • Hallo BuZZy,

    danke für deine sehr interessante Ausführung der Thematik. Sehr informativ.

    ==> Die Limits kannst du aus meinem ersten Post entnehmen...da sind definitiv die Limits des Pi zu finden.

    Die Limits des Grabbers? der macht doch entweder NTSC oder PAL. Welches Limit meinst du denn?


  • ... Hyperion gibt es für die LPD8806 die Standard Baudrate von 250000 per Config-Tool. In diversen Konfigurationen habe ich nun schon öfter andere Werte gesehen: 250000 / 1000000 / 2500000.

    Dies sind nicht die Limits vom rPi denke ich. Sondern die Konfigurationen die irgendwann mal jemand erstellt hat, der vielleicht dachte: Höhere Baudrate = besser als niedrige Baudrate, ohne dabei zu berücksichtigen ob diese Baudrate Sinn macht oder nicht.

    Mit dem Grabber meine ich, dass bei PAL z.B. normalerweise 25 Bilder pro Sekunde übertragen werden. Nehmen wir an wir gucken eine Videodatei welche in einer Sekunde 25 unterschiedliche Farben als Vollbild anzeigt. Dazu haben wir 100 LEDs am Fernseher.
    Die Zahl 255 ist in Bits ausgedrückt "11111111" Also 8 Bit.

    Ein LED Segment besteht aus 3 kleinen LEDs welche die Farben Rot Grün und Blau (RGB) darstellen.
    Um die Farbe weiß zu aktivieren müssen wir alle Farben (Rot, Grün, Blau) mit voller Kraft (Wert 255 (höchstmögliche Binäre zahl)) leuchten lassen.

    Also müssen wir 255,255,255 übertragen.
    Das heißt, wir übertragen:
    [11111111],[11111111],[11111111]

    Das sind schon 24 Bits für eine LED (3 Farben). Wenn wir jetzt 25x die Farbe wechseln in einer Sekunde für eine LED (3 Farben), müssen wir 25x24 Bits durch die Leitung blasen.
    Das sind 600 Bit pro Sekunde. Aber da wir nicht nur ein LED Segment haben, sondern 100 hinterm Fernseher kleben, müssen wir 100x600 Bit durch die Leitung jagen.
    Das heißt: 60000 Bits pro Sekunde.

    Wenn wir jetzt wüssten, dass ein Schritt aus 1 Bit besteht, dann wäre die Maximale Baudrate 60000 Baud. Alles drüber würde dann keinen Sinn machen,...

    Ich vermute, der Raspberry bzw. Hyperion wird nicht alle 25 Bilder pro Sekunde analysieren. Deswegen müsste theoretisch alles mit einer noch niedrigeren Baudrate funktionieren.


    Kann mal spaßeshalber jemand testen?
    Bitte ausrechnen: 600 x Anzahl der LEDs die verwendet werden = Baudrate.
    Diese Baudrate im Hyperion konfigurieren und mal Testen wie das Ergebnis ist.

    Danke! :)
    -- Ich warte leider noch auf meine LEDs deswegen kann ich das nicht selber testen. :(

    Einmal editiert, zuletzt von BuZZy (26. September 2014 um 17:04)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!