Maximale Leitungslängen UART, I²C, SPI

Gast #2704677
Hallo!

Ich benötige Informationen zu den maximalen Leitungslängen (Leiterbahnen 
auf Platinen und Leitungen (Geschirmt, ungeschirmt, Verdrillt, nicht 
verdrillt)) von den Standard Mikrocontroller-Schnittstellen UART, SPI 
und I²C.

Ich hoffe einer von euch kann mir hier weiterhelfen!

Vielen Dank schon mal im Voraus.

Viele Grüße
Jochen
Gast
Karl Kuhl schrieb:
> Wie verdrillst Du Leiterbahnen auf Platinen?

Ja klar! - Ich wechsle alle paar Millimeter über Vias die Laysers und 
kreuze die Leiterbahnen...

Was ist das für eine doofe Gegenfrage?
Ich schrieb
Jochen schrieb:
> Leiterbahnen auf Platinen
> und Leitungen (Geschirmt, ungeschirmt, Verdrillt, nicht verdrillt)

Ich denke mal, das man mit verdrillten Leitungen, die ich im übrigen 
nicht auf der Platine verlege, sondern über Anschlussklemmen auf der 
Platine mit dieser verbinde, ein besser Störunempfindlichkeit erzielt 
und so evtl. ein paar (Zenti-)Meter rausholt.
Gast
Okay. Den Wink mit dem Zaunpfahl habe ich verstanden.
Dann suche ich eben Graphen, die die Datenrate über die Leitungslänge 
und Leitungstyp aufzeigen und/oder die maximale Leitungslänge einer 
bestimmten Leitung über die Datenrate....
@  Jochen (Gast)

>Ich benötige Informationen zu den maximalen Leitungslängen (Leiterbahnen
>auf Platinen und Leitungen (Geschirmt, ungeschirmt, Verdrillt, nicht
>verdrillt)) von den Standard Mikrocontroller-Schnittstellen UART, SPI
>und I²C.

Wozu?

Wie bereits geschrieben kann man das so allgemein nicht sagen. Pi mal 
Daumen gilt.

       Platine      Leitung
UART   1m           10-1000m
SPI    1m           1-10m
I2C    1m           1-100m

natürlich kann jetzt ein Oberschlauber kommen und sagen, dass er I2C 
auch schon über 200m gemacht hat, siehe die Hausbus-Fraktion. Ist aber 
nicht wirklich im Sinne des Erfinders. SPI und I2C sind normalerweise 
nur auf einer Platine, über Kabel geht man da nicht wirklich weiter als 
1m, eher deutlich drunter. UART ist für längere Kabel gedacht, wenn 
gleich es da auch viele Unterschiede gibt, welchen physikalischen Träger 
man nutzt (RS232, RS485, etc.).
Gast
verdrillt oder unverdrillt ist bei den genannten Verbindungen kack egal, 
da es sich nicht um differenzielle Signale handelt, somit ist auch egal 
ob die Störungen gleichmäßig verteilt werden auf 2 Leitungen.

Bei den meisten Bussystemen ergeben sich die maximalen Leitungslängen 
durch eine maximal erlaubte Laufzeit, im Frame oft Guardtime genannt. 
Dies ist bei den genannten System nicht der Fall. Bei Uart interessiert 
nur ob das Signal noch halbwegs brauchbar am Empfänger ankommt. Somit 
interessieren hier nur die Last bezogen auf das was der Sender an 
Leistung liefern kann und die Störstrahlung. Natürlich unter 
Berücksichtigung der Baudrate.
Bei SPI kommt dazu dass es eine Clock-Leitung gibt, deren Pegelwechel in 
der mitte des Signal sein muss. Hier kannst du die maximale 
Leitungslänge in abhängigkeit der Übertragungsrate berechnen aufgrund 
des Laufzeitunterschiedes, zwischen Clock und Datenleitungen. Musst nur 
schaun welche Phasenverschiebung zwischen Clock und Daten noch erlaubt 
ist.
Gast
Immer schön solche Anfragen.

Ich will alles wissen. Was ich wirklich brauch sag ich nicht. Was ich 
brauch such ich mir dann aus den Antworten zusammen.

Schau doch mal in die Datenblätter der verschieden Bausteine.

UART ist keine physikalische Schnittstelle, sondern die Bezeichnung 
eines Bausteins oder eines Teils eines Bausteins.

Nur physikalische Schnittstellen haben Pegel, Leitungslängen, 
Störabstand , und und und ..
Gast
Es geht einfach darum herauszufinden, welche Standardschnittstelle 
(explizit: UART, SPI, I²C) eines MCUs ohne(!) zusätzliche 
Treiberbausteine, oder Umsetzer auf eine andere Physik wie RS232,RS485, 
o.ä., über eine elektrische Leitung von einer zu einer anderen Platine 
über eine möglichst weite Distanz übertragen lässt.

Mehr Infos hab' ich nicht und diese habe ich auch genannt.

und warum soll UART, SPI und I²C keine physikalischen Schnittstellen 
sein!?
Auch diese haben einen Pegel (in der Regel die Prozessorspannung; bei 
uns 3,3V). Eine physikalische Schnittstelle hat keine Leitungslängen. 
Sie funktioniert nur bis zu einer gewissen Leitungslänge.
Gast
> und warum soll UART, SPI und I²C keine physikalischen Schnittstellen
> sein!?

Im Schichtenmodell unterscheidet man zwischen der physikalischen 
Umsetzung und der logischen Funktionsweise. Wie weit die physikalischen 
Signale kommen, hängt von der Datenrate, der Leitungsimpedanzanpassung, 
vom Kapazitätsbelag und anderen Parametern ab. Diese Parameter sind aber 
nicht durch die Begriffe UART, SPI usw definiert.
Gast
Maximale Leitungslänge bei I²C wird unter anderen durch eine maximale 
Kabelkapazität limitiert, da es sich bei I²C um einen 
Opendrain/Opencollektor mit Slewrate begrenzten Treibern (Spannungs als 
auch Strom) handelt.

Wird deine Leitung zu lang, sehen die Treiber eine zu große Kapazität 
und deine Signale werden mit einer Phasenverschiebung versehen, welche 
bei steigender Datenrate irgendwann so groß wird das entsprechende 
Zeitinervalle laut I²C Spezifikation nicht mehr eingehalten werden 
können. - Dies könnte man mit einer verringerten Datenrate wieder 
kompensieren... .



Man kann deine Frage nicht so einfach und pauschal beantworten. Die 
maximale Leitungslänge ist z.B ein Kompromiss aus Datenrate und externen 
Störgrößen abhängig. Störgrößen sind z.B wieder von den mechanischen 
Aufbau und der Einsatzumgebung abhängig.
@  Jochen (Gast)

>Es geht einfach darum herauszufinden, welche Standardschnittstelle
>(explizit: UART, SPI, I²C) eines MCUs ohne(!) zusätzliche
>Treiberbausteine, oder Umsetzer auf eine andere Physik wie RS232,RS485,
>o.ä., über eine elektrische Leitung von einer zu einer anderen Platine
>über eine möglichst weite Distanz übertragen lässt.

>Scherz beiseite: 20m sollten reichen.

Da sind UART und I2C in etwa gleich gut bzw. schlecht. SPI macht da 
schon orgendlich Probleme mit Reflektionen, siehe Wellenwiderstand.

>und warum soll UART, SPI und I²C keine physikalischen Schnittstellen
>sein!?

Weil UART nur das logische Datenformat beschreibt, keine Physik 
(Spannung, Strom, whatever). SPI ist ein mittelding, aber streng auch 
nur Logik. Einzig I2C beschreib Logik und Physik vollständig.

>Auch diese haben einen Pegel (in der Regel die Prozessorspannung; bei
>uns 3,3V).

Das ist ein Sonderfall, der in UART und SPI nirgendwo definiert ist.

> Eine physikalische Schnittstelle hat keine Leitungslängen.

Aber sicher.

>Sie funktioniert nur bis zu einer gewissen Leitungslänge.

Apfelmus ist Mus aus Äpfeln.

MFG
Falk
Gast
>Es geht einfach darum herauszufinden, welche Standardschnittstelle
>(explizit: UART, SPI, I²C) eines MCUs ohne(!) zusätzliche
>Treiberbausteine, oder Umsetzer auf eine andere Physik wie RS232,RS485,
>o.ä., über eine elektrische Leitung von einer zu einer anderen Platine
>über eine möglichst weite Distanz übertragen lässt.

Der Sinn dieser zusätzlichen Treiberbausteine ist ja unter anderem die 
Erhöhung der Störfestigkeit bzw. die Erhöhung der maximalen Baudrate.
D.h. Du wirst in Deinem abgeschirmten Atomschutzkeller eine weitere 
Distanz erreichen als neben einem AppleII-Computer.
Insofern ist "weite Distanz" eine Funkte von von Parametern wie 
angestrebter Baudrate, EMV, Verfügbarkeitsanforderung usw.
Gast
Ich neme mal an, daß Du mindestens 10kbit/sec über eine Strecke von 20 
Meter seriell übertragen möchtest.

Dann rate ich zu UART Protokoll mit RS485 Treibern. Wahlweise half- oder 
voll-duplex, je nach Anwendungsfall.

SPI und I2C nicht nicht für Kabel gedacht, die das Gehäuse eines Gerätes 
verlassen. Ich schätze, daß Leitungslängen über 1 Meter ohne aufwändige 
Entstörung gar nicht funktionieren, egal bei welcher Bitrate.
Mit UART kannst du einmal rund um dem Globus oder schon nach 10m 
scheitern. Das ist ein Baustein, keine Leitungsdefinition. Das wäre 
beispielsweise V.24 aka RS232 - aber damit kamen die Fernschreiber über 
keinen km, sondern nur die paar Meter bis zum Modem.
Gast
um mal ein Beispiel zu I²C zu nennen:
Ein Temperaturfühler DS18B20 läuft bei mir an einer 10m langen Leitung 
ohne erkennbare Fehler. (größere Leitungslängen nicht getestet --> 
könnte evtl auch mit längerer Leitung funktionieren)
MfG
Gast
da hast du recht und ich korrigiere meine Falschmeldung
tatsächlich verwende ich den  Brückenschaltkreis DS2482, welcher I²C auf
1-Wire-Bus wandelt,
die 10m beziehen sich dann auf den 1-Wire-Bus
MfG
Jochen schrieb:
> Es geht einfach darum herauszufinden, welche Standardschnittstelle
> (explizit: UART, SPI, I²C) eines MCUs ohne(!) zusätzliche
> Treiberbausteine, oder Umsetzer auf eine andere Physik wie RS232,RS485,
> o.ä., über eine elektrische Leitung von einer zu einer anderen Platine
> über eine möglichst weite Distanz übertragen lässt.

Das ist keine gute Strategie. Die Treiberbausteine dienen auch immer dem 
Schutz der Schaltung gegen ESD. Da sie in einem viel gröberen Prozess 
gefertigt sind, sind sie viel unempfindlicher gegen Misshandlungen.

Und klar: Im Falle eines Falles ist es einfacher, ein SO-08 zu tauschen 
als ein BGA mit 473 Balls. Und ja, es gibt Spezialisten, die das anders 
sehen und sich dann wundern, warum sie (a) bei der EMV-Prüfung krachend 
durchfallen und (b) das mit einem Freescale iMXirgendwas (ARM9) 
bestückte Board nach dem 4kV Burst-Test nicht mehr lief.

Die Strafe folgte auf dem Fuße.

Also gewöhne Dir diesen Mist gar nicht erst an!

fchk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.