Maximale Leitungslängen UART, I²C, SPI

Gast #2704677
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
Gast #2704688
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.
Gast #2704765
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....
#2704796
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.).
Gast #2704810
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.
Gast #2704829
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 ..
Gast #2705113
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.
Gast #2705144
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.
Gast #2705298
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.
#2705384
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
Gast #2705409
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.
Gast #2705439
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.
Gast #2714989
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
#2715211
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren