Forum: Mikrocontroller und Digitale Elektronik Leitungslänge mit SPI Bus


von Marcus (Gast)


Lesenswert?

servus,

hat jemand erfahrungen mit der möglichen leitungslänge bei einem SPI
bus?! wieviel m sind möglich, und gibt es evtl auch für SPI einen
treiberbaustein/bus buffer um die störanfälligkeit und leitungslänge zu
erhöhen?
wie könnte man theoretisch die max. länge errechnen?

danke im voraus!

mfg

von Franz (Gast)


Lesenswert?

hmm spi ist eher für kurze leitunslängen gedacht... also im bereich
einer platine.. mit ganz normalen leitungstreibern kannst du natürlich
die max. länge erhöhen.. habe selbst schon eine anzeigetafel mit 16
slaves zum laufen gebracht ( max. Leitunslänge war hier ca. 1-2m ) (mit
leitungstreibern!)

von Marcus (Gast)


Lesenswert?

danke. welche treiber hst du genommen?
und weiss jemand, ob die max. leitungslänge wie bei I²C von der
leitungskapazität, oder eher wie bei CAN, von der laufzeit abhängt?!

zu SPI findet man leider sehr wenig, da keine konkrete spezifikation
vorhanden ist. wie sieht das protokoll, bzw. der rahmen aus?
und gibt es etwaige sicherungsmechanismen der zu übertragenden daten?

mfg

von Klaus Bröntgen (Gast)


Lesenswert?

soweit ich weiß, gibts da gar nix: kein protokoll, kein rahmen, keine
fehlerkorrektur. spi definiert nur die steuerung der übertragung. also
wer sagt, wanns losgeht, wer nimmt entgegen bzw. sendet, mit welchem
takt wird getimet. das ist alles, was bei spi festgelegt wird.

von Olaf (Gast)


Lesenswert?

SPI ist kein genormter Bus wie z.B I2C. Es ist letztlich nur eine
syncrone serielle Schnittstelle. Deshalb gibt es z.B in den
Microcontrollern auch immer so tolle Einstellmoeglichkeiten wie z.B
Ruhepegel oder mit welcher Flanke die Daten uebernommen werden sollen.
Das kann naemlich jeder Hersteller anders machen.

Natuerlich gilt aber fuer SPI genauso wie fuer I2C die Physik.
Selbstverstaendlich gibt es daher Leitungslaengen die man nicht
ueberschreiten sollte. Nur haengen die halt vom Kabel, den Treibern,
der Terminierung, der Anzahl der Devices und der GEschwindigkeit ab.

Allerdings ist SPI eher unproblematisch weil es keine bidirektionalen
Leitungen gibt und der Bus eben synron ist. Ich hab z.B an meinem R8C
den SED1520 mit 1.6Mhz CLK und etwa einem Meter Flachbandkabel laufen.
Dabei habe ich nur die CLK Leitung mit 100pF+100R terminiert. Geht sehr
gut.
Wenn man ein ordentliches Flachbandkabel nimmt, jede zweite Leitung
Masse ist, alle Leitungen richtig terminiert sind, am Controller wie
auch am Slave richtige Bustreiber verwendet werden dann wird es
sicherlich auch ueber viele Meter gehen. Da tritt dann eher das Problem
auf das man so ab 5-10m mal ueber potentialfreie Leitungen nachdenken
sollte. Aber auch das geht wegen der unidirektionalitaet noch recht
gut. Jedenfalls wenn man mit dem CLK unterhalb dessen bleiben kann was
ein Optokoppler so mitmacht.

Olaf

von Unbekannter (Gast)


Lesenswert?

Selbst einen Feld-Wald-Wiesen-Optokoppler kann man bei entsprechender
Ansteuerung in den MHz-Bereich treiben (Kaskode).

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
Noch kein Account? Hier anmelden.