Von Anfang an wollte in einen normalen PC als Steuer- und Bedienrechner einsetzen, und keine 'Central Station' oder unter welcher Markenbezeichnung auch immer vertriebene Stand-Alone-Lösung. Warum soll ich eine große Anlage über eine kleine Box mit winzigem Bildschirm und wenigen Tasten steuern, wenn sowieso meistens irgendwo ein Rechner mit einem oder sogar mehreren Display, Tastatur, Maus etc rumsteht oder für wenig € fertig gekauft werden kann?
Die Verdrahtung sollte mit möglichst wenig Kabeln erfolgen, und zwar ohne spezielle Bussysteme wie CAN, S88, I2C o.ä. Als Medium sollte einfaches Flachbandkabel verwendet werden wo nur möglich, und möglichst einfache (=billige) allgemein verbreitete Steckverbinder. Die Stromversorgung für Kleinverbraucher sollte mit über das Flachbandkabel erfolgen. Ich habe nie verstanden, warum die Unterseite einer Modellbahnanlage aussehen muß wie das Innere einer alten Telephonvermittlungsanlage.
Die Verbindung zum PC sollte über eine Standard-Schnittstelle erfolgen, die ausreichend Bandbreite bietet, aber auch mit 'normalen' Programmiersprachen zu bedienen ist. Also nicht RS232 oder LPT im 'God Mode' (was in Win11 sowieso nicht mehr möglich ist). Die Wahl fiel auf USB.
Und dann kann man auch Aufgaben sinnvoll delegieren:
Der PC kümmert sich nur um das Front End, sprich die Bedienoberfläche. Er erledigt
- die Darstellung eines Gleisplans mit aktuellen Belegungen, Weichen- und Signalstellungen
- die manuelle Steuerung von Zügen, Weichen und Signalen
- die automatische zeit- und ablaufgesteuerte Steuerung von Zügen, Weichen und Signalen über eine Art Fahrplan
- die Kommunikation mit dem Anlagennetzwerk (MBNET) über USB
Das Netzwerk MBNET ist wiederum hierarchisch aufgebaut. Es besteht aus 3
Basistypen von Boards: einem Root-Board (ROOT), zwei Verteilerboards
(HUB4 + HUB18) zum Aufbau eines Netzwerks mit Baumstruktur, und aus
verschiedenen Funktionsdecodern (FDEC). Ein Booster zur
Fahrstromerzeugung ist auch nur ein FDEC wie alle anderen auch!
Das Netzwerk wird über 2 Arten von Verbindungen verteilt:
- als
COMBUS mit einem 6adrigen Flachbandkabel. Diese Verbindungen sind
optisch isoliert, um unerwünschte Masseverbindungen zu verhindern. Damit
werden ROOT und HUBs untereinander verbunden.
- als
DECBUS mit einem 4adrigen Flachbandkabel. Damit werden HUB18 und alle
normalen FDECs verbunden, die FDECs bekommen darüber auch ihre
Spannungsversorgung. Ausnahme: Fahrstrom-Booster haben einen
COMBUS-Anschluss und extra Klemmen für die Versorgungsspannung.
Der ROOT ist eine kleine Basisplatine mit einem FPGA-Aufsteckmodul. Er bezieht seine Versorgungsspannung entweder aus dem USB-Port zum PC, oder aus einem integrierten AC/DC-Modul. Er hat 6 Abgänge für das Netzwerk, alle Typ COMBUS. Er
- erledigt die Kommunikation mit dem PC über USB. Er erhält
Befehle wie 'Setze Signal S24A auf Hp0' oder 'Lok BR01 0505:
Geschwindigkeit 40km/h' (natürlich codiert, nicht als Klartext!)
- gibt diese Befehle per Netzwerk an die richtigen FDECs weiter
- ruft regelmässig den Status aller FDECs ab und gibt nur Änderungen an den PC weiter
- hat eine Liste für alle Lokomotiven und deren aktueller
Geschwindigkeit und Funktionszustand, und erzeugt daraus priorisiert
(Geschwindigkeitsänderungen zuerst) Anweisungen für die Booster
- reagiert auf Interrupts von den FDECs und bearbeitet diese lokal, wenn möglich, oder gibt sie an den PC weiter
Die HUBs sind rein passive Verteiler für das Netzwerk. Es gibt 2 Varianten:
- Ein HUB18 verbindet einen Up-Port (COMBUS) mit bis zu 18 Down-Ports (2 * COMBUS + 16 * DECBUS).
- Ein HUB4 verbindet einen Up-Port (COMBUS) mit bis zu 4 Down-Ports (4 * COMBUS).
Die FDECs erledigen die Arbeit 'vor Ort'. Es gibt relativ einfache wie die Typen LED oder LAMP, die im Prinzip nichts anderes machen als auf Befehl vom ROOT verschiedene Ausgänge auf bestimmte Pegel zu legen. Andere FDECs sind deutlich komplizierter, der Booster z.B. ist eigentlich ein kompletter programmierbarer Signalgenerator, der vom ROOT für jeden Lokbefehl eine neue Signaltabelle zur Ausführung bekommt (wobei ihm völlig egal ist, ob das ein Motorola-, mfx- oder DCC-Kommando ist).
Eine Minimalkonfiguration könnte so aussehen:

Damit kann man schon mal mindestens 5 Züge steuern, plus ca 50 Funktionen wie Signale, Weichen, Belegtmelder etc.
Und wenn das nicht genügt, kann man das Netzwerk fast beliebig erweitern:

Details zu den einzelnen Komponenten sind auf den folgenden Seiten beschrieben.