Maximale Kabellänge für 3,3 V UART-Signale

15

Ich möchte die Verwendung von RS-232-Wandlern zwischen zwei Mikrocontrollern auf zwei verschiedenen Platinen vermeiden. Aus verschiedenen Gründen werden nur UARTs unterstützt, z. B. kein SPI oder I2C, und ich verwende CAT5E-Kabel für RJ45-Buchsen zwischen den Karten. Die Datenrate beträgt 115200 Bit / s, möglicherweise bis zu 921600 Bit / s. Masse ist zusammen mit den UART-Signalen verbunden.

Gibt es eine Möglichkeit, die maximale Kabellänge abzuschätzen, bei der dies zuverlässig wäre, obwohl ich es derzeit mit der Länge arbeite, die ich für meine eigene Ausbildung benötige?

QuestionMan
quelle
Diese lammertbies.nl/comm/info/RS-232_specs.html kann hilfreich sein "Wenn zum Beispiel ein UTP CAT-5-Kabel mit einer typischen Kapazität von 17 pF / ft verwendet wird, beträgt die maximal zulässige Kabellänge 147 Fuß."
Kenny
3
Real RS232 hat einen Spannungshub von mehr als 10 Volt zwischen Markierung und Leerzeichen. Und die 147 Fuß sind nur für 19200 Baud. OP spricht von 3V3 UART und 115200 bis 921600 Baud: Dies funktioniert nur mit relativ kurzen Kabeln.
Turbo J
2
Darf ich RS422-Tranceiver vorschlagen? Sie würden CAT5E-Twisted Pair-Kabel viel besser passen.
Turbo J
Leider keine Option.
QuestionMan
Ich habe eine Frage: Warum sind 422 Tranceiver keine Option?
DiBosco

Antworten:

14

Es gibt keine sichere Antwort. Dies hat viel mit der Länge des Kabels zu tun, mit Umgebungsgeräuschen und mit der Geschwindigkeit, mit der Sie fahren möchten. Ethernet verwendet CAT5-Kabel für die Übertragung mit 10 Mbit / s für die langsamste Variante, sodass 1 Mbit / s problemlos möglich ist, wenn Sie die entsprechenden Vorsichtsmaßnahmen treffen . Beachten Sie, dass bei Ethernet jedes Signal ein eigenes Twisted Pair erhält und jedes Paar sorgfältig an der charakteristischen Impedanz des Kabels an jedem Ende terminiert wird. Jedes Paar wird unterschiedlich angesteuert und unterschiedlich interpretiert und ist auch so ausgelegt, dass es keine Erdschleifen verursachen kann.

Wenn Sie all dies tun, können Sie 1 Mbit / s-Daten über ein CAT5-Kabel für große Entfernungen wie 1000 Meter übertragen. Wenn Sie weniger davon tun, verringert sich die nutzbare Entfernung. Wenn es zum Beispiel nur Board-to-Board im selben Chassis ist, müssen Sie wahrscheinlich nicht viel Besonderes tun. Wenn Sie sich außerhalb des Geräts befinden, können differentielle Leitungstreiber und -empfänger hilfreich sein.

Probieren Sie etwas in Ihrem Setup aus und sehen Sie sich die Signale am Empfangsende an, um eine Vorstellung vom Rauschabstand zu erhalten. Passen Sie diese nach Bedarf an. Verwenden Sie möglicherweise ein Protokoll, mit dem Fehler erkannt und behoben werden können, und verfolgen Sie, wie oft dies geschieht. Es gibt zu viele Möglichkeiten, um hier ohne weitere Informationen aufzulisten.

Olin Lathrop
quelle
1
Nur weil Sie 145 m aus dem Ethernet herausholen können, heißt das nicht, dass Sie dasselbe aus einem 3,3-V-TTL-Signal über dasselbe Kabel herausholen würden, nur weil Sie eine niedrigere Bitrate verwenden, siehe die Erklärung in meiner Antwort.
Jason Morgan
2
@Jason: Beachten Sie, dass ich nicht gesagt habe, dass Sie es tun würden. Ich sagte, Sie könnten mit den richtigen Vorsichtsmaßnahmen große Entfernungen zurücklegen, z. B. mit differentiellen Leitungstreibern und -empfängern und terminierten Enden.
Olin Lathrop
3
@Olion: Aus Ihrem Beitrag geht hervor, dass es eher um die Eigenschaften eines Kabels geht, als darum, warum eine 3,3-V-TTL nicht weit nach unten läuft. Für mich ist es ein Vorschlag, ein gutes Kabel zu kaufen, von dem wir beide wissen, dass es falsch ist.
Jason Morgan
7

Ethernet verwendet eine differentielle Signalisierung, ein TTL-Signal ist single ended.

Ethernet verwendet Pre-Emphasis, TTL nicht.

Ethernet ist der aktuelle Modus, TTL ist der Spannungsmodus.

Ethernet verwendet eine Modulationsmethode, die die Anzahl der Flanken reduziert, Ihre TTL jedoch möglicherweise nicht (Standard-ASYNC sicherlich nicht).

Ethernet-Treiber und -Empfänger sind an die Impedanz des Kabels angepasst, sofern nicht sorgfältig geplant, würde dies keine TTL sein (und wenn dies der Fall wäre, würde dies keine TTL sein!).

Ethernet verwendet ein symmetrisches Signal (durch Scambling), um eine gerade 1-Dichte zu erzeugen. ASYNC serial verfügt über eine eingebaute Vorspannung, die das Kabel auflädt und überwunden werden muss, damit am anderen Ende ein Signal ausgegeben wird.

Nur weil Sie mit 1 Gbit / s 145 m aus dem Ethernet herausholen können, bedeutet dies nicht, dass Sie das gleiche (oder sogar 1000-mal weniger) aus einem 3,3-V-TTL-Signal über dasselbe Kabel herausholen.

Ich empfehle die Verwendung eines differentiellen Signaltreibers wie RS422, wofür er entwickelt wurde. In der Tat ist RS422 aufgrund der differentiellen Signalisierung (RS232 ist Single-Ended) für lange Laufzeiten besser geeignet, obwohl eine niedrigere Spannung verwendet wird.
Außerdem tun die Treiber und Empfänger clevere Dinge, um die Qualität der Kanten zu verbessern, z. B. die Vorverstärkung.

Jason Morgan
quelle
Das OP hatte bereits 3 Stunden vor Ihrer Antwort erklärt, dass RS422-Transceiver keine Option sind.
Tcrosley
3
Ja ich kann lesen Ich kann trotzdem die richtige Lösung empfehlen. Nur weil das Plakat die Wahrheit nicht gerne hört, heißt das nicht, dass es nicht erzählt werden sollte.
Jason Morgan
2
Warum nennst du es die ganze Zeit TTL? Titel sagt 3.3V, also ist es definitiv nicht TTL. Der TTL-Antrieb verfügt über sehr asymmetrische Sink / Source-Fähigkeiten, während der HCMOS symmetrisch ist. Kann beim Fahren eines Kabels einen großen Unterschied machen.
stevenvh
Was ist "Pre-Emphase"?
m.Alin
Preemphasis ist eine Technik, bei der die Ansteuerungsstärke (dh die Ausgangsimpedanz) während des gesendeten Impulses moduliert wird. Es wird verwendet, um kapazitive und induktive Eigenschaften des Kabels und der Magnete zu kompensieren, um dem Empfänger Kanten mit besserer Qualität zu präsentieren.
Jason Morgan