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
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!)
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
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.