SPI über lange Strecken (WS2801)

  • Moin,
    Mein Problem ist etwas seltsam, wenn ich den WS2801 mit anderen WS2801 verschalte (Distanz zwischen den WS2801: 3 Meter) funktioniert es nicht.


    Jetzt habe ich an jeder meiner Platinen einen 2,2k Widerstand zwischen CLI und Masse gelötet. Ab da funktioniert es dann.


    Das fällt dann sicherlich unter den Begriff Terminierung. Wie macht man das denn richtig, auf jeder Platine wie oben einen Widerstand oder macht man das anders? (Welchen Widerstands Wert sollte man nehmen?)


    Lg, Frank

  • Das steht doch im Datenblatt:

    Zitat

    The transmit the data over long distance by cascading, the WS2801 integrates push-pull output stage with strong driving
    capability which enables the data and clock can be transmitted up to 6 meters at 2MHz clock frequency.
    To prevent the reflection, it is necessary to connect a 50 Ohm resistor at the data input or output port for impedance match.

    ;)

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • ja - *entweder* am *Ausgang* oder am *Eingang* (so wie Du es hast).


    Und da *jeweils* von der Leitung nach GND, so wie Du es ja beim CLI auch schon hast - Aber *nicht* entweder zwischen CLI und GND oder CKI und GND, sondern bei beiden und schon gar nicht zwischen CLI und SCI


    Das sind ja zwei getrennte Signale, wäre ja etwas sinnfrei, die zu verbinden... ;)


    und wenn's mit 2k2 auch geht, kannst Du den ja auch drin lassen, geht hauptsächlich darum, dass die Leitung nicht komplett "offen" ist.


    k.A. von was für Voraussetzungen die ausgehen, ganz korrekt müsste der Widerstand eben den selben Wert haben wie die Impedanz der Leitung - die ist bei so Mikrofonleitung z.B. oder üblicher Datenleitung eigentlich 100 Ohm, bei Flachbandleitung k.A.


    ich persönlich würde 100 Ohm nehmen, erstens weil ich da weit mehr da habe als 50 Ohm, und zweitens weil wohl die meisten für sowas verwendeten Leitungen (auch die, die ich benutze) in dem Bereich liegen...

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Eine Leitung muss an beiden Enden mit dem Wellenwiderstand abgeschlossen werden und nur an den Enden, nicht irgendwo mittendrin. Man kann an beiden Enden einfach einen Widerstand nach Masse löten. Man kann an Stelle dessen am Ausgangspin des Treibers, der das Signal an einem Ende einspeist, auch einen entsprechenden Widerstand in Reihe mit der Leitung schalten. Dann hat man auch einen gewissen Kurzschlussschutz für den Ausgangstreiber. Zu beachten ist, dass der Treiber genügend Leistung treiben kann.


    Eine weitere oft und gern angewendete Variante, vor allem bei Open Collector Treibern, ist ein 330 Ohm Widerstand von +5 V zur Signalleitung und von dort über einen 220 Ohm Widerstand auf Masse. Für Wechselspannungen ist die (Gleich-) Spannungsquelle ein Kurzschluss. Das bedeutet, dass die beiden Widerstände wechselspannungsmäßig parallelgeschaltet sind. Damit ergibt sich ein Terminierungswiderstand von 132 Ohm. Das entspricht in etwa einem Flachbandkabel.

  • Nee, das stimmt schon so - Du hast ja hier keinen Bus, sondern ne Punkt-zu-Punkt-Verbindung von Pixel zu Pixel... die Leitung endet ja eben bei jedem Pixel direkt


    also müsste *ganz korrekt* bei jedem Pixel überall (CKI, SDI, CKO, SDO) jeweils ein Widerstand mit 100 Ohm nach GND...


    aber wenn's so funktioniert, dann passt es doch :thumbup:

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Weil jkunz hat geschrieben das diese nur an den Enden hin müssen.

    An den Enden jeweils eines Leiters. Wenn ich das recht verstehe (ich kenn den WS2801 jetzt nicht im Detail.) ist das eine Kaskadierung. Sprich das Signal geht aus einem Chip raus, in die Leitung rein, aus der Leitung raus und in den nächsten Chip rein. Aus dem wieder raus, ... so dass jeder Chip als Treiber für das nächste Leitungssegment dient. Dann muss normalerweise ans Ende jeder Leitung ein Widerstand. Aber je nach dem ist das alles nicht so wirklich kritisch. Wenn schon ein 2k2 Widerstand an einem Ende reicht um die Reflektionen ausreichend zu dämpfen isses auch gut. Theorie != Praxis. ;)