RS-Rückmeldebus: Unterschied zwischen den Versionen

aus DerMoba, der Wissensdatenbank für Modellbahner
Wechseln zu: Navigation, Suche
K (Links neu)
Zeile 7: Zeile 7:
 
==Allgemeines==
 
==Allgemeines==
  
Für Weichen-Signal- oder andere Rückmeldungen gibt es verschiedene Buslösungen zur Kabeleinsparung. Bekannt ist der S88-Rückmeldebus oder Loconet, Selectrix und RS-Bus. Der RS-Rückmeldebus ist eine proprietäre Lösung der Firma Lenz für ihre Zentralen LZ100/LZV100. Während die anderen Busse recht gut dokumentiert sind, ist der RS-Bus leider quasi unbeschrieben. Anfragen ergaben keine wesentlichen Informationen. Hier wird versucht, die wesentlichen Eigenschaften zu beschreiben.
+
Für Weichen-Signal- oder andere Rückmeldungen gibt es verschiedene Buslösungen zur Kabeleinsparung. Bekannt ist der [[S88-Rückmeldebus]] oder [[LocoNet]], Selectrix und RS-Bus. Der RS-Rückmeldebus ist eine proprietäre Lösung der Firma Lenz für ihre Zentralen LZ100/LZV100. Während die anderen Busse recht gut dokumentiert sind, ist der RS-Bus leider quasi unbeschrieben. Anfragen ergaben keine wesentlichen Informationen. Hier wird versucht, die wesentlichen Eigenschaften zu beschreiben.
  
 
Vorteile gegenüber dem S88-Bus liegen in der Übertragung von Information durch Stromfluß und nicht durch Spannungspegel wie bei S88. Dadurch ergibt sich eine deutlich geringere Einkopplungswahrscheinlichkeit. Zudem sind die Daten (im Gegensatz zu S88) mit einer Parity geschützt.  
 
Vorteile gegenüber dem S88-Bus liegen in der Übertragung von Information durch Stromfluß und nicht durch Spannungspegel wie bei S88. Dadurch ergibt sich eine deutlich geringere Einkopplungswahrscheinlichkeit. Zudem sind die Daten (im Gegensatz zu S88) mit einer Parity geschützt.  

Version vom 30. März 2008, 10:22 Uhr

Die nachfolgende Dokumentation wurde ausschließlich aus Messungen und Schaltungsanalysen gewonnen. Sie kann Fehler enthalten und erhebt keinen Anspruch auf Vollständigkeit.

Sie ist als Hilfsmittel zum Verständnis des RS-Busses bei der Fehlersuche zu verstehen. Korrekturen, Ergänzungen oder Fehlerhinweise sind ausdrücklich erwünscht.


Allgemeines

Für Weichen-Signal- oder andere Rückmeldungen gibt es verschiedene Buslösungen zur Kabeleinsparung. Bekannt ist der S88-Rückmeldebus oder LocoNet, Selectrix und RS-Bus. Der RS-Rückmeldebus ist eine proprietäre Lösung der Firma Lenz für ihre Zentralen LZ100/LZV100. Während die anderen Busse recht gut dokumentiert sind, ist der RS-Bus leider quasi unbeschrieben. Anfragen ergaben keine wesentlichen Informationen. Hier wird versucht, die wesentlichen Eigenschaften zu beschreiben.

Vorteile gegenüber dem S88-Bus liegen in der Übertragung von Information durch Stromfluß und nicht durch Spannungspegel wie bei S88. Dadurch ergibt sich eine deutlich geringere Einkopplungswahrscheinlichkeit. Zudem sind die Daten (im Gegensatz zu S88) mit einer Parity geschützt.

Nicht Gegenstand der Betrachtung ist die eigentliche Besetzt-/Rückmeldung sowie die interne Schaltung und Programmierung der Bausteine. Der im Ergebnis der Messungen konzipierte Baustein eines Rückmelders/Gleisbesetztmelders wurde praktisch aufgebaut und steht ggf. zur Verfügung.

Prinzip

Der RS-Bus ist ein reiner Meldebus, der im Mono-Masterbetrieb arbeitet. Die LZ100 bzw. gleichartige Zentralen arbeiten dabei als Master. Nachrichten der RM erfolgen nur nach dem Start und bei Änderungen, es wird jeweils der neue Zustand gemeldet.

Die Zentrale sendet 130 Pulse, jeder Rückmeldebaustein (RM) hört das Telegramm mit. Es ergibt sich eine Pulsfolge mit 130 Pulsen, mit ca. 109ms High und ca. 93ms Low sowie einer Pulspause von ca. 7ms. (s.a. Bild 3) Falls eine aktuelle Nachricht in einem RM bereit liegt, legt er diese nach dem Impuls, der seiner Adresse entspricht auf den Bus. Die Zentrale wartet bis zum Ende der Nachricht mit dem nächsten Impuls. Jede Antwort eines Bausteins umfasst 4 Bit (1 Nibble). Hat ein Rückmelder an seinen Eingänge Änderungen aus beiden Nibbles, so werden diese Nachrichten in 2 Zyklen übermittelt. Bausteine mit unterschiedlicher Adresse können während eines Zyklus ihre Nachricht senden. Eigentlich sind es also es immer zwei Vierfach-RM, die eine gemeinsame Adresse benutzen und nicht gleichzeitig senden können.


physikalische Realisierung

Alle der geprüften Bausteine, das sind

  • LR101 Fa. Lenz
  • RS8 Fa. Littfinski
  • GBM16 Fa. Blücher
  • LS100 Fa. Lenz (Decoder mit RM)

arbeiten mit der Zentrale LZ100/LZV100 der Fa. Lenz zusammen, die den RS-Bus definiert hat.


Bild 1: Prinzip Rückmelder

Die Teilnehmerschaltung bzw. Busankopplung ist bei diesen Firmen i.w. gleich gelöst und vom LR101 inspiriert. Kleinigkeiten, wie ein anderer Optokoppler (OK) oder die Verwendung einer stromregulierenden Diode anstelle einer Konstantstromquelle mit LM334 sind unwesentlich. Es gibt zwei Stromquellen, eine mit 3mA und eine mit ca. 20mA. Die 3mA Stromquelle wird zum Empfangen verwendet, die 20mA Stromquelle ist schaltbar und wird zum Senden verwendet. In Reihe zur 3mA Stromquelle liegt noch eine Z-Diode 5,6V. Aufgrund des Taktverhältnisses von ca. 50% ergibt sich ein Ruhestrom von etwa 1,6mA/RM.


Bild 2: Prinzip Zentrale

Die Zentrale enthält die Taktsende- und Auswertschaltung für den RS-Bus. Am Anschluss R wird +12V bereitgestellt. Der Anschluss S führt über einen Transistor T2 und Widerstände an Ground. Parallel dazu liegt ein Schalttransistor T1 direkt gegen Ground, der die 130 Sendepulse schaltet.


Alle RM-Bausteine liegen parallel an R und S. Bei ON des Taktsenders wird S auf Ground gezogen, es fließen dabei ca. 3mA/RM über T1. Wenn T1 abgeschaltet ist, dann muß der Strom über T2 und den Spannungsteiler R1, R2 fließen. T2 (in Basisschaltung) realisiert dabei zusammen mit R5, R6 einen Schwellwertschalter, der erst bei Spannungen über 6V an S einen nennenswerten Strom fließen lässt. Diese Spannung wird aber von der 3mA-Stromquelle wegen der nachgeschalteten Zenerdiode nicht erreicht. Daher reicht die Spannung über R2 nicht zum Durchsteuern von T3, welcher das Empfangssignal für den Prozessor in der Zentrale erzeugt.

Wenn ein RM eine Nachricht sendet, taktet er die 18mA-Stromquelle, die ohne Reihen-Z-Diode arbeitet. Dieser Strom erzeugt bei aktiviertem T2 an R2 einen Spannungsabfall, der T3 durchsteuert und somit einen Low-Puls für den Rückmeldeprozessor generiert. Während der Antwortzeit wird kein neuer Sendeimpuls durch die Zentrale erzeugt. Erst nach Ende der 9-Bit-Antwort wird der nächste Taktimpuls gesendet.

Durch die bei allen RM realisierte Schaltung mit Optokopplern ist eine galvanische Trennung der RM untereinander und von der Zentrale gesichert.

Dies darf durch eine gemeinsame Stromversorgung nicht aufgehoben werden. Da die verschiedenen Typen von RM unterschiedliche Bezugspotentiale erzeugen, die LZ wieder ein anderes, können Bausteine zerstört werden.

Startverhalten/ Anmeldung

Die LZ100 gibt nach dem Einschalten einen Puls ca. 88ms mit nachfolgender Pause ca. 562ms aus. Gleiches gilt nach Störungen. In dieser Zeit können die RM ihre Einstellungen zurücksetzen und sich nach Beginn der normalen Pulstelegramme anmelden.

Die getesteten Bausteine

  • der LR101 (Lenz)
  • der RS8 (Littfinski)
  • der GBM16 (Blücher

senden Ihre Anmeldung sofort nach dem Start. Die Anmeldung eines RM ist jedoch auch später zu beliebigen Zeiten möglich.

Ein Baustein meldet sich an, indem er in 2 aufeinanderfolgenden Pulstelegrammen ein gültiges unteres und oberes Nibble sendet. Ein Senden der Nibbles in nicht aufeinanderfolgenden Zyklen oder z.B. 2 untere oder obere Nibbles führen nicht zur Anmeldung. Eine Abmeldung gibt es nicht. Jede Nachricht, die zum Zeitpunkt eines angemeldeten RM’s eintrifft, wird dessen Adresse zugeordnet. Sendet ein nicht angemeldeter RM eine Nachricht, wird die Pulsfolge der LZ100 nicht gestoppt, wie sonst bei angemeldeten RM.

Codierung/Protokoll

Die Nachricht eines Rückmelders wird mit 4800bit/s gesendet. Sie besteht aus 8 Bit Nutzdaten:

  • Startbit (0)
  • Parität (even)
  • 2 TT-Bits (bei Rückmelder: 10)
  • Nibblebit (0 = unteres Nibble, 1=oberes Nibble)
  • 4 Datenbits D3, D2, D1, D0
  • Stopzustand (RM wieder passiv)

Hierbei steht D3...D0 für Eingang E1...E4 bzw E5...E8. Eine 1 entspricht Kontakt geschlossen, also eigentlich Pegel Low! Bit 5 und 6 sind die TT-Bits. Sie enthalten die Kennung des Rückmelders. Sie stehen in einem anderen Zusammenhang in der Lenz-Dok.:

  • 00 - Schaltempfänger ohne Rückmeldung
  • 01 - Schaltempfänger mit Rückmeldung
  • 10 - Rückmelder
  • 11 - reserviert für zukünftige Anwendungen

Es ist hier nicht nachzuvollziehen, warum eine so exotische Codierung gewählt wurde. Die TT- Bits stellen keine relevante Information dar. Es ist nur zu vermuten, dass es aus historischen Gründen (Nibble-Infos) so ist, da uralte mC keine (8 bit + Parität)- Telegramme ausgeben konnten. Außerdem sind die Ansprüche an die Genauigkeit der Taktfrequenz bei kurzen asynchronen Bitfolgen geringer. Im Ergebnis heißt es also, dass letztlich nur 4 Bit je Nachricht ausgegeben werden können. Eine Meldung über dieses Nibble sagt absolut nichts über das andere Nibble aus, dessen Nachricht erfolgt völlig unabhängig, jedoch immer in einem anderen Zyklus. Diese sind dann folgendermaßen codiert(bei RM!):

P, 1(T), 0(T), Nibble, D3, D2, D1, D0

P wird zuerst gesendet, D0 zuletzt, im Unterschied zu üblichen UART’s. Innerhalb eines Nibbles ist es also möglich, Mehrfachinfos zu senden, z.B. Eingang 1 und 3 aktiv (.. 0), das ergibt 001000101, nicht jedoch Informationen zu verschiedenen Nibbles. Diese müssen als 2 Nachrichten auf 2 Zyklen verteilt werden.

Bild 3: RS-BUS: Pulsfolge

Im Ergebnis heißt es also:

  • verschiedene Melder können in einem Zyklus empfangen werden
  • unteres/oberes Nibble eines Melders benötigen 2 Zyklen


Leider entfällt somit die Möglichkeit, kleine, verteilt angeordnete 4er RM-Bausteine zu realisieren, wenn man den Adressraum lückenlos belegen will. Diese müssten sich immer mit dem RM, der das andere Nibble gleicher Adresse überwacht, synchronisieren. Nur bei Verzicht auf je 4 Eingänge wäre ein 4er Aufbau denkbar, aber nicht besonders sinnvoll, da der Unterschied zum 8er-RM nur noch in einigen passiven Bauteilen liegt, die wenige Cents kosten.

Die Grafik zeigt oben die Pulsfolge RS-Bus ohne Antwort (130 Pulse 202µs + Pause 7ms), unten die Pusfolge (Ausschnitt) mit Antwort des RM.

Meldungen (Beispiele)

Meldungen sind wie folgt codiert:

St, Pe, T1, T0, N, D3, D2, D1, D0
St - Startbit (Low)
Pe - Parität (even)
T1 - T1, fest High bei RM (feedback module)
T0 - T0, fest Low bei RM
N - Nibble (0 für unteres, 1 für oberes Nibble)
D3 - für E4 bzw E8
D2 - für E3 bzw E7
D1 - für E2 bzw E6
D0 - für E1 bzw E5

wobei Eingang geschlossen (=low) einer 1 entspricht. Eine Meldung beschreibt ausschließlich ein Nibble, bei gleichzeitigen Änderungen in beiden Nibbles werden zwei Meldungen generiert.

Einige Beispiele:

Nr. St Pe 1 0 N D3 D2 D1 D0 Bedeutung
1 0 0 1 0 0 0 0 0 0 E1, E2, E3, E4 passiv
2 0 1 1 0 0 0 0 0 1 E1 aktiv, E2..E4 passiv
3 0 1 1 0 0 0 0 1 0 E2 aktiv, E1, E3, E4 passiv
4 0 0 1 0 0 0 1 0 1 E1 u. E3 aktiv, E2 u. E4 passiv
5 0 0 1 0 1 0 0 0 1 E5 aktiv, E6, E7, E8 passiv
6 0 0 1 0 1 1 0 0 0 E8 aktiv, E5, E6, E7 passiv
7 0 1 1 0 1 0 0 0 0 E8 wieder passiv
8.1 0 1 1 0 0 0 0 0 1 2 Meldungen: E1 aktiv und ...
8.2 0 0 1 0 0 0 0 1 0 ... E6 aktiv, Rest passiv
9 0 0 0 1 1 0 0 1 0 LS100A1- (E6) aktiv, Rest passiv




Peter Schneider 09.02.2007