Forum: Mikrocontroller und Digitale Elektronik Maximale Leitungslängen UART, I²C, SPI


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jochen (Gast)


Lesenswert?

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

von Karl Kuhl (Gast)


Lesenswert?

Wie verdrillst Du Leiterbahnen auf Platinen?

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Karl Kuhl schrieb:
> Wie verdrillst Du Leiterbahnen auf Platinen?

Jochen schrieb:
> und Leitungen (Geschirmt, ungeschirmt, Verdrillt, nicht verdrillt)

von Jochen (Gast)


Lesenswert?

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.

von Jochen (Gast)


Lesenswert?

Magnus Müller schrieb:
> Karl Kuhl schrieb:
>> Wie verdrillst Du Leiterbahnen auf Platinen?
>
> Jochen schrieb:
>> und Leitungen (Geschirmt, ungeschirmt, Verdrillt, nicht verdrillt)

Ah gut, dann habe ich doch nicht so unverständlich geschrieben... ;)

von Karl Kuhl (Gast)


Lesenswert?

Jochen schrieb:
> Ah gut, dann habe ich doch nicht so unverständlich geschrieben... ;)

Die Antwort lautet: 3,47m. Leitungsführung und Übertragungsrate ist 
entsprechend anzupassen :-)

von Jochen (Gast)


Lesenswert?

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....

von Jörg S. (joerg-s)


Lesenswert?

Bei RS232 wird man die Leitungslänge noch gut abschätzen können, bei I²C 
und SPI wird es schon schwieriger da hier die Randbedingungen einen 
großen Einfluss haben.

von Falk B. (falk)


Lesenswert?

@  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.).

von Tastkopf (Gast)


Lesenswert?

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.

von spontan (Gast)


Lesenswert?

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 ..

von Jochen (Gast)


Lesenswert?

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.

von UART (Gast)


Lesenswert?

> 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.

von (prx) A. K. (prx)


Lesenswert?

Jochen schrieb:

> über eine möglichst weite Distanz übertragen lässt.

"Möglichst weit" ist ein sehr dehnbarer Begriff. Manche verstehen 
darunter einige zig Meter, manche einige Kilometer, manche meinen damit 
Voyager 1.

von Jochen (Gast)


Lesenswert?

A. K. schrieb:
> manche meinen damit
> Voyager 1.

Warum nicht. Wollte schon immer mal mit den Lebewesen auf dem Pluto 
telefonieren ...

Scherz beiseite: 20m sollten reichen.

von Nachtaktiver (Gast)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

@  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

von Jens Langecker (Gast)


Lesenswert?

>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.

von Stefan (Gast)


Lesenswert?

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.

von Jörg S. (joerg-s)


Lesenswert?

Stefan schrieb:
> Ich schätze, daß Leitungslängen über 1 Meter ohne aufwändige
> Entstörung gar nicht funktionieren, egal bei welcher Bitrate.
Da verlierst du aber haushoch. In jedem HDMI/DVI/VGA Kabel ist I²C drin 
:)

von ... (Gast)


Lesenswert?

1-wire fehlt in der Liste noch

von ... (Gast)


Lesenswert?

Falk Brunner schrieb:
> UART   1m           10-1000m

Zu den Hochzeiten des Fernschreibers ging es mit UART durch die ganz 
Republik, also kann man da vor der Einheit fast noch ein ganzes "k" 
setzen.

von (prx) A. K. (prx)


Lesenswert?

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.

von Jochen (Gast)


Lesenswert?

Die Schnittstelle des ICs soll direkt über einen Stecker an ein Kabel 
und dann zur abgesetzten Elektronik gehen ...

von Wolfgang-G (Gast)


Lesenswert?

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

von ..................... (Gast)


Lesenswert?

Komischerweise steht im Datenblatt von besagtem Sensor was von 
1-Wire-Bus, nicht I²C...

von Wolfgang-G (Gast)


Lesenswert?

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

von Frank K. (fchk)


Lesenswert?

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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.