Dr. König´s Märklin-Digital-Page


Datenübertragung auf dem I2C-Bus


Die vorliegende Dokumentation stammt von Herrn Walter Fiedler, Thüringer Straße 22, 63329 Egelsbach. Da er keinen Internet-Zugang besitzt, hat er diese Form der Veröffentlichung gewählt.
Zu dieser Dokumentation kann ich leider nichts sagen; etwaige Fragen und Anmerkungen richten Sie daher bitte direkt an Herrn Fiedler. Mein Beitrag erschöpft sich der WWW-gerechten Aufbereitung und Darstellung; am Inhalt habe ich nichts geändert; das Original gibt es auch als download. Aus diesem Grund muß ich auch jede Verantwortung für den Inhalt dieser Dokumentation ablehnen.


Inhalt

Einleitung

In diesem Dokument wird der Datenaustausch der Märklin Digital-Eingabe-Geräte über den in den seitlichen Steckverbindern integrierten I2C-Bus beschrieben. Dabei werden, wie ich hoffe, alle nur erdenklichen Möglichkeiten von Schalt- bzw. Steuerungs-Kommandos in den unterschiedlichsten Betriebs- Situationen des Digital-Systems berücksichtigt.
Alle Angaben über das Befehls-Format beziehen sich auf den Betrieb des Digital-Systems zusammen mit der Control Unit (6021) als Zentrale. Wenn diese Angaben im Vergleich zur Central Unit (6020) unterschiedlich aussehen, wird dies entsprechend beschrieben. Ansonsten ist noch das Kapitel "Unterschiede im Kommunikationsablauf zwischen Central Unit (6020) und Control Unit (6021)" zu beachten.
Diese Informationen wurden mit Hilfe einer zusätzlich an den I2C-Bus angeschlossenen selbstgebauten elektronischen Schaltung mit Zählern und Schieberegistern gewonnen. Da keine speziellen Messgeräte wie Oszilloskop oder Ähnlichem verwendet wurden, kann keine Aussage über das jeweilige zeitliche Verhalten wie etwa Taktfrequenz oder Ähnlichem getroffen werden.

Hinweis:
An einigen Stellen wird in diesem Dokument über die Fahrtrichtung geschrieben. Dabei ist zu beachten, daß nur neuere Delta- oder Digital-Decoder (mit ICs vom Typ 701.17, 701.21 und 701.22) diese absolute Fahrtrichtungs-Information interpretieren können. Alle älteren Decoder (mit ICs vom Typ ZyMOS und 701.13) "verstehen" diese absolute Fahrtrichtungs-Information nicht, sondern ändern die Fahrtrichtung nur durch die Umschalt-"Fahrstufe" "1". Daher kann es bei diesen älteren Decodern vorkommen, daß die in den Steuergeräten Control 80f (6036) und Infra Control 80f (6070) angezeigte Fahrtrichtung nicht mit der tatsächlichen Fahrtrichtung übereinstimmt.

Gemäß der Redensart "Irren ist menschlich" kann ich selbstverständlich keine Haftung bzw. Verantwortung für irgendwelche Schäden übernehmen, die durch die Benutzung dieser Informationen entstehen könnten.

Der I2C-Bus

Der I2C-Bus stellt eine bidirektionale, serielle Übertragungseinrichtung zwischen einem oder mehreren sogenannten Master-System(en) und einem oder mehreren Slave-System(en) dar. Märklin digital verwendet ein sogenanntes "Multi-Master-System", d.h., daß verschiedene Geräte (z.B. das Control 80f (6036)) zwischen dem Senden von Schalt- bzw. Steuerbefehlen und dem Empfang der dazugehörigen Bestätigungsmeldung vom Slave-Betrieb auf Master-Betrieb umschalten.

Hinweis:
Bei den Beispielen für Schalt- bzw. Steuer-Anforderungen sind teilweise zwei Stoppbits angegeben. Dies sind aber genaugenommen nicht zwei Stoppbits, sondern ein "scheinbares" Bit, das durch das Umschalten eines Gerätes vom Slave-Betrieb auf den Master-Betrieb ensteht und ein "normales" Stoppbit. Es ist im Einzelnen auch zu prüfen, ob sich ein bestimmtes Gerät tatsächlich auf einen anderen Betriebsmodus umstellt. Das ist beispielsweise beim Control 80 (6035) nicht der Fall.

Hardwareseitig besteht der I2C-Bus aus zwei Leitungen:

Diese beiden Leitungen sind bei den Märklin-Digitalgeräten, die rechts an die Zentraleinheit angeschlossen werden, also Control 80 (6035), Control 80f (6036), Infra Control 80f (6070) sowie dem Interface (6050 bzw. 6051) jeweils an den Steckerleisten auf Pin b4 (SCLK) bzw. auf Pin b2 (SDA); bei den Digital-Geräten, die links an die Zentraleinheit angeschlossen werden, also Keyboard (6040), Switchboard (6041) bzw. dem Switchboard 2000 der Firma SES und dem Memory (6043) jeweils an den Steckerleisten auf Pin b14 (SCLK) bzw. auf Pin b16 (SDA) herausgeführt.

Allgemein gilt beim I2C-Bus:

Geräte-Kennungen beim Märklin Digital-System

Damit das Märklin Digital-System unterscheiden kann, um welche Art von Schalt- bzw. Steuerbefehlen es sich jeweils handelt, verwenden die verschiedenen Geräte-Typen unterschiedliche Kennungen in der jeweiligen Geräte-Adresse, und zwar in den Bits 5, 6 und 7. Die eigentliche Geräte-Adresse wird in den Bits 1, 2, 3 und 4 angegeben. Bit 0 ist immer "0" (Ausnahme: Schaltbefehle für Extra-Funktionen "f1" bis "f4", die über das Interface (6050 bzw. 6051) gesendet werden).
Die einzelnen Geräte-Kennungen lauten (XXXX = Gerätedresse im Bereich 0 bis 15):

Zentrale
1111 1110

Lok-Steuerbefehle
000X XXX0

Stellbefehle für Magnet-Artikel
001X XXX0

Schaltbefehle für Extrafunktionen "f1" bis "f4" von Control 80f (6036)
010X XXX0

Schaltbefehle für Extrafunktionen "f1" bis "f4" von Interface (6050 bzw. 6051)
0100 0001

Adressierung der Steuerpulte

Nach dem Einschalten des Digital-Systems bzw. nach einem Reset müssen die rechts an der Zentraleinheit angeschlossenen Geräte wie Control 80 (6035), Control 80f (6036), Infra Control 80f (6070) und Interface (6050 bzw. 6051) adressiert werden.
Damit sich während dieser Adressierung immer nur ein Gerät angesprochen fühlen kann, wird eine Kettenleitung zwischen den Geräten verwendet.
Vom Prozessor der Zentrale aus führt diese Leitung an die Steckerleiste Pin b12 und von dort zum Prozessor des ersten angeschlossenen Gerätes. Vom Prozessor dieses Gerätes geht wiederum eine Leitung über Pin b12 an das nächste Gerät.
Nach einem Reset führen diese Leitungen zunächst High-Potential. Zu Beginn der Initialisierungsphase zieht die Zentrale diese Ausgangsleitung auf Low-Pegel, generiert einen Startimpuls auf dem I2C-Bus und sendet die erste Adresse, Adresse "1" aus. Das erste angeschlossene Gerät quittiert das empfangene Byte mit einem Bit "0" und zieht seinerseits die Ausgangsleitung an Pin b12 auf Low-Potential.
Die Zentrale generiert wieder einen Startimpuls und sendet die nächste Adresse aus. Das wiederholt sich so lange, bis entweder alle maximal verfügbaren Adressen (15 Adressen bei Central Unit (6020) bzw. 10 Adressen bei Control Unit (6021)) vergeben wurden oder das Quittungsbit durch ein nicht angeschlossenes Gerät "1" ist.
Bei der Zentrale 6021 erhält das darin eingebaute Fahrpult die Adresse "1".

Anmerkung:
Seit dem dritten Quartal 2000 gibt es von Märklin ein neues Keyboard (6040).
Zu erkennen sind diese Geräte daran, daß diese beim Verstellen der rückseitigen DIP-Schalter sofort das jeweils entsprechende LED-Bild für die aktuellen Magnetartikel-Adressen anzeigen und darüber hinaus auch immer die Stellungen aller möglichen 256 Magnetartikel protokollieren.
Dabei gilt: Wenn ein oder mehrere dieser neuen Geräte an eine Zentrale angeschlossen sind, vergibt die Zentrale immer alle maximal verfügbaren Adressen, unabhängig davon, wie viele Geräte der oben genannten Typen tatsächlich angeschlossen sind. Das liegt daran, daß diese neuen Keyboards (6040) jedes Byte, das auf dem I2C-Bus übertragen wird, mit einem Quittungsbit bestätigen. Dieses Verhalten stört aber keineswegs bei der sonstigen Kommunikation innerhalb des Digital-Systems.

Die links an die Zentraleinheit angeschlossenen Geräte wie Keyboard (6040), Switchboard (6041) bzw. dem Switchboard 2000 der Firma SES brauchen nicht softwaremäßig adressiert zu werden. Bei diesen Geräten erfolgt die Adressierung hardwaremäßig über die rückseitigen DIP-Schalter.

Hier ein Beispiel der softwaremäßigen Adressierung. Dabei sind neben dem in der Control Unit (6021) eingebauten Fahrpult noch zwei weitere Geräte an dieser Seite der Zentrale angeschlossen. Es werden also insgesamt vier Adressen vergeben, aber nur drei Geräte sind vorhanden und quittieren den Empfang einer Adresse (Q = Quittungsbit).

Aufbau der Adressierungsbytes:

Adresse			Adresse			Adresse			Adresse
0000 0010	0	0000 0100	0	0000 0110	0	0000 1000	1
Gerät 1		Q	Gerät 2		Q	Gerät 3		Q	Gerät 4		Q

Initialisierung der Steuerpulte

Nach dieser Adressierung müssen die Fahrpulte Control 80f (6036) und Infra Control 80f (6070) noch initialisiert werden. Dabei wird festgelegt, ob die in den Adreß-Anzeigen integrierten Fahrtrichtungs- Anzeigen betrieben werden oder nicht; und ob die Adreß-Eingabe für Funktionen den Bereich von "01" bis "99" erlaubt oder nur den Bereich von "01" bis "80". Der Adreßbereich von "01" bis "99" wurde für das damalige 2-Leiter-Digital-System (DCC-Format für H0 und Spur 1) verwendet. Bei der Control Unit (6021) werden die Adressen über "80" für besondere system-interne Funktionen verwendet (siehe Abschnitt "Nicht dokumentierte Funktionen der Control Unit (6021)" am Ende dieses Dokuments).
Zur Initialisierung sendet jedes dieser genannten Geräte einen besonderen, bei allen Geräten identischen Befehl an die Zentrale. Ist an der Control Unit (6021) das erweiterte Motorola-Format eingestellt (Schalter 2 an der Rückseite der Control Unit (6021) auf "ON"), werden diese Befehle vollständig bestätigt.

Initialisierungsversuch für erweitertes Motorola-Format:

Empfänger		Sender			Datenbyte		Datenbyte		Stoppbits
1111 1110	0	1000 0000	0	0110 1111	0	0100 0000	0	10
Zentrale	Q	Sonder-Adr.	Q	Dez. 111	Q			Q

Die vollständige Bestätigung lautet:

Empfänger		Sender			Datenbyte		Datenbyte		Stoppbit
1000 0000	0	1111 1110	0	0110 1111	0	0100 0000	0	0
Sonder-Adr.	Q	Zentrale	Q	Dez. 111	Q			Q

Befindet sich die Control Unit (6021) im H0-Modus (Schalter 2 an der Rückseite auf "OFF"), oder sind die Fahrpulte Control 80f (6036) bzw. Infra Control 80f (6070) an die Central Unit (6020) angeschlossen, wird der erste Initialisierungsversuch durch eine unvollständige Bestätigung nicht anerkannt.

Diese unvollständige Bestätigung lautet:

Empfänger		Stoppbit
1000 0000	0	0
Sonder-Adr.	Q

Damit wird dieser Betriebsmodus der Fahrpulte von der Zentrale nicht akzeptiert.
Die Fahrpulte Control 80f (6036) und Infra Control 80f (6070) senden daraufhin einen anderen Initialisierungs-Code an die Zentrale, bei dem als Sendeadresse die jeweilige Geräteadresse angegeben wird.

Initialisierung für H0-Modus:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	000X XXX0	0	0110 0011	0	0000 0000	0	10
Zentrale	Q	Geräte-Adr.	Q	Dez. 99		Q			Q

Die Bestätigung dafür lautet:

Empfänger		Sender			Decoder			Datenbyte		Stoppbit
000X XXX0	0	1111 1110	0	0110 0011	0	1110 0000	0	0
Geräte-Adr.	Q	Zentrale	Q	Dez. 99		Q			Q

Damit sind die Geräte Control 80f (6036) und Infra Control 80f (6070) initialisiert.
Durch den Anschluß dieser Geräte sendet die Zentrale zunächst kontinuierlich einen Loksteuerbefehl mit der (echten) Decoder-Adresse "80" (dies entspricht an einem Lokdecoder alle acht Schalter auf "OFF" gestellt) und dem Datenbyte "0" ans Gleis (Idle State). Damit wird vermieden, das durch die ansonsten am Gleis anliegende negative Gleichspannung die Loks stehenbleiben und infolge dessen beim Schalten von Magnetartikeln kurzzeitig rucken.
Erst wenn an einem Fahrpult bzw. am Interface eine andere, gültige Lokdecoder-Adresse eingegeben wird, wird die echte Decoder-Adresse "80" (Idle State) nicht mehr ans Gleis gesendet.

Steuerung von Lokomotiven im H0-Modus

Wenn bei der Control Unit (6021) die auf der Rückseite befindlichen Schalter 1 und 2 auf "OFF" gestellt sind, befindet sich diese Zentrale im (alten) H0-Modus und verhält sich weitestgehend wie die Central Unit (6020).
Für die Übertragung von Loksteuer-Befehlen werden vier Byte als Steuerungsanforderung benötigt. Es sind dies die Bytes für Empfänger (Zentrale), Steuerpult-Nr. (1 bis 15 bei Central Unit (6020) bzw. 1 bis 10 bei Control Unit (6021)), Decoder-Adresse (Bereich von "00" bis "79", Adresse "80" wird als "00" übertragen) und Datenbyte.
Die Steuerungsanforderung sieht in diesem Betriebsmodus der Zentrale bei allen Steuergeräten, also Control 80 (6035), Control 80f (6036), Infra Control 80f (6070) und Interface (6050 bzw. 6051) identisch aus.
Die einzelnen Bits im Datenbyte bedeuten dabei:
- Bits 0 bis 3	= Fahrstufe (0=Stillstand, 1=Fahrtrichtungswechsel, 2 bis 15=Fahrstufe)
- Bit  4	= Fahrtrichtungsabhängige Zusatzfunktion "function"
- Bits 5 bis 7	= 000 = Anforderung bzw. positive Bestätigung
		= 111 = negative Bestätigung, Adresse ungültig bzw. schon belegt.

Steueranforderung für Lokomotiven im H0-Modus:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	000X XXX0	0	0XXX XXXX	0	000X XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q	00 bis 79	Q	Fahrstufe	Q

Wird diese Steueranforderung akzeptiert, dann lautet die Bestätigung:

Empfänger		Sender			Decoder			Datenbyte		Stoppbit
000X XXX0	0	1111 1110	0	0XXX XXXX	0	000X XXXX	0	0
Geräte-Adr.	Q	Zentrale	Q	00 bis 79	Q	Fahrstufe	Q

Wird die Steueranforderung z.B. bei belegter Decoderadresse nicht akzeptiert, dann lautet die Bestätigungsmeldung von der Zentrale:

Empfänger		Sender			Decoder			Datenbyte		Stoppbit
000X XXX0	0	1111 1110	0	0XXX XXXX	0	111X XXXX	0	0
Geräte-Adr.	Q	Zentrale	Q	00 bis 79	Q	111=belegt	Q

Hinweis:
Auch wenn die Control Unit (6021) auf das erweiterte Motorola-Format eingestellt ist (Schalter 2 an der Rückseite der Zentrale auf "ON"), sehen die Steueranforderungen von Control 80 (6035) und Interface (6050 bzw. 6051) sowie die dazugehörigen Bestätigungsmeldungen bei akzeptierter und nicht akzeptierter Steueranforderung genauso aus wie die entsprechenden Meldungen im hier geschilderten H0-Modus.

Steuerung von Lokomotiven bei erweitertem Motorola-Format

Ist die Control Unit (6021) auf das erweiterte Motorola-Datenformat eingestellt (Schalter 2 an der Rückseite auf "ON"), dann verfügen die Steuerpulte Control 80f (6036) und Infra Control 80f (6070) über zusätzliche Anzeigen für die Fahrtrichtung und die Möglichkeit, belegte (auf einem anderen Steuergerät aufgerufene) Lokadressen zur Übernahme auf dieses Steuergerät zu erzwingen. Über diese Möglichkeiten verfügen aber nur diese Steuergeräte und nur in diesem Betriebsmodus der Zentraleinheit. Steuergeräte Control 80 (6035) und Interface (6050 bzw. 6051) verhalten sich immer wie im H0-Modus.
Die einzelnen Bits im Datenbyte bedeuten im erweiterten Motorola-Format:
- Bits 0 bis 3	= Fahrstufe (0 = Stillstand, 1 = Fahrtrichtungswechsel, 2 bis 15 = Fahrstufe)
- Bit  4	= Fahrtrichtungsabhängige Zusatzfunktion "function"
- Bits 5 bis 7	= 001 = Anforderung
		= 10X = positive Bestätigung, X = 0 Fahrtrichtung rückwärts, X = 1 vorwärts
		= 110 = negative Bestätigung, Adresse ungültig bzw. schon belegt.
		= 010 = Anforderung "Übernahme erzwingen"

Datenübertragung bei Control 80f im erweiterten Motorola-Format, Steueranforderung:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	000X XXX0	0	0XXX XXXX	0	001X XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q	00 bis 79	Q	Fahrstufe	Q

Die Bestätigung dafür, wenn die Anforderung akzeptiert wird, lautet:

Empfänger		Sender			Decoder			Datenbyte		Stoppbit
000X XXX0	0	1111 1110	0	0XXX XXXX	0	10XX XXXX	0	0
Geräte-Adr.	Q	Zentrale	Q	00 bis 79	Q	Fahrstufe	Q
									Richtung

Ist die aufgerufene Adresse bereits von einem anderen Steuergerät belegt, wird eine besondere Bestätigung von der Zentrale zurückgeschickt, bei der im vierten Byte anstelle der gewählten Fahrstufe die Adresse des Steuerpultes angegeben ist, an dem diese Lokadresse bereits aufgerufen ist. Dabei wird diese Geräte-Adresse so angegeben wie in der Angabe für den Sender bzw. den Empfänger:

Empfänger		Sender			Decoder			Datenbyte		Stoppbit
000X XXX0	0	1111 1110	0	0XXX XXXX	0	110X XXX0	0	0
Geräte-Adr.	Q	Zentrale	Q	00 bis 79	Q	belegt von	Q
									Geräte-Adr.

Wird jetzt am Steuerpult mit der blinkenden Adressanzeige die gleiche Adresse noch einmal eingegeben, wird diese Adresse auf dieses Gerät übernommen und auf dem vorherigen Gerät als belegt gemeldet.

Diese besondere Steueranforderung lautet:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	000X XXX0	0	0XXX XXXX	0	010X XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q	00 bis 79	Q	Fahrstufe	Q
									Übernahme
									erzwingen

Es folgt von der Zentrale eine Bestätigung, die diese Anforderung akzeptiert:

Empfänger		Sender			Decoder			Datenbyte		Stoppbit
000X XXX0	0	1111 1110	0	0XXX XXXX	0	10XX XXXX	0	0
Geräte-Adr.	Q	Zentrale	Q	00 bis 79	Q	Fahrstufe	Q
									Richtung

Übertragung von Funktionsbefehlen

Für die Übertragung von Funktionsbefehlen werden vier Byte als Schaltanforderung benötigt. Es sind dies die Bytes für Empfänger (Zentrale), Steuerpult-Nr. (1 bis 15 bei Central Unit (6020) bzw. 1 bis 10 bei Control Unit (6021)), Decoder-Adresse (bei Control Unit im H0-Modus im Bereich von "00" bis "79", in den anderen Modi und bei Central Unit (6020) im Bereich von "00" bis "99", wobei die eingebene Adresse "80" in allen Betriebsmodi als Adresse "00" übertragen wird) und dem Byte für den Zustand der Funktionen, wobei die Funktionen in den Bits 0 bis 3 angegeben werden ("0" = Aus, "1" = Ein):
Die Bits 4 bis 7 werden bislang nicht verwendet und sind immer "0".

Hinweis:
Bei der Control Unit (6021) werden Decoder-Adressen ab "81" nicht ans Gleis gesendet sondern dienen (teilweise) zum Aufruf von besonderen System-Funktionen der Zentrale. Siehe dazu auch den Abschnitt "Nicht dokumentierte Funktionen der Control Unit (6021)" am Ende dieses Dokuments.

Aufbau der Schaltanforderung für Funktionsbefehle:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	010X XXX0	0	0XXX XXXX	0	0000 XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q	00 bis 79	Q	f1 bis f4	Q
						00 bis 99
				
Die Bestätigung von der Zentrale lautet:
Empfänger		Sender			Decoder			Datenbyte		Stoppbit
010X XXX0	0	1111 1110	0	0XXX XXXX	0	0000 XXXX	0	0
Geräte-Adr.	Q	Zentrale	Q	00 bis 79	Q	f1 bis f4	Q
						00 bis 99

Da Adressen für Funktions-Decoder auch bei mehreren Geräten gleichzeitig aufgerufen sein können, kann hier keine Bestätigungsmeldung mit z.B. schon belegter Adresse vorkommen.

Übertragung von Weichenstellbefehlen

Für die Übertragung von Weichenstellbefehlen genügen drei Byte als Schaltanforderung.
Es sind dies die Bytes für Empfänger (Zentrale), Keyboard-Nr. (0 bis 15) und das Datenbyte.
Das Datenbyte enthält die Angabe der Decoder-Ausgangsnummer (Bits 0 bis 3) und der Decoder- Teiladresse (Bits 4 und 5).
Mit Bit 0 wird die Schaltrichtung bestimmt (0=Rot, 1=Grün), mit Bit 3 wird der Schaltstrom eingeschaltet.
Da mit einem Keyboard (6040) vier Decoder angesprochen werden können, bestimmen die Bits 4 und 5, um welche Vierergruppe von Tastenpaaren und somit für welchen der vier für dieses Keyboard zuständigen Decoder sich der Schaltbefehl handelt.
Bei der Bildung der realen Decoder-Adresse (im binären Zahlenformat) stellen diese zwei Bits die Bits 0 und 1 dar. Die vier Bits der Keyboard-Adresse bilden dann die Bits 2 bis 5 der Decoder-Adresse. Diese Decoder-Adresse wird noch um 1 erhöht, da die Decoder-Adressierung im Märklin Digital-System immer mit der Adresse "01" beginnt. Somit können maximal 64 Decoder im Bereich von "01" bis "64" angesprochen werden.
Aufbau des Datenbytes:

Aufbau der Schaltanforderung:

Empfänger		Sender			Datenbyte		Stoppbits
1111 1110	0	001X XXX0	0	00XX XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q			Q

Die Bestätigung von der Zentrale lautet:

Empfänger		Sender			Datenbyte		Stoppbit
001X XXX0	0	1111 1110	0	00XX XXXX	0	0
Geräte-Adr.	Q	Zentrale	Q			Q

Befindet sich die Zentrale jedoch im "stop"-Modus, wird der Empfang der Schaltanforderung nur verkürzt bestätigt:

Empfänger		Stoppbit
001X XXX0	0	0
Geräte-Adr.	Q

Daraufhin wird vom Keyboard (6040), Switchboard (6041) bzw. Memory (6043) regelmäßig eine neue, gleiche Schaltanforderung an die Zentrale gesendet, bis diese wieder im "go"-Modus ist und die Schaltanforderung vollständig bestätigt wird.
Erst wenn die Schaltanforderung vollständig bestätigt wurde, wird die Anzeige im Keyboard (6040) aktualisiert.
Wenn die entsprechende Taste am Keyboard (6040) wieder losgelassen wird, wird ein Abschaltbefehl vom Keyboard (6040) an die Zentrale gesendet. Dabei werden im Datenbyte die vier Bits der Decoder- Ausgangsnummer (Bits 0 bis 3) zurückgesetzt. Die zwei Bits für die Decoder-Teiladresse (Bits 4 und 5) müssen dabei unverändert bleiben.

Schaltanforderung für Abschaltbefehl:

Empfänger		Sender			Datenbyte		Stoppbits
1111 1110	0	001X XXX0	0	00XX 0000	0	10
Zentrale	Q	Geräte-Adr.	Q			Q

Die Bestätigung von der Zentrale lautet:

Empfänger		Sender			Datenbyte		Stoppbit
001X XXX0	0	1111 1110	0	00XX 0000	0	0
Geräte-Adr.	Q	Zentrale	Q			Q

Hinweis:
Werden Schaltanforderungen vom Memory (6043) gesendet, wird nicht die Memory-Adresse übertragen, sondern die entsprechende Keyboard-Adresse und Decoder-Teiladresse für diesen Befehl.
Im übrigen wird in keiner Betriebs-Situation die mit der an der Rückseite des Memory (6043) befindlichen Schalter 1 und 2 eingestellte "Adresse" über den I2C-Bus übertragen. Somit dürfte die Anzahl der Memorys (6043), die im Digital-System betrieben werden können, nicht auf vier Geräte begrenzt sein.

Betrieb mit Interface (6050 bzw. 6051)

Beim Betrieb des Digital-Systems mit dem Interface (6050 bzw. 6051) sieht die Übertragung auf dem I2C- Bus weitgehend genauso aus wie mit den entsprechenden Steuergeräten, also Control 80 (6035), Keyboard (6040) und zum Schalten von Funktionen das Control 80f (6036).
Bei Loksteuerbefehlen stehen die erweiterten Möglichkeiten von Control 80f (6036) und Infra Control 80f (6070), also Fahrtrichtungsanzeige und die Möglichkeit, die Übernahme einer bereits auf einem anderen Steuergerät aufgerufenen Lokdecoder-Adresse auf dieses Gerät zu erzwingen, beim Interface (6050 bzw. 6051) nicht zur Verfügung. Loksteuerbefehle sehen deshalb auch beim Betrieb des Interface (6050 bzw. 6051) mit der Control Unit (6021) im erweiterten Motorola-Format (Schalter 2 an der Rückseite auf "ON") wie im H0-Modus bzw. wie beim Control 80 (6035) aus. Beim Aufruf einer bereits auf einem anderen Gerät belegten Lokdecoder-Adresse wird diese Steueranforderung jedoch nicht zyklisch wiederholt.
Nur beim Interface (6050 bzw. 6051) werden die Lokdecoder-Adresse "80" und die Funktionsdecoder- Adresse "80" tatsächlich als "80" übertragen, bei Control 80 (6035) und Control 80f (6036) jedoch immer als "00".

Beim Schalten von Magnetartikeln wird entsprechend der Magnetartikel-Adresse die Adresse des jeweils zuständigen Keyboards (6040) erzeugt, also ebenso wie beim Memory (6043).
Lediglich beim Abschaltbefehl für den Stellstrom gibt es einen kleinen Unterschied:
Das Interface (6050 bzw. 6051) setzt im Datenbyte nur das Bit für den Stellstrom (Bit 3) zurück, das Keyboard (6040) setzt dagegen beim Abschaltbefehl alle vier Bits (für Decoder-Ausgang und Stellstrom), also die Bits 0 bis 3, zurück. Die zwei Bits für die Decoder-Teiladresse (Bits 4 und 5) müssen auch hier unverändert bleiben.

Nur beim Schalten von Funktionen wird eine besondere Geräteadresse ausgegeben, nämlich die Adresse 0, obwohl bei der softwaremäßigen Adressierung nur Adressen ab einschließlich 1 vergeben werden.
Darüber hinaus ist auch nur bei Schaltanforderungen für Extrafunktionen "f1" bis "f4" über das Interface (6050 bzw. 6051) bei der Angabe der Sender-Adresse das Bit 0 gesetzt. Bei der dazugehörigen Bestätigungsmeldung von der Zentrale ist dieses Bit 0 wieder zurückgesetzt.
Deshalb der Befehlsaufbau für Schaltanforderugen von Funktonen hier im Einzelnen:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	0100 0001	0	0XXX XXXX	0	0000 XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q	01 bis 80	Q	f1 bis f4	Q
						01 bis 99

Die Bestätigung von der Zentrale lautet:

Empfänger		Sender			Decoder			Datenbyte		Stoppbit
0100 0000	0	1111 1110	0	0XXX XXXX	0	0000 XXXX	0	0
Geräte-Adr.	Q	Zentrale	Q	01 bis 80	Q	f1 bis f4	Q
						01 bis 99

Unterschiede im Kommunikationsablauf zwischen Central Unit (6020) und Control Unit (6021)

Beim Betrieb der Steuerpulte Control 80 (6035), Control 80f (6036), Infra Control 80f (6070) und Interface (6050 bzw. 6051) mit der Central Unit (6020) läuft der Datenaustausch prinzipiell genauso ab wie beim Betrieb mit der Control Unit (6021) im H0-Modus.
Ausnahmen hiervon gibt es nur, wenn die Central Unit (6020) im "stop"-Modus ist:
Eine Steuer- oder Schaltanforderung wird von der Zentrale zunächst nur mit einem Byte, der Adresse des anfordernden Gerätes, bestätigt. Danach bleiben die Taktleitung SCLK sowie die Datenleitung SDA solange auf Low, bis die Zentrale wieder im "go"-Modus ist. Erst dann wird der Rest der Bestätigung übertragen.
Durch die zeitliche Verzögerung zwischen Anforderung und Bestätigung werden die Steuergeräte veanlaßt, eine neue Schaltanforderung an die Zentrale zu senden.
Die Geräte Control 80 (6035) und Interface (6050 bzw. 6051) übertragen dabei auch gleich die Informationen über eine im "stop"-Modus geänderte Lokadresse oder Fahrstufe, also die derzeit gültigen Informationen.
Bei den Geräten Control 80f (6036) und Infra Control 80f (6070) werden diese Informationen in einem weiteren Datenpaket übertragen.

Eine Loksteuer-Anforderung an die Central Unit (6020) im "stop"-Modus lautet:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	000X XXX0	0	0XXX XXXX	0	000X XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q	00 bis 79	Q	Fahrstufe	Q

Die verkürzte Bestätigung lautet dann:

Empfänger
000X XXX0	0
Geräte-Adr.	Q

Die Taktleitung SCLK und die Datenleitung SDA bleiben jetzt solange auf Low, bis die Zentraleinheit wieder im "go"-Modus ist. Der I2C-Bus ist also blockiert.
Bei Control 80 (6035) und Interface vergingen bis hierher 46 Taktzyklen, bei Control 80f (6036) und Infra Control 80f (6070) aber 48 Taktzyklen aufgrund der Umschaltung von Slave- auf Master-Betrieb.
Nach dem Wechsel in den "go"-Modus wird die Bestätigung an dieser Stelle wieder fortgesetzt.

			Sender			Decoder			Datenbyte		Stoppbit
			1111 1110	0	0XXX XXXX	0	000X XXXX	0	0
			Zentrale	Q	00 bis 79	Q	Fahrstufe	Q

Jetzt folgt auf Grund der zeitlichen Verzögerung eine neue Steueranforderung:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	000X XXX0	0	0XXX XXXX	0	000X XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q	00 bis 79	Q	Fahrstufe	Q

Und dazu die entsprechende Bestätigung:

Empfänger		Sender			Decoder			Datenbyte		Stoppbit
000X XXX0	0	1111 1110	0	0XXX XXXX	0	000X XXXX	0	0
Geräte-Adr.	Q	Zentrale	Q	00 bis 79	Q	Fahrstufe	Q

Seit dem Wechsel der Central Unit (6020) in den "go"-Modus vergingen bis hierher bei Control 80 (6035) und Interface (6050 bzw. 6051) 102 Taktzyklen, bei Control 80f (6036) und Infra Control 80f (6070) 104 Taktzyklen.
Wurde an einem Control 80f (6036) während des "stop"-Modus eine neue Adresse eingegeben, dann folgt jetzt eine weitere Steueranforderung mit 76 Taktzyklen:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	000X XXX0	0	0XXX XXXX	0	000X XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q	00 bis 79	Q	Fahrstufe	Q

Und die dazugehörige Bestätigung:

Empfänger		Sender			Decoder			Datenbyte		Stoppbit
000X XXX0	0	1111 1110	0	0XXX XXXX	0	000X XXXX	0	0
Geräte-Adr.	Q	Zentrale	Q	00 bis 79	Q	Fahrstufe	Q

Auch beim Schalten von Funktionen im "stop"-Modus der Central Unit (6020) wird die Schaltanforderung zunächst nur verkürzt von der Zentrale bestätigt und anschliessend die Taktleitung SCLK sowie die Datenleitung SDA danach auf Low gehalten, bis die Zentrale wieder im "go"-Modus ist.

Schaltanforderung für Funktionen im "stop"-Modus:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	010X XXX0	0	0XXX XXXX	0	0000 XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q	00 bis 79	Q	f1 bis f4	Q
						00 bis 99

Die verkürzte Bestätigung von der Zentrale lautet:

Empfänger
010X XXX0	0
Geräte-Adr.	Q

Die Taktleitung SCLK und die Datenleitung SDA bleiben jetzt solange auf Low, bis die Zentraleinheit wieder im "go"-Modus ist. Der I2C-Bus ist also blockiert.
Bei Control 80f (6036) und Infra Control 80f (6070) vergingen bis hierher 48 Taktzyklen.
Nach dem Wechsel in den "go"-Modus wird die Bestätigung an dieser Stelle wieder fortgesetzt.

			Sender			Decoder			Datenbyte		Stoppbit
			1111 1110	0	0XXX XXXX	0	0000 XXXX	0	0
			Zentrale	Q	00 bis 79	Q	f1 bis f4	Q
						00 bis 99

Jetzt folgt auf Grund der zeitlichen Verzögerung eine neue Schaltanforderung:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	010X XXX0	0	0XXX XXXX	0	0000 XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q	00 bis 79	Q	f1 bis f4	Q
						00 bis 99

Die Bestätigung von der Zentrale lautet:

Empfänger		Sender			Decoder			Datenbyte		Stoppbit
010X XXX0	0	1111 1110	0	0XXX XXXX	0	0000 XXXX	0	0
Geräte-Adr.	Q	Zentrale	Q	00 bis 79	Q	f1 bis f4	Q
						00 bis 99

Seit dem Wechsel der Central Unit (6020) in den "go"-Modus vergingen bis hierher 104 Taktzyklen.
Wurde am Control 80f (6036) während des "stop"-Modus eine weitere Funktion geschaltet oder eine neue Funktionsdecoder-Adresse eingegeben, dann folgt jetzt eine weitere Schaltanforderung mit 76 Taktzyklen:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	010X XXX0	0	0XXX XXXX	0	0000 XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q	00 bis 79	Q	f1 bis f4	Q
						00 bis 99

Die Bestätigung von der Zentrale lautet:

Empfänger		Sender			Decoder			Datenbyte		Stoppbit
010X XXX0	0	1111 1110	0	0XXX XXXX	0	0000 XXXX	0	0
Geräte-Adr.	Q	Zentrale	Q	00 bis 79	Q	f1 bis f4	Q
						00 bis 99

Hinweis:
Funktionen, die während des "stop"-Modus vor einem Adresswechsel geschaltet wurden, werden nach dem Wechsel in den "go"-Modus zwar ans Gleis gesendet, aber im aufrufenden Gerät nicht gespeichert.

Auch beim Schalten von Magnetartikeln im "stop"-Modus der Central Unit (6020) wird die Schaltanforderung zunächst nur verkürzt von der Zentrale bestätigt und anschliessend die Taktleitung SCLK sowie die Datenleitung SDA danach solange auf Low gehalten, bis die Zentrale wieder im "go"- Modus ist.

Schaltanforderung für Magnetartikel im "stop"-Modus:

Empfänger		Sender			Datenbyte		Stoppbits
1111 1110	0	001X XXX0	0	00XX XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q			Q

Die verkürzte Bestätigung von der Zentrale lautet:

Empfänger
001X XXX0	0
Geräte-Adr.	Q

Die Taktleitung SCLK und die Datenleitung SDA bleiben jetzt solange auf Low, bis die Zentraleinheit wieder im "go"-Modus ist. Der I2C-Bus ist also blockiert.
Bei Keyboard (6040), Memory (6043) und Interface (6050 bzw. 6051) vergingen bis hierher 37 Taktzyklen.
Nach dem Wechsel in den "go"-Modus wird die Bestätigung an dieser Stelle wieder fortgesetzt.

			Sender			Datenbyte		Stoppbit
			1111 1110	0	0000 XXXX	0	0
			Zentrale	Q			Q

Falls vor dem Wechsel in den "stop"-Modus durch Drücken einer Keyboard-Taste der Magnetartikel- Stellstrom eingeschaltet wurde und während des "stop"-Modus die Taste wieder losgelassen wurde, dann ist die Übertragung hiermit beendet.
Ansonsten wird jetzt die Schaltanforderung wiederholt:

Empfänger		Sender			Datenbyte		Stoppbits
1111 1110	0	001X XXX0	0	00XX XXXX	0	10
Zentrale	Q	Geräte-Adr.	Q			Q

Die vollständige Bestätigung von der Zentrale lautet:

Empfänger		Sender			Datenbyte		Stoppbit
001X XXX0	0	1111 1110	0	00XX XXXX	0	0
Geräte-Adr.	Q	Zentrale	Q			Q

Seit dem Wechsel der Central Unit (6020) in den "go"-Modus vergingen 75 Taktzyklen.
Falls während des "stop"-Modus eine Keyboard-Taste gedrückt und wieder losgelassen wurde, wird jetzt auch noch der Abschaltbefehl übertragen und bestätigt.

Schaltanforderung für Abschaltbefehl:

Empfänger		Sender			Datenbyte		Stoppbits
1111 1110	0	001X XXX0	0	00XX 0000	0	10
Zentrale	Q	Geräte-Adr.	Q			Q

Die Bestätigung von der Zentrale lautet:

Empfänger		Sender			Datenbyte		Stoppbit
001X XXX0	0	1111 1110	0	00XX 0000	0	0
Geräte-Adr.	Q	Zentrale	Q			Q

Seit dem Wechsel der Zentrale in den "go"-Modus vergingen 131 Taktzyklen.

Nicht dokumentierte Funktionen der Control Unit (6021)

Nur wenn die Control Unit (6021) auf das erweiterte Motorola-Format eingestellt ist (mindestens Schalter 2 an der Rückseite auf "ON" gestellt), dann verfügt sie über einige bisher noch nicht dokumentierte Funktionen. Dabei ist wohl die Funktion "Herstellen des letzten Betriebszustands" die interessanteste und am ehesten zu verwendende Funktion.
Hier diese Funktionen im Einzelnen:

Daten löschen (Eingabe "91" und "93")

Mit der Eingabe der Adreßfolge "91" und "93" werden die Daten im Puffer für den Refresh-Zyklus gelöscht. Dabei wird auch die Fahrtrichtung auf "vorwärts" eingestellt.
Dieses Löschen sollte bei Betriebsbeginn erfolgen, obwohl es von der Funktion her gesehen auch irgendwann während des Betriebs möglich ist.
Danach werden zwar noch alle bis dahin im Refresh-Zyklus befindlichen Adressen zyklisch wiederholend ans Gleis gesendet, die Daten sind aber gelöscht, also auf "0" gesetzt und die Fahrtrichtung ist auf "vorwärts" eingestellt. Die Daten im Puffer werden durch Aufruf entsprechender Adressen bzw. durch Verstellen des Fahrreglers oder Schalten von Funktionen erneut aufgebaut, also wie gewohnt aktualisiert.

Hinweis:
Nur neuere Decoder des Typs c90 (60901 bzw. 60902) "verstehen" die Angabe der Fahrtrichtung. Bei älteren Decodern wird nur die Fahrstufe auf "0" (Halt) gesetzt und die fahrtrichtungsabhängige Zusatzfunktion "function" ausgeschaltet. Die zuletzt eingestellte Fahrtrichtung bleibt im Decoder aber erhalten und kann dadurch von der Anzeige im Fahrpult abweichen.

Alle 80 Adressen in Refresh-Zyklus aufnehmen (Eingabe "92" und "93")

Die Eingabe der Adressfolge "92" und "93" bewirkt, daß alle 80 möglichen Lokomotiv-Adressen in den Refresh-Zyklus aufgenommen werden, auch wenn diese Adressen bislang noch nicht aufgrufen wurden. Die Datenbytes für die Fahrstufe und den Zustand der Extra-Funktionen "f1" bis "f4" enthalten bei diesen zusätzlich in den Refresh-Zyklus aufgenommenen Adressen zunächst den Wert "00". Dieser Wert wird beim Aufruf dieser Decoder-Adressen entsprechend aktualisiert.

Versionstest (Eingabe "94" und "93")

Mit der Eingabe der Adressfolge "94" und "93" kann die Software-Version der Control Unit (6021) angezeigt werden. Bei der derzeit aktuellen Version blinkt die LED für die Betriebsanzeige einmal auf, unabhängig davon, ob sich die Zentrale im "stop"-Modus oder im "go"-Modus befindet.

Herstellen des letzten Betriebszustands (Eingabe "97" und "93")

Dies ist wohl die interessanteste und wohl auch am häufigsten genutzte zusätzliche Funktion der Control Unit (6021). Damit wird der letzte Spielzustand vor dem Ausschalten des Digital-Systems nach dem Wiedereinschalten wieder herdestellt. Dazu muß nach dem Einschalten bzw. nach einem Reset die Adressfolge "97" und "93" am Fahrpult in der Zentraleinheit oder einem beliebigen angeschlossenen Control 80f (6036) eingegeben werden.
Darauf generiert die Control Unit (6021) für alle Lokdecoder und Funktionsdecoder, bei denen das Datenbyte ungleich "00" ist, eine Schalt- bzw. Steueranforderung, wie sie sonst auch von einem Control 80f (6036) oder Infra Control 80f (6070) generiert werden würde.
Als Sendeadresse wird immer "1" angegeben, auch wenn die Adressfolge "97" und "93" an einem anderen Gerät eingegeben wurde.
Da alle angeschlossenen Control 80f (6036) und Infra Control 80f (6070) diese Schalt- bzw. Steueranforderungen protokollieren, werden auf diese Weise die Funktionen "function" und "f1" bis "f4" in den Fahrpulten zurückgespeichert.
Da die Steueranforderungen von der Zentrale generiert werden, erfolgt keine Bestätigung.

Die von der Zentrale generierten Schaltanforderungen für Funktionen lauten:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	0100 0010	0	0XXX XXXX	0	0000 XXXX	0	10
Zentrale	Q	Gerät 1		Q	00 bis 99	Q	f1 bis f4	Q

Steueranforderungen für Lokdaten lauten:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	0000 0010	0	0XXX XXXX	0	01XX XXXX	0	10
Zentrale	Q	Gerät 1		Q	00 bis 79	Q	Fahrstufe	Q

Die Bitfolge 01XX XXXX im Datenbyte wird sonst bei erzwungener Adressübernahme verwendet.
Bei den Steueranforderungen für Lokdaten wird fälschlicherweise die Fahrtrichtung mit angegeben (normalerweise wird die Fahrtrichtung erst bei der Bestätigungsmeldung von der Zentrale angegeben, nicht aber bei der Steueranforderung). Das führt dazu, daß bei Fahrtrichtung "vorwärts" die Daten von den angeschlossenen Geräten Control 80f (6036) und Infra Control 80f (6070) nicht anerkannt werden und beim ersten Aufruf einer Lok die Fahrtrichtungsabhängige Zusatzfunktion "function" immer ausgeschaltet wird.
Die Angabe der Fahrtrichtung wird üblicherweise in der Bestätigung von der Contral Unit (6021) übermittelt.

Nachdem von der Control Unit (6021) alle Schalt- bzw. Steueranforderungen generiert wurden, folgt noch eine Steueranforderung für Fahrgerät Nr. 1, bei der als Decoder-Adresse "99" angegeben wird:

Empfänger		Sender			Decoder			Datenbyte		Stoppbits
1111 1110	0	0000 0010	0	0110 0011	0	001X XXXX	0	10
Zentrale	Q	Gerät 1		Q	Dez. 99		Q	Fahrstufe	Q

Diese wird als ungültig bestätigt:

Empfänger		Sender			Decoder			Datenbyte		Stoppbit
0000 0010	0	1111 1110	0	0110 0011	0	111X XXXX	0	0
Gerät 1		Q	Zentrale	Q	Dez. 99		Q	111=belegt	Q

Wenn jetzt an einem beliebigen Eingabegerät Control 80 (6035), Control 80f (6036), Interface (6050 bzw. 6051) oder Infra Control 80f (6070) eine gültige Lokdecoder-Adresse im Bereich von "01" bis "80" eingegeben wird, beginnt die Control Unit mit dem Refresh-Zyklus.
Dabei sind im Refresh-Zyklus jetzt alle Decoder-Adressen enthalten, bei denen vor dem Abschalten bzw. vor dem Reset des Digital-Systems das Datenbyte ungleich "00" war.
Die Adressen, bei denen sowohl das Datenbyte für Funktionen "f1" bis "f4" sowie das Datenbyte für Lokfahrstufe und "function" den Wert "0" enthielten und die Fahrtrichtung auf "vorwärts" eingestellt war, werden nicht in den Refresh-Zyklus aufgenommen.

Hinweis:
Nur neuere Decoder des Typs c90 (60901 bzw. 60902) "verstehen" die Angabe der Fahrtrichtung. Ältere Decoder fahren nach einer längeren Betriebspause, also wenn der Lokdecoder die letzten Fahrinformationen nicht mehr gespeichert hat, immer in Fahrtrichtung "vorwärts", auch wenn die Fahrtrichtung auf "rückwärts" eingestellt war. Somit kann es also vorkommen, daß die in den Steuergeräten Control 80f (6036) und Infra Control 80f (6070) angezeigte Fahrtrichtung nicht mit der tatsächlichen Fahrtrichtung übereinstimmt.

Die WWW-Adaption wurde von Dr. M. Michael König vorgenommen. © 2001.

Homepage | Deutsch

© 2001 by Walter Fiedler | Thüringer Straße 22 | 63329 Egelsbach | 06103/44620 | Stand: 8.5.2001

Revisit this page