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
Karl Kuhl schrieb: > Wie verdrillst Du Leiterbahnen auf Platinen? Jochen schrieb: > und Leitungen (Geschirmt, ungeschirmt, Verdrillt, nicht verdrillt)
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.
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... ;)
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 :-)
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....
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.
@ 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.).
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.
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 ..
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.
> 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.
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.
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.
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
>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.
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.
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 :)
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.
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.
Die Schnittstelle des ICs soll direkt über einen Stecker an ein Kabel und dann zur abgesetzten Elektronik gehen ...
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
Komischerweise steht im Datenblatt von besagtem Sensor was von 1-Wire-Bus, nicht I²C...
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
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.