RS-Rückmeldebus: Unterschied zwischen den Versionen
(→Codierung/Protokoll) |
K (→Prinzip) |
||
(17 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
+ | '''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. | Der im Ergebnis der Messungen konzipierte Baustein eines Rückmelders/Gleisbesetztmelders wurde praktisch aufgebaut und steht ggf. zur Verfügung. | ||
− | |||
==Prinzip== | ==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 bei Änderungen, es wird jeweils der neue Zustand gemeldet | + | 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. 109us High und ca. 93us 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== | ==physikalische Realisierung== | ||
Zeile 28: | Zeile 27: | ||
*GBM16 Fa. Blücher | *GBM16 Fa. Blücher | ||
*LS100 Fa. Lenz (Decoder mit RM) | *LS100 Fa. Lenz (Decoder mit RM) | ||
− | |||
− | + | arbeiten mit der Zentrale LZ100/LZV100 der Fa. Lenz zusammen, die den RS-Bus definiert hat. | |
− | + | ||
− | [[Bild: | + | [[Bild:RS-Bus-RM.png|thumb|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:RS-Bus-Z.png|thumb|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 | + | 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. | 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. | ||
Zeile 44: | Zeile 47: | ||
Durch die bei allen RM realisierte Schaltung mit Optokopplern ist eine galvanische Trennung der RM untereinander und von der Zentrale gesichert. | 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 | + | 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== | ==Startverhalten/ Anmeldung== | ||
Zeile 55: | Zeile 58: | ||
*der RS8 (Littfinski) | *der RS8 (Littfinski) | ||
*der GBM16 (Blücher | *der GBM16 (Blücher | ||
− | + | ||
senden Ihre Anmeldung sofort nach dem Start. | senden Ihre Anmeldung sofort nach dem Start. | ||
Die Anmeldung eines RM ist jedoch auch später zu beliebigen Zeiten möglich. | Die Anmeldung eines RM ist jedoch auch später zu beliebigen Zeiten möglich. | ||
Zeile 66: | Zeile 69: | ||
Die Nachricht eines Rückmelders wird mit 4800bit/s gesendet. Sie besteht aus 8 Bit Nutzdaten: | Die Nachricht eines Rückmelders wird mit 4800bit/s gesendet. Sie besteht aus 8 Bit Nutzdaten: | ||
− | * | + | * Startbit (0) |
* Parität (even) | * Parität (even) | ||
− | * | + | * 2 TT-Bits (bei Rückmelder: 10) |
− | * | + | * Nibblebit (0 = unteres Nibble, 1=oberes Nibble) |
− | + | * 4 Datenbits D3, D2, D1, D0 | |
− | * 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! | Hierbei steht D3...D0 für Eingang E1...E4 bzw E5...E8. Eine 1 entspricht Kontakt geschlossen, also eigentlich Pegel Low! | ||
− | Es ist hier nicht nachzuvollziehen, warum eine so exotische Codierung gewählt wurde | + | 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.: |
− | Es ist nur zu vermuten, dass es aus historischen Gründen so ist, da uralte mC keine ( | + | * 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. | 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. | 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: | + | Diese sind dann folgendermaßen codiert(bei RM!): |
− | P, 1 | + | 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. | 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:RSBusPulsfolge.gif|thumb|RS-BUS: Pulsfolge]] | + | [[Bild:RSBusPulsfolge.gif|thumb|Bild 3: RS-BUS: Pulsfolge]] |
Im Ergebnis heißt es also: | Im Ergebnis heißt es also: | ||
Zeile 100: | Zeile 108: | ||
Meldungen sind wie folgt codiert: | Meldungen sind wie folgt codiert: | ||
− | + | St, Pe, T1, T0, N, D3, D2, D1, D0 | |
− | St - Startbit (Low) | + | :St - Startbit (Low) |
− | Pe - Parität (even) | + | :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) | + | :N - Nibble (0 für unteres, 1 für oberes Nibble) |
− | D3 - für E4 bzw E8 | + | :D3 - für E4 bzw E8 |
− | D2 - für E3 bzw E7 | + | :D2 - für E3 bzw E7 |
− | D1 - für E2 bzw E6 | + | :D1 - für E2 bzw E6 |
− | D0 - für E1 bzw E5 | + | :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. | Eine Meldung beschreibt ausschließlich ein Nibble, bei gleichzeitigen Änderungen in beiden Nibbles werden zwei Meldungen generiert. | ||
− | + | Einige Beispiele: | |
− | + | {| border=1 width=70% align=center | |
− | Nr. St Pe 1 0 N D3 D2 D1 D0 Bedeutung | + | | Nr. |
− | 1 0 0 1 0 0 0 0 0 0 E1 | + | | St |
− | 2 0 1 1 0 0 0 0 0 1 E1 aktiv, E2..E4 | + | | Pe |
− | 3 0 1 1 0 0 0 0 1 0 E2 | + | | 1 |
− | 4 0 0 1 0 0 0 1 0 1 E1 | + | | 0 |
− | 5 0 0 1 0 1 0 0 0 1 E5 | + | | N |
− | 6 0 0 1 0 1 1 0 0 0 E8 | + | | D3 |
− | 7 0 1 1 0 1 0 0 0 0 E8 wieder passiv | + | | D2 |
− | 8.1 0 1 1 0 0 0 0 0 1 2 Meldungen: E1 und ... | + | | D1 |
− | 8.2 0 0 1 0 0 0 0 1 0 ... E6 aktiv, Rest passiv | + | | 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 | ||
+ | |} | ||
+ | ---- | ||
Zeile 135: | Zeile 266: | ||
Peter Schneider | Peter Schneider | ||
09.02.2007 | 09.02.2007 | ||
+ | |||
+ | [[Kategorie:Digitalbetrieb]] |
Aktuelle Version vom 18. Februar 2009, 14:57 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.
Inhaltsverzeichnis
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. 109us High und ca. 93us 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.
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.
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.
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