Kommunikation über die RS485-Schnittstelle

  • Wenn es darum geht, kostengünstig Messgeräte miteinander zu vernetzten, ist die RS485-Schnittstelle mit Modbus-RTU-Protokoll nach wie vor das Maß der Dinge. Der einfache Topologieaufbau, die Unempfindlichkeit gegen EMVStörungen und das offene Protokoll zeichnen die Kombination RS485 mit Modbus-RTU-Protokoll schon seit Jahren aus. Der komplette Name des RS485- Standards ist TIA / EIA-485-A. Die letzte Revision war im März 1998 und der Standard wurde im Jahr 2003 ohne Änderungen bestätigt. Der Standard definiert nur die elektrischen Schnittstellenbedingungen der Sender und Empfänger, sagt jedoch nichts über die Topologie bzw. über die zu verwendenden Leitungen aus. Diese Informationen findet man entweder in der TSB89 „Application Guidelines for TIA / EIA-485-A“ oder in den Applikationsbeschreibungen der RS485-Treiberbaustein-Hersteller wie z. B. Texas Instruments oder Maxim. Gemäß OSI-Modell (Open Systems Interconnection Reference Model)* wird nur der „physikalische Layer“, nicht jedoch das Protokoll beschrieben. Das verwendete Protokoll darf frei gewählt werden, wie z.B. Modbus RTU, Profibus, BACnet etc. Die Kommunikation zwischen Sender und Empfänger erfolgt leitungsgebunden über eine geschirmte, verdrillte Leitung „Twisted Pair Kabel“. Hierbei sollte immer nur ein Leitungspaar für A und B verwendet werden (Abb.: Bild 1a). Ist die Schnittstelle nicht galvanisch getrennt, ist zudem der Common- Anschluss mitzuführen (Abb.: Bild 1b). Dazu später mehr.

  • Die Übertragung der Daten erfolgt durch einen differenziellen, seriellen Spannungspegel zwischen den Leitungen [A] und [B]. Da Daten auf den Leitungen zwischen Sender und Empfänger übertragen werden, spricht man auch von Halbduplex oder Wechselbetrieb. Jeder Empfänger oder Sender hat einen invertierten und nicht-invertierenden Anschluss. Die Übertragung der Daten erfolgt symmetrisch. Das heißt, hat eine Leitung ein „High“-Signal, hat die andere Leitung ein „Low“-Signal. Leitung A ist somit der Komplementär von B und umgekehrt. Der Vorteil der Messung der Spannungsdifferenz zwischen A und B ist, dass Gleichtaktstörungen weitestgehend keinen Einfluss haben. Eine eventuelle Gleichtaktstörung wird auf beiden Signalleitungen annähernd gleichmäßig eingekoppelt, und durch die Differenzmessung haben sie somit keinen Einfluss auf die zu übertragenden Daten. Der Sender (Driver) erzeugt eine differenzielle Ausgangsspannung von mindestens 1,5 V an 54 Ohm Last. Der Empfänger (Receiver) hat eine Empfindlichkeit +/-200 mV (Abb. Bild 2).

  • Der Zustand Logik ist hierbei wie folgt (Abb. Bild 3):

    A–B < 0,25 V = Logisch 1
    A–B > 0,25 V = Logisch 0

    Die Kennzeichnung der Anschlüsse A / B ist oft nicht einheitlich. Was bei einem Hersteller A ist, kann beim nächsten Hersteller B sein. Warum ist das so?

    Die Definition sagt:

    A = „-“ = T x D- / R x D - = invertiertes Signal
    B = „+“ = T x D + / R x D + = nicht-invertiertes Signal

    Es wird zudem eine dritte Leitung „C“ = „Common“ angegeben. Diese Leitung ist für den Referenz-Ground.
    * Open Systems Interconnection Reference Model (OSI): Driver = Sender; Receiver = Empfänger; Transceiver = Sender / Empfänger

    Einige RS485-Chip-Hersteller wie Texas Instruments, Maxim, Analog Devices usw. verwenden aber seit Beginn eine andere Bezeichnung, welche mittlerweile ebenfalls üblich ist:

    A = „+“ = T x D + / R x D + = nich-invertiertes Signal
    B = „-“ = T x D - / R x D - = invertiertes Signal

    Aufgrund dieser Verwirrung haben einige Gerätehersteller ihre eigene Bezeichnung eingeführt:

    D+ = „+“ = T x D + / R x D + = nicht-invertiertes Signal
    D- = „-“ = T x D - / R x D - = invertiertes Signal

    Durch die Bezeichnung [+] und ­ nach dem Buchstaben [D] ist klar ersichtlich, welche Leitung das invertierte und das nicht-invertierte Signal darstellt.

    Janitza electronics GmbH verwendet hauptsächlich Transceiver ICs von Texas Instruments, Analog Devices oder Maxim. Aus diesem Grund haben alle unsere Messgeräte die folgende Bezeichnung:

    A = „+“ = T x D + / R x D + = nicht-invertiertes Signal
    B = „-“ = T x D - / R x D - = invertiertes Signal

  • Abb.: Bild 3

Die Spannungen werden in den Datenblättern wie folgt definiert:

Die Spannung VCM

Die Spannung VCM (Common- mode Voltage) ist die Summe der GND-Potenzial- Differenzen zwischen den RS485 Teilnehmern (Abb.: Bild 5), der Treiber Offset Spannung und der Gleichtaktstörspannung (Vnoise), welche auf die Busleitung wirkt. Die RS485-Treiber-Hersteller geben für VCM einen Spannungsbereich von -7 bis 12 V an. Bei Kommunikationsproblemen wird dieser Spannungsbereich, bedingt durch Potenzialdifferenzen zwischen Sender und Empfänger, häufig verletzt, wenn die Schnittstelle nicht galvanisch getrennt aufgebaut ist bzw. keine Common-Leitung existiert. Bild 6 zeigt die Berechnung der „Common mode“-Spannung.

  • Abb.: Bild 5

  • Abb.: Bild 5.1

  • Abb.: Bild 6

  • Abb.: Bild 6.1

VGPD (Ground potential differences)

VGPD ist hierbei die Potenzialdifferenz zwischen Sender und Empfänger GND (PE). Potenzialdifferenzen zwischen den Anschlüssen (Erdungen) entstehen oft bei großer räumlicher Ausdehnung des RS485-Busses. Diese Potenzialdifferenzen entstehen gerade bei älteren Elektroinstallationen, da oft kein vermaschter Potenzialausgleich existiert. Ferner kann gerade bei Blitzeinwirkung die Potenzialdifferenz zwischen den PE-Anschlüssen in den Verteilungen Hunderte oder Tausende von Volt annehmen. Auch unter Normalbedingungen können Potenzialdifferenzen von einigen Volt, bedingt durch Ausgleichströme der Verbraucher, existieren. Vnoise (common mode noise) ist eine Störspannung, die folgende Gründe haben kann:

  • Durch ein Magnetfeld induzierte Störspannung auf die Busleitung
  • Kapazitive Kopplung bei Anlagenteilen, die nicht galvanisch getrennt sind („parasitäre Kapazitäten“)
  • Galvanische Kopplung
  • Strahlungskopplung
  • Elektrostatische Entladungen
  • Abb.: Bild 7

  • Abb.: Bild 8

Bustopologie

Der Bus ist „multipointfähig“, und ohne Repeater können bis zu 32 Teilnehmer angeschlossen werden. Die beste Netzwerk Topologie ist dabei „Daisy chain“. Das heißt, das Buskabel geht direkt von Slave zu Slave.

Zu beachten ist, dass Stichleitungen generell zu vermeiden sind. Stichleitungen verursachen Reflexionen auf dem Bus. Theoretisch könnte je nach verwendetem Transceiver zwar eine mögliche Stichleitung berechnet werden, dies ist aber in der Praxis zu aufwendig. Die Länge einer möglichen Stichleitung hängt stark von der Signalanstiegszeit des verwendeten Transceivers ab und sollte kleiner als 1/10 der Signalanstiegszeit des Drivers sein. Je höher die möglichen Baudraten des Transceivers, desto kleiner sind die Signalanstiegszeiten des Drivers. Das heißt, man benötigt Kenntnisse darüber, welcher IC bei den Busteilnehmern verbaut wurde. Zudem fließt die Signalgeschwindigkeit des Kabels in die Berechnung ein. Aus diesem Grund sollte man generell Stiche vermeiden.

Terminierung

Eine weitere Ursache für Kommunikationsstörungen sind Bus-Reflexionen. Eine Reflexion entsteht, wenn das Sendersignal nicht komplett von der Last absorbiert wird. Die Quellenimpedanz sollte der Lastimpedanz und dem Leitungswellenwiderstand entsprechen, da hierdurch die volle Signalleistung erreicht wird und nur minimale Reflexionen entstehen. Die serielle Kommunikation der RS485-Schnittstelle arbeitet am effizientesten, wenn Quell- und Lastimpedanz mit 120 Ohm abgestimmt sind. Der RS485- Standard empfiehlt aus diesem Grund eine Busleitung mit einem Leitungswellenwiderstand von Z0 = 120 Ohm. Damit Reflexionen auf dem Bus vermieden werden, muss die Busleitung am Anfang und am Ende mit einem Abschlusswiderstand versehen werden, der dem Leitungswellenwiderstand entspricht.

„Failsafe Bias“-Widerstände

Wenn sich die Receiver-Eingänge im Bereich von -200 mV bis + 200 mV befinden, ist der Ausgang des Empfängerbausteins unbestimmt, d.h., eine Auswertung des RS485-Signals kann nicht stattfinden.

Unter folgenden Bedingungen ist das der Fall

  • Kein Sender ist aktiv
  • Die Busleitung ist unterbrochen worden (z.B. Leitungsbruch)
  • Die Busleitung ist kurzgeschlossen (z.B. Leitung beschädigt etc.)

Der RS485-Bus muss unter diesen Bedingungen in einen definierten Signalzustand gebracht werden. Einige Kommunikationsbusse haben diese Probleme nicht, da hier z.B. nur ein Sender existiert, welcher die Leitung steuert. Entweder der Sender ist aktiv oder eben nicht. Beim RS485-Bus, da multipointfähig, können aber mehrere Sender angeschlossen werden.

Damit der Signalzustand unter den obigen Bedingungen eindeutig wird, verwendet man in der Regel einen „Pull up“-Widerstand zwischen +5 V und der Signalleitung A und einen „Pull down“-Widerstand zwischen GND und der Signalleitung B. Die Widerstände sind theoretisch an einer beliebigen Stelle im Bus platzierbar, werden aber in der Regel beim Master in einem Spannungsteilerverbund mit Abschlusswiderstand eingesetzt, da es hierfür fertige Stecker gibt.

Bei einigen Herstellern findet man in der Regel nur die Empfehlung, einen Abschlusswiderstand am Anfang und am Ende einzubauen, damit Reflexionen vermieden werden (siehe Abschnitt Terminierung bzw. Busaufbau UMG 604 mit UMG 103). Warum ist das so?

In diesem Fall haben die Hersteller für die RS485-Schnittstelle Transceiver verwendet, die bereits einen internen Failsafe Bias im Chip eingebaut haben, d.h., bei z.B. 0 V am Receiver-Eingang hat der Ausgang automatisch einen logischen „High“-Zustand. Bei Maxim (wie im UMG 604 und UMG 103 eingesetzt) heißt die Funktion „True fail-safe“. Ein externer Failsafe Bias ist dann nur noch notwendig, wenn am gleichen Bus Teilnehmer angeschlossen werden, die diese Funktion nicht besitzen. Die Buslast wird im Übrigen durch die „True fail-safe“-Funktion nicht beeinflusst.

Der „Common-Anschluss“ bzw. „galvanisch getrennt“

Die Busteilnehmer beziehen ihre Versorgungsspannung in der Regel aus unterschiedlichen Bereichen der Elektroinstallation. Gerade bei älteren Elektroinstallationen können so erhebliche Potenzialdifferenzen zwischen den Erdungen bestehen. Für eine fehlerfreie Kommunikation darf sich die Spannung Vcm aber nur im Bereich von -7 bis +12 V bewegen, d.h., die Spannung VGPD (Ground potential differences) muss möglichst klein sein (Bild 11 a, Bild 5). Ist die RS485-Schnittstelle nicht galvanisch von der Versorgungsspannung getrennt aufgebaut, muss der Common-Anschluss mitgeführt werden (Bild 11 b). Durch die Verbindung der Common-Anschlüsse kann allerdings eine Stromschleife entstehen, d.h., es fließt ohne eine zusätzliche Maßnahme ein hoher Ausgleichstrom zwischen den Busteilnehmern und der Erdung. Dies wird in der Regel von den Entwicklern dadurch verhindert, dass der GND der RS485- Schnittstelle durch einen 100-Ohm-Widerstand von der Erdung entkoppelt wird (Bild 11 c).

Eine bessere Alternative ist die galvanische Trennung der RS485-Schnittstelle von der Versorgungsspannung durch einen internen DC/DC-Konverter und einen Signal-Isolator. Potenzialdifferenzen in der Erdung haben somit keinen Einfluss auf das Signal. Das Differenzsignal „floatet“ somit. Noch besser ist die galvanische Trennung der RS485-Schnittstelle in Kombination mit einem Common-Anschluss.

Bild 12 zeigt einen Mischbetrieb zwischen Teilnehmern mit galvanisch getrennter und galvanisch nicht getrennter Schnittstelle. Die Teilnehmer mit galvanisch getrennter RS485 haben im Beispiel keinen Common-Anschluss. In diesem Fall ist darauf zu achten, dass die Common-Anschlüsse der Teilnehmer miteinander verbunden werden. Trotzdem kann es zu Kommunikationsstörungen aufgrund von EMV-Koppelkondensatoren kommen. Dies hat zur Folge, dass die nicht galvanisch getrennten Teilnehmer das Signal nicht mehr interpretieren können. In diesem Fall muss der Bus getrennt und zwischen den Teilnehmerkreisen eine zusätzliche galvanische Kopplung integriert werden.

Hinweis: Die Schirmung darf auf keinen Fall an den Common-Anschluss der RS485-Schnittstelle angeschlossen werden. Hierdurch würden Störungen direkt in den GND der RS485 Transceiver eingekoppelt werden.