RS-422 im Vergleich zu RS-485
RS-422 ist ähnlich zu RS-485, aber RS-422 erlaubt nur einen einzigen Tx auf dem Bus und maximal zehn Rx. Diese Single-Tx-/Multiple-Rx-Konfiguration wird auch Multi-Drop- oder Broadcast-Modus genannt. Die Beschränkung auf einen Treiber erübrigt einen Tx-Enable-Anschluss, wodurch die Terminierung mit nur einem 120-Ω-Widerstand erfolgen kann. Dabei sind Vollduplex-Transceiver oder getrennte Rx- und Tx-ICs erforderlich. RS-422 ist ein wesentlich einfacheres Netzwerk als RS-485.
Der RS-485-Empfänger (Rx)
Ein Standard RS-485-Rx erkennt jede Differenzspannung (Pin A – Pin B) über +200 mV als logische 1 und jede Differenzspannung unter –200 mV als logische 0. Diese Eingangsschwellenwerte müssen über einen breiten CMR (–7 bis +12 V) eingehalten werden. Jede Rx-Eingangsspannung zwischen –200 und +200 mV (z.B. 0 V Differenz) ist unbestimmt. Das große Delta zwischen der (±1,5 V) Differenzausgangsspannung (UOD) des Treibers und der (±200 mV) Schwelle des Empfängers sorgt für eine hohe Störimmunität und ermöglicht es, mit der Dämpfung durch lange Leitungen umzugehen. Der Standard erlaubt 32 Einheitslasten (UL) am Bus, wobei 1 UL als Baustein definiert ist, der nicht mehr als 1 mA Strom am Bus mit +12 V gegen Masse zieht.
Der RS-485-Sender (Tx)
Der Standard RS-485-Tx ist ein Treiber mit differenziellen Ausgängen, der mindestens 1,5 V Differenzspannung (VOD) an einer differenziellen Last (54 Ω) bereitstellt. Die 54-Ω-Last ergibt sich aus den maximal zwei erlaubten 120-Ω-Abschlusswiderständen parallel zu 32 1UL-Empfängern. RS-485-ICs enthalten typischerweise Treiber mit Flankensteilheit am Ausgang, die eine zwei- bis dreifache Datenrate abdecken. Für niedrigere Datenraten kann ein Baustein mit begrenzter Flankensteilheit verwendet werden, um elektromagnetische Störungen (EMI) zu minimieren. Dies verringert auch die Auswirkungen fehlerhaft oder mangelhaft angepasster bzw. abgeschlossener Übertragungsleitungen.
Einfache RS-485-Transceiver
In kurzen, einfachen und mit wenigen Knoten versehenen Netzwerken können meist kostengünstige RS-485-Transceiver verwendet werden. Kurze Netzwerke nehmen nicht viel Gleichtaktspannung (CMV) auf und benötigen daher nicht mehr CMR, als der RS-485-Standard vorschreibt. Auch der Überspannungsschutz (OVP) kann im Rahmen des Standards bleiben. Einfache Netzwerke mit bis zu 32 Knoten benötigen auch keine anteiligen Einheitslasten (Fractional UL wie zum Beispiel ½, ¼ oder ⅛ Unit Load), und wenn die Leitungen nicht regelmäßig verbunden und getrennt werden, ist auch kein Schutz gegen ESD erforderlich. Trotzdem bieten einige einfache Bausteine einen ESD-Schutz von ±8 bis ±15 kV (nach Human Body Model, kurz HBM). RS-422-Netzwerke weisen einen einzelnen, stets aktivierten Treiber auf. Der Bus wird damit ständig angesteuert, und eine Biasing ist nicht erforderlich. Ist der Bus elektrisch kurz und muss demnach nicht als Übertragungsleitung angesehen werden, oder ist die Datenrate sehr niedrig, sind keine Abschlusswiderstände erforderlich, und einfache RS-485-Transceiver reichen aus. Es können jedoch Probleme auftreten, wenn Abschlusswiderstände für Multi-Treiber-RS-485-Systeme erforderlich sind.
Was passiert, wenn sich der Bus im Leerlauf befindet (kein Tx steuert den Bus aktiv an), wie es beim Schalten zwischen Tx auf dem Bus auftritt (Bild 2)? Weil alle Tx am Bus drei Zustände aufweisen, bringen die differenziellen Abschlusswiderstände die Busspannung auf fast 0 V, was, wie schon beschrieben, einen unbestimmten Spannungspegel darstellt. Mit dieser Spannung auf dem Bus kann ein einzelner Rx seinen Ausgang (Ro) auf eine 1 oder eine 0 ansteuern oder im schlimmsten Fall oszillieren. Das ist problematisch, da der Mikrocontroller (µC), der Ro überwacht, jeden Übergang von 1 auf 0 als Nachrichten-Startbit interpretiert und ein oszillierender Ro wertvolle µC-Bandbreite verbraucht, da dieser versucht, einen endlosen Strom an Phantom-Nachrichten zu verarbeiten.
Die gängige Lösung bei diesem Problem bestand darin, ein Netz von Biasing-Widerständen hinzuzufügen (Bild 3). Die Pull-up- und Pull-Down-Widerstände verändert die differenzielle Busspannung um einige wenige +100 mV, was eine logische 1 garantiert, wenn sich der Bus im Leerlauf befindet. Dieser Ansatz verkompliziert jedoch das Design, weil eine Abwägung zwischen der Bus-Leerlaufspannung (Störimmunität) und der Tx-Last erfolgen muss. Zudem wird ein Gleichstrompfad von Ucc gegen Masse eingeführt. Um die minimale +200mV-DC-Bias-Spannung (null Rauschabstand) über 60 Ω (zwei parallele Abschlusswiderstände) zu erhalten, sind 3,33 mA erforderlich. Bei einer 3,3-V-Versorgung sind somit Bias-Widerstände mit einem Wert von je 470 Ω nötig, was eine ziemlich große Last darstellt. Diese zusätzliche Tx-Last kann die erlaubte Anzahl von Transceivern auf dem Bus erheblich verringern.