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?
Antworten:
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.
quelle
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.
quelle