RS422 / RS485 Treibermodule

Der RS422 und RS485 Standard

Die RS422 ist eine differentielle Schnittstelle mit Signalpegeln bis zu +/-5V. Jedes Signal wird dabei auf 2 Leitungen mit komplementären Pegeln übertragen. Der logische Zustand wird am Empfänger aus der Differenz zwischen den beiden Leitungen A und B bestimmt.

RS485 unterscheidet sich von RS422 im wesentlichen nur durch die Möglichkeit, die Ausgangstreiber in einen hochohmigen Zustand zu schalten. Dadurch kann man mehrere Transmitter an einem gemeinsamen Bus betreiben.

Die RS422/RS485 ist gegen Gleichtaktstörungen unempfindlich. Störspannungen bis zu ca. +/-5V werden toleriert. Damit ist z.B. auch eine Verkabelung zwischen Räumen mit differierendem Erdpotential möglich. Bei korrekter Anwendung ist die RS422/RS485 erheblich störsicherer als die RS232.

Terminierung

Die RS422 funktioniert bei geringer Kabellänge und kleinen Datenraten ohne Terminierung durch eine Abschlussimpedanz. Für lange Kabel (ab ca. 50cm) oder hohe Datenraten (mehr als 19200Baud) wird eine Terminierung durch einen Lastwiderstand wichtig. Die Widerstände R1 und R2 können dafür eingesetzt werden.

Um die Stromaufnahme im Ruhezustand zu minimieren und illegale Pegel bei der RS485 im hochohmigen Zustand 1 zu verhindern, ist eine symmetrische Terminierung mit zwei Widerständen jeweils nach GND und nach VCC alternativ zum Lastwiderstand vorgesehen. Die vier dafür notwendigen Widerstände sind im RN1 enthalten. Das Netzwerk hat 8 Pins und enthält 4 getrennte Widerstände.

Der Wert der Widerstände hängt vom verwendeten Kabel ab. Die Impedanz der Terminatorwiderstände auf Transmitter- und Receiverseite muss möglichst genau der Impedanz des verwendeten Kabels entsprechen. In der Praxis liegt die Untergrenze bei ca. 70Ohm. Typische Impedanzen von Flachkabeln liegen bei 100Ohm bis 150Ohm. Abgeschirmte Kabel liegen meist bei ca. 75Ohm. Die Impedanz des Terminatornetzwerks ergibt sich aus der Parallelschaltung der drei Widerstände.

Beim Betrieb des IF485OC in einem der Partyline Modes muss eine symmetrische Terminierung verwendet werden.

Default Terminatoren

Auf den ausgelieferten Modulen ist ein Terminatornetzwerk mit typisch 560Ohm gesteckt. Der 100Ohm Terminator zwischen den differentiellen Signalleitungen ist nicht bestückt. Diese Terminierung ist auf mässige Stromaufnahme mit relativ kurzen Kabeln im Bereich um einige Meter optimiert. Längere Kabel und bessere Anpassung an das verwendete Kabel erfordert eine Optimierung der Terminatorimpedanz.

Konfiguration

Das IF485LC Modul erlaubt nur die Auswahl von Half- und Fullduplexbetrieb. Werksseitig ist Fullduplex selektiert. Die Konfiguration wird mit einer Kurzschlussbrücke auf J1 selektiert. Dabei sind folgende Modes möglich:

Mode Einstellung Funktion
Halfduplex J1:2 mit J1:3 gebrückt Halfduplexbetrieb
Fullduplex J1:1 mit J1:2 gebrückt Fullduplexbetrieb

Beim IF485OC Modul wird der Betriebsmode mit drei Kurzschlussbrücken auf drei 3pol. Pfostensteckern (J2... 4) selektiert. Werksseitig ist der Mode 0 selektiert.

Mode J4 J3 J2 Funktion
01-21-21-2Fullduplex Punkt zu Punkt
11-21-22-3Fullduplex Partyline
21-22-31-2Fullduplex (DTR* = 1 gibt TxD frei) 2
31-22-32-3Fullduplex (DTR* = 0 gibt TxD frei)
42-31-21-2reserviert
52-31-22-3Halfduplex Partyline
62-32-31-2Halfduplex (DTR* = 1 gibt TxD frei) 3
72-32-32-3Halfduplex (DTR* = 0 gibt TxD frei)

Die Partyline Modes erlauben die kurzschlussfreie Verbindung von Sendern an einer Leitung. Ein explites Freigeben des Senders mit DTR* entfällt. Davon abgesehen ist der Partyline Betrieb äquivalent zu den Modi mit DTR* Steuerung.

Transmitter Enable

Der Transmitter wird mit dem Signal DTR* in den hochohmigen Zustand geschaltet. Dabei haben High- und Lowpegel folgende Bedeutung:

Modul Mode Pegel Aktiv Funktion
IF485LC-LowaktivSender abgeschaltet
IF485LC-HighinaktivSenden möglich
IF485OC2/6LowaktivSender abgeschaltet
IF485OC2/6HighinaktivSenden möglich
IF485OC3/7HighinaktivSender abgeschaltet
IF485OC3/7LowaktivSenden möglich

Die Modes 2/6 und die Modes 3/7 beim IF485OC unterscheiden sich nur durch das inverse Aktivpotential von DTR*. Neben dem vollen An- und Abschalten über DTR* kann auch mit den Modes 1 und 5 ein Partyline Betrieb selektiert werden. Eine Partyline funktioniert etwa wie ein Open Collector Bus, wobei der Low Pegel auf den Datenleitungen aktiv getrieben wird.

Konfigurationen

Punkt zu Punkt Verbindung im Fullduplexbetrieb:

Diagram

Diese Betriebsart erlaubt die Verbindung von 2 Partnern im Fullduplexbetrieb ähnlich einer RS232.

Beim IF485LC muss der Fullduplexmode selektiert werden. Der Transmitter muß immer freigeschaltet sein. Dazu muß DTR* inaktiv sein.

Beim IF485OC wird der Mode 0 selektiert. Der Pegel an DTR* ist irrelevant.

Halfduplex Bussystem:

Diagram

Die Teilnehmergeräte sind alle gleichberechtigt. Je nach verwendetem Protokoll mögliche Kollisionen können über das Rücklesen der gerade gesendeten Daten erkannt und aufgelöst werden. Der Receiver ist immer aktiv, d.h. alle Daten auf dem Bus werden immer empfangen - auch wenn der Rechner selbst sendet.

Der jeweils aktive Teilnehmer kann nach Deaktivieren von DTR* senden. Alle anderen Teilnehmer sind empfangsbereit und signalisieren dies dem Treibermodul über DTR* aktiv. Beim IF485OC kann auch der Mode 5 (Half Duplex Partyline) verwendet werden. Die explizite Sendekontrolle per DTR* entfällt dann.

Beim IF485LC muß der Halfduplex Mode selektiert werden. Beim IF485OC wird der Mode 5, 6 oder 7 selektiert.

Master/Slave Bussystem:

Diagram

Der Master ist immer sendeberechtigt - alle Slaves empfangen nur die vom Master gesendeten Daten. Es darf immer nur ein Slave zu einem bestimmten Zeitpunkt senden. Die Freischaltung zum Senden in den Slaves und im Master erfolgt ebenfalls über das Deaktivieren von DTR*. Beim IF485OC kann durch Verwendung des Mode 1 (Fullduplex Partyline) auf eine explizite Sendekontrolle verzichtet werden.

Die Konfiguration dieses Modes erfolgt wie beim Fullduplexbetrieb beschrieben.

Nullmodem für Fullduplexbetrieb

Ein Nullmodemkabel zwischen zwei IF485LC Modulen kann entsprechend folgenden Regeln gebaut werden:

Die im Bild vorgeschlagenen Farben dienen nur der Orientierung. Es ist ein minimal 5pol. Kabel nötig. Eine Abschirmung erhöht die Sicherheit gegen Störeinstreuungen und kann z.B. mit Pin 2 verbunden werden. Erdschleifen sind normalerweise vollkommen harmlos, solange nicht durch grosse Verbraucher starke Potentialdifferenzen auftreten.

Diagram

Belegung des RS485 Steckverbinders

9pol. Sub-D Stecker:

Pin Name Name Pin
1nc  
  nc6
2GND  
  GND7
3TxDB  
  TxDA8
4RxDB  
  RxDA9
5GND  
nc: No Connection - unbenutzt
GND: Referenz
TxDA: Transceiver Data A - nicht invertierend
TxDB: Transceiver Data B - invertierend
RxDA: Receiver Data A - nicht invertierend
RxDB: Receiver Data B - invertierend

IF485OC GAL-Gleichungen

  PLD16V8  ; IF485OC Mode Selector V0.01

   CLK ENABLE RECEIVE NC4  REC1 REC2 M0       M1   M2   GND
  /OE  NC12   TRA2    ENA2 TRA1 ENA1 TRANSMIT NC18 NC19 VCC

  TRANSMIT.OE = VCC
  TRANSMIT    = M2*REC1+/M2*REC2
  TRA1.OE     = VCC
  TRA1        = M1*RECEIVE+/M0*RECEIVE
  ENA1.OE     = VCC
  ENA1        = /M2*/M1*/M0
                   +/M1* M0* RECEIVE
                   + M1*/M0* ENABLE
                   + M1* M0*/ENABLE
  TRA2.OE     = VCC
  TRA2        = GND
  ENA2.OE     = VCC
  ENA2        = GND

  DESCRIPTION

  M[2..0] # Function
  ------- - --------------------------------------
  0 0 0   0 Full Duplex point to point (default)
  0 0 1   1 Full Duplex DTR=X open coll. partyline
  0 1 0   2 Full Duplex DTR=1 enables transmitter
  0 1 1   3 Full Duplex DTR=0 enables transmitter
  1 0 0   4 rsvd
  1 0 1   5 Half Duplex DTR=X open coll. partyline
  1 1 0   6 Half Duplex DTR=1 enables transmitter
  1 1 1   7 Half Duplex DTR=0 enables transmitter

1 Wenn bei Halfduplexbetrieb oder bei Buskonfigurationen kein Gerät den Transmitter aktiviert hat, wird durch einen einfachen Abschlußwiderstand die Differenzspannung 0V erzeugt. Dieser Pegel ist illegal (weder 0 noch 1) und tendiert dazu, die Receiver zu Oszillationen und Rauschen zu animieren.
2 Dieser Mode des IF485OC entspricht dem Fullduplexbetrieb des IF485LC
3 Dieser Mode des IF485OC entspricht dem Halfduplexbetrieb des IF485LC

www.mct.de