OpenDCC-GBMBoost, eine Steuereinheit für BiDiB und DCC

    Vorbemerkung: Diese Seite deckt mehr die technischen Aspekte der Baugruppe ab, für den Anwender finden sich wichtige Informationen auf www.fichtelbahn.de.

Einleitung

    Mit der Möglichkeit bidirektionaler Übertragung (railcom®) eröffnen sich wichtige Möglichkeiten, die bei der bisherigen Zentrale Z1 nicht im gewünschten Umfang implementierbar sind. Das im GBMBoost implementierte Railcom bietet folgende Vorteile:
    • Fahrzeuge melden selbständig und automatisch Lokadresse sowie Aufgleisrichtung an die Software. Das ist auch mit mehreren Loks in einem Meldeabschnitt möglich.
    • Schnellerer Programmiervorgang: Das Programmieren einer Lok ist etwa zehnmal schneller als auf dem Programmiergleis.
    • Programmieren überall auf der Anlage: die Programmierung kann freizügig überall auf der Anlage erfolgen.
    • Genaueres Rangieren: Auch wenn ein Abschnitt bereits durch einen Waggon oder Lok belegt ist, kann man das Betreten des Abschnittes durch eine (weitere) Lok exakt erkennen und so sehr genau auf den Waggon/Zug auffahren und ankuppeln.
    • Sicherer Betrieb: moderne Dekoder (z.B. von D&H) können Informationen über den Verschmutzungszustand des Gleises liefern und so im Anlagenbetrieb wertvolle Hinweise für fällige Reinigung geben, bevor ein Zug wegen Kontaktproblemen liegen bleibt.
    • Schnelle Rückmeldung auch größerer Informationsmengen, wie z.B. die aktuelle Istgeschwindigkeit, Ort und Adresse aller Fahrzeuge auf der Anlage.
    • Perfekte Optimierung der Gleisausgabe unter Zuhilfenahme der Empfangsquittungen der Lokomotiven und Dekoder.
    Ausgehend von einem leistungsfähigem Interface für die Rückmelder entstand der GBMBoost, welcher wahlweise als Zentrale, Booster und/oder Interface agieren kann.

Eigenschaften

    Die Steuereinheit GBMBoost kann für drei wesentliche Aufgaben eingesetzt werden, die Funktionen werden durch die geladene Firmware definiert:
  • Als Zentrale (Command Station):
    Hier agiert der GBMBoost wie eine konventionelle Zentrale. Enthalten ist ein Interface vom PC in die Anlage, die Anschlußmöglichkeit von Handreglern und Bedienpulten via Xpressnet, weiterer Einheiten via BiDiB, sowie ein integrierter Booster bis 4A.
  • Als Booster:
    In dieser Betriebsart funktioniert der GBMBoost als intelligenter Booster, welcher das von der Zentrale über BiDiB bereitgestellte Signal verstärkt auf die angeschlossenen Gleise gibt. Die internen Zustände des Boosters (also momentaner Strom, Spannung, Temperatur) werden direkt an das Hostprogramm gemeldet.
  • Als Rückmelde-Concentrator:
    In dieser Betriebsart werden Rückmeldungen von bis zu drei lokal angeschlossenen Rückmeldemodulen (GBM16T) ausgewertet. Das kann auch gleichzeitig mit der Boosterfunktion erfolgen.
  • Mit diesen Einsatzmöglichkeiten wird nun die Digitalisierung einer Modellanlage denkbar einfach: Eine GBMBoost übernimmt die Signalerzeugung und das PC-Interface, je nach Anlagengröße sind weitere GBMBoost als Booster zugeschaltet. An der ersten GBMBoost bzw. an beliebigen weiteren GBMBoost sind die Rückmeldemodule angegeschlossen, welche dann alle Gleisanschlüsse bereitstellen. Es ergibt sich eine saubere, klare und einfach zu verlegende Installation.

Download

Anschluß


    Am oberen Platinenrand wird USB (zum PC) und die Stromversorgung angeschlossen. Als Stromversorgung ist ein potentialgetrenntes, geregeltes Gleichstromnetzteil erforderlich. Die Spannung sollte 16V für H0, 12-14V für Spur N betragen. Auf die dem Einsatzzweck entsprechende Schutzklasse des Netzteiles ist zu achten. OUT1 und OU2 sind die Ausgänge des Boosters.

Schaltung

  • Prozessor:
    Kern des GBMBoost ist ein Atmel AVR Atxmega128A1 oder Atxmega128A1U (Die Firmware ist auf beiden Typen lauffähig). Dieser Chip bietet mit insgesamt 8 seriellen Schnittstellen die Basis für die vielen Anschlußmöglichkeiten. Der Chip wird mit 3,3V versorgt und mittels eines 8MHz-Quarz getaktet. Durch die interne PLL wird der Arbeitstakt des Prozessors auf 32MHz eingestellt.
  • Stromversorgung:
    Der Stromversorgungseingang ist gemäß folgender Schaltung verpolsicher ausgeführt:


    Die anzulegende Spannung ist mit 16V für H0 und 14V für N empfohlen. Es muß eine geregelte Gleichspannung verwendet werden, wie sie z.B. Laptopnetzteile liefern. Allerdings muß man beachten, dass gerade die oft bei ebay angebotenen 'Universallaptopnetzteile' ziemliche Störungen am Ausgang liefern.
    Aus der Eingangsspannung wird dann mit einem 12V-Längsregler die Busspannung erzeugt. Der Prozessor wird 3,3V versorgt. Als Spannungsregler für die 3,3V kommt LP2951-33 (bzw. TS2951ACS-33) zum Einsatz, wobei dieser an der Vorregelung des LM7812 läuft. Da der 3,3V-Regler wird durchaus warm wird, wurde ab Layoutversion 1.8 diese Spannungsversorgung auf Schaltregler TPS62177 umgestellt.
  • Booster:
    Als Booster wird eine BTM7752 H-Brücke von Infineon verwendet, diese zeichnet sich durch ein hervorragendes Ausgangssignals aus:

    Der Screenshot vom Oszilloskop HMO2524 zeigt gelb und blau die Flanken der beiden Seiten der Brücke, rot das sich ergebende Summensignal am Gleis. Die Flanke ist sauber monoton und besitzt eine gut passende Anstiegsflanke (nicht zu schnell, nicht zu langsam), welche Reflexionen und sich daraus ergebende Spannungsüberhöhungen und Fehler bei der Signalerkennung sehr gut verhindert. Wichtig sind die Abblock-Cs um den Booster, speziell der Elko muß ein niedriges ESR und hohen zulässigen I(ripple) haben, hier muß unbedingt ein Polymertyp (z.B. Oscon) eingesetzt werden.
    Am Ausgang des Boosters ist ein Kompensationsfilter (C12, C21 und R62 .. R65), hierbei wird C12 nicht bestückt. R62 .. R65 sind 4,7 Ohm Widerstände, diese müssen aus Verlustleistungsgründen die Bauform 1206 haben.

    Die Spannung des Boosters wird über einen Spannungsteiler mit dem A/D-Wandler des Prozessors überwacht, ebenso der fließende Strom, welcher vom Boosterchip intern in eine Meßspannung konvertiert wird. Die Spannungs- und Strommessung ist hier nicht auf große Genauigkeit getrimmt, jedoch sind speziell bei der Strommessung recht hohe Toleranzangaben der H-Brücke zu berücksichtigen. Diese werden per Firmware abgeglichen, dann ergibt sich eine genaue Messung mit etwa 5% Meßfehler, was für diese Zwecke vollkommen ausreichend ist.
    Der Abgleich der Strommessung muß einmalig erfolgen, der ermittelte Abgleichwert wird gespeichert.
    • 1. GBMBoost mit gestecktem Debug-IF Jumper einschalten. Auf der USB-Schnittstelle mit 115200, 8N1 verbinden.
    • 2. An den Boosterausgang einen Leistungswiderstand im Bereich 50-100 Ohm anschließen.
    • 3. Mit dem Kommando BA<cr> die aktuellen Messwerte und Einstellwerte für die Messung anzeigen lassen.
    • 4. Kontrollieren, ob die gemessene Spannung stimmt und ob der eingestellte Meßwiderstand stimmt.
    • 5. Falls ein abweichender Meßwiderstand verwendet wird: mit Kommando BAR [wert]<cr> den bisherigen Wert korrigieren.
    • 6. Messungsabgleich mit BA 1<cr> starten.
    • 7. Sicherheitshalber eine Zustandsanzeige (und Strommessung) mit dem Kommando B<cr> starten.
    • 8. Wenn das Messergebnis gut ist, kann man den aktuellen Abgleichwert BAS permanent speichern. Dabei wird der Abgleichwert in die USER SIGNATURE ROW des xmega gespeichert und ist dort sogar gegen 'chip erase' gesichert.
    • 9. Sollte der Abgleich aus irgendwelchen Gründen daneben gehen, kann man mit BA [wert] einen Abgleichwert manuell setzen. BA 823 ist der default-Wert.
  • BiDiB-Interface:
    Das BiDiB-Interface wird mit zwei RS485 Transceivern gebildet: ein Transceiver übernimmt das DCC-Signal, der zweite Transceiver kontrolliert die Datenleitung. Eine BiDiB-Busleitung muß an beiden Enden abgeschlossen werden, an einer Stelle soll eine kontrollierte 'Vorspannung' (Biasing) erfolgen. Der Abschluß kann durch steckbare Jumper erfolgen, das Biasing erfordert das Bestücken von 2 Widerständen mit 1.5 KOhm. Biasing darf im System nur einmal erfolgen und wird bei der Baugruppe Interface gemacht.
      BiDiBus Konfiguration
      Abschlußan beiden Enden der Busleitung
      Biasingnur auf dem Interface, je ein Widerstand 1,5kΩ
      Spannungsversorgungauf dem Interface, Spannungsregler 12V
    Wichtig: die Spannungsversorgung des BiDiB muß vorhanden sein, sonst erfolgt kein Pullup auf der ACK-Leitung und die Booster können nicht einschalten.
  • Programmierumschalter:
    An einer der 6-poligen GBM16T-Schnittstelle kann alternativ auch ein Programmierumschalter angeschlossen werden.
    Über diese Modul kann beim Aktivieren des Service-Mode (Programmiermode) automatisch auf ein Programmiergleis umgeschaltet werden. Service-Mode ist eine Programmiertechnik von Lokomotiven und Dekodern, bei der keinerlei Adressierung erfolgt, alle im Bereich des Ausgangs aktuell erreichbaren Dekoder werden umprogrammiert. Deshalb ist es sinnvoll, für den Fall 'Servicemode' die normale Anlage abzutrennen und nur ein spezielles Programmiergleis (auf dem sich dann nur eine Lok befindet) zu verbinden.
  • USB-Interface:
    - Text fehlt noch -
  • Xpressnet-Interface:
    - Text fehlt noch -
  • Rückmeldemodul-Interface:
    - Text fehlt noch -
  • Externe Nothalttaster:
    - Text fehlt noch -

Verhalten des Boosters

    Der Booster verstärkt das Gleissignal, welches er über BiDiB empfängt. Optional fügt er eine Austastlücke (cutout) für BiDi (railcom®) hinzu. Für die Kontrolle der Booster ist neben der Abschaltung durch den Host auch eine dezentrale Nothaltschaltung vorgesehen.

    Der Booster wird unter folgenden Bedingungen aus- oder eingeschaltet:
  • Ein- Ausschaltnachricht vom Host
    Der Host sendet an das Interface die entsprechende Nachricht, diese wird von dort als Broadcast verteilt. Eine Quittung oder ein Statusupdate erfolgt nach der Umsetzung der Zustandsänderung. Diese Quittung erfolgt von jedem Booster, daran kann der Host ev. nicht mehr reagierende Booster erkennen.
  • Ausfall oder Einschalten des DCC-Signals
    Wenn das im BiDiB verteilte DCC-Signal keine Flankenwechsel mehr enthält, dann schaltet der Booster ab. Es erfolgt eine Meldung an das Steuerprogramm. Wenn das DCC-Signal wieder aktiviert wird, dann schaltet der Booster von selbst ein (sofern nicht durch FEATURE_BST_INHIBIT_AUTOSTART verhindert). Dieser Übergang kann z.B. benutzt werden, um nach einem generellem Nothalt eine komplette Anlage wieder hochzufahren.
  • Blockade der ACK-Leitung (harter Nothalt):
    Ein DCC-Generator schaltet ab, wenn die ACK-Leitung für eine bestimme Zeit auf LOW gezogen ist. In Folge schalten auch alle Booster ab. Ein automatisches Wiedereinschalten erfolgt nicht.
  • Überstrom:
    Sofern ein zu hoher Stromverbrauch festgestellt wird, reagiert der Booster wie folgt:
    • Der hohe Stromverbrauch wird für eine kurze Zeit (im Bereich von ein paar ms) toleriert. Diese Zeit ist durch ein feature einstellbar. Dabei wird zwischen einem erstmaligen Einschalten und regulärem Betrieb unterschieden.
    • Bleibt der hohe Stromverbrauch für mehr als die Toleranzzeit bestehen, wird abgeschaltet. Der Booster versucht dann dreimal, innerhalb kurzer Zeit (10ms) erneut einzuschalten.
  • Sollte dabei wieder Überstrom detektiert werden, so schaltet der Booster permanent ab und und gibt eine Statusmeldung an den Host.

Kühlung

    Das Board ist recht dicht gepackt und neben den vielen Funktionen ist auch ein Booster mit integriert. Der Booster kann etwa 3A Dauerstrom, Spitzenleistung ist 5A. Zur Kühlung sind sehr viele Kupferflächen und Vias rund um den Chip vorgesehen, ein SMD-bestückbarer Kühlkörper von Fischer Elektronik erhöht die Abstrahlung des Boards.
    Wenn man 3A Dauerstrom zieht, geht der Chip auf etwa 100° hoch (bei 23° Umgebung). Bei 4A Dauerstrom wird es dann noch ein bischen mehr. Hierbei spielt auch die Einbausituation eine Rolle: Wenn das Board flach liegt, sind die Temperaturen höher, bei senkrechtem Einbau und guter Konvektion sind die Übertemperaturen deutlich geringer. Senkrechter Einbau ist empfohlen.

    Es gäbe noch drei Möglichkeiten, die Kühlung zu verbessern:
  • Kühlkörper auf Chip aufkleben
  • unten 2. SMD Kühlkörper montieren
  • 3,3V als Schaltregler ausführen


  • Erfahrungen aus realem Anlagenbetrieb (Ausstellungsanlage): Ein Booster bedient dort etwa 8-12 Blöcke und erwärmt sich dabei auf etwa 50°.

Software Details

  • Booster:
    Die Boosterfunktion ist in der Firmware weitgehend von der Zentralenfunktion getrennt. Selbst bei Betrieb als DCC-Erzeuger wird das DCC-Signal ausgegeben und dann wieder empfangen, d.h. die Software empfängt das im anderen Modul erzeugte Signal selbst wieder. Das läuft unabhängig, damit ist dann auch eine Betrieb mit externem DCC möglich.

Einsatz bei Gartenbahnen?

    Der GBMBoost und die Belegtmelder sind optimiert für H0, TT, N oder Z. Bei Gartenbahnen wird i.d.R. mehr Leistung benötigt und auch mit höherer Spannung gefahren. Die Platine ist daher für Gartenbahn nicht geeignet.
    Will man trotzdem die Platinen für Gartenbahn verwenden, dann müssen folgende Stellen beachtet werden:
  • Boosterstrom:
    Der Booster kann etwa 3A Dauerstrom, Spitzenleistung 5A. Wenn man dauerhaft viel Leistung nimmt, muß man über zusätzliche Kühlung nachdenken. Die Platine ist an der Stelle ein Kompromiss aus Bauteilaufwand, Platinenfläche, Leiterbahnbreite und erzielbaren technischen Daten, welcher optimal für H0 und kleiner ist.
  • Ausgangsspannung:
    Auch die Ausgangsspannung ist in der Standardversion auf 20V beschränkt, der Grund hierfür ist der (teure) Polymer-Elko des Boosters. Wenn man höher gehen will, muß man die Bauteile im Leistungspfad beachten: FET des Verpolschutzes, Ladeelko, Boosterchip. Der Boosterchip kann die bei Gartenbahn üblichen 24V (allerdings läuft er bei dieser Spannung nicht mehr im optimalen Betriebspunkt), beim FET und Elko muß man fallweise andere Komponenten verwenden.
  • Verlustleistung:
    Am 7812 Regler fällt mehr Spannung ab, daher wird hier eine Kühlung erforderlich.
  • Strom der Sensoren?
    Auch im Messzweig muß die Stromfähigkeit der Dioden beachtet werden. Die SSL33A kann 3A Dauerstrom, DCC ist Wechselstrom, also sind etwa 5A möglich.

Änderung von Version 1.5 nach V1.6

  • LEDs grün auf LTSTC190 KGKT (mit 35mcd@20mA)
  • Spannungsregler: LP2951-33 (bzw. TS2951ACS-33), damit Entfall von R45/R46 bzw. R60/R61; im Layout ist auch alternativ der TS2950ACT-33 im TO92-Gehäuse (3-beiniges Transistorgehäuse) bestückbar.

Rückmeldemodul GBM16T

Anschlußklemmen

    Der GBM16T kann mit verschiedene Klemmen für den Gleisanschluß bestückt werden. Je nach Anschlußplatz und finanziellen Aufwand gibt es verschiedene Alternativen. Empfohlen ist jeweils zweiadrige, verdrillte Anschlußleitung zum Gleis, bei den RIA-TOP und bei den Doppelstockklemmen ist der notwendige Verteiler gleich mit auf der Platine integriert:
    Anschlußklemmen für GBM16T
    Klassische Schraubklemmen, Raster 3,5mm
    Diese ist die preiswerteste Alternative
    Doppelstock-Schraubklemmen, Raster 3,5mm
    Hier lassen sich beide Adern vom Gleis direkt paarweise einklemmen, ein extern Verteiler ist nicht nötig.
    RIA Stiftstecksystem, Raster 3,5mm
    Die Verbindung zum GBM16T ist lösbar, der Anschluß erfolgt mit steckbarem Schraubklemmen. Diese gibt es anreihbar in verschiedenen Polzahlen.
    RIAplug Stecksystem, gewinkelt, Raster 3,5mm
    Die Verbindung zum GBM16T ist lösbar, der Anschluß erfolgt mit steckbarem Schraubklemmen. Dieses System ist verpolsicher und mechanisch robust.
    RIAplug Stecksystem, gerader Abgang, Raster 3,5mm
    Die Edellösung. Sowohl Verteilerfunktion für einfachen Anschluß als auch lösbare Verbindung ist realisiert.

Schaltung

    ... Text fehlt noch ...

Download

Eigenschaften, Details

    In diesem Abschnitt geht es um technische Details zu bestimmten Abläufen, für Anwender ist das normalerweise ohne Belang.
  • Mehrere Loks in einem Abschnitt
    Railcom kennt 2 Kanäle (Channels), in denen Nachrichten von der Lok zum Rückmelder gelangen. Channel 1 ist ein sogenannter Broadcast-Kanal, hier sendet jeder Dekoder permanent seine Adresse aus. Sind hier mehrere Dekoder in einem Abschnitt, so kommt es zu Überlagerungen und gegenseitiger Störung der Übertragung. Im Channel 2 hingegen darf nur der aktuell adressierte Dekoder senden.

    Der GBM16T empfängt auf beiden Kanälen und kann so bis zu 4 Lokomotiven unterscheiden. Wenn im Channel 1 bei n aufeinanderfolgenden, kompletten Adressmeldung kein Fehler aufgetreten ist, wird diese Adresse als gültig angenommen. Die Zahl n is per CV einstellbar. Ebenso wird die aktuelle DCC-Adresse als gültig angenommen, wenn ich Channel 2 eine fehlerfreie Antwort empfangen wird.
    Wenn eine Adressmeldung neu empfangen wird, werden die bisherigen Adressen von Channel 1 als auch Channel 2 geprüft, ob diese neue Adresse schon vorhanden ist und nur bei Änderungen erfolgt eine Meldung. Adressmeldungen verfallen automatisch nach 800ms, wenn der Dekoder nichts mehr sendet.

    Durch dieses Verhalten ist der GBM16T in der Lage, auch mehrere Dekoder in einem Abschnitt zu detektieren, auch wenn in CV28 bei railcom-Kanäle aktiviert sind.
  • CV-Lesen
    Der GBM16T enhält einen Filter, welcher sich wiederholende identische CV-Meldungen unterdrückt. Wenn also ein Dekoder eine mit PoM gelesene CV meldet, dann wird nur eine Nachricht an den Host geschickt. Diese Nachricht enthält Lokadresse, CV-Adresse und CV-Datum. Sollte die gleiche CV binnen 500ms erneut eintreffen, wird keine erneute Nachricht generiert.

    Dadurch, dass die CV mitsamt der Lokadresse ausgeliefert wird, lassen sich PoM-Lesezugriffe beschleunigen: Es kann bereits ein weiterer PoM-Befehl an den Dekoder geschickt werden, während die Auswertung des ersten Lesebefehls noch auf dem Weg zum Host ist.

Programmiergleis

    Ab Version 2.2 kann die Firmware des GBMBoost auch Programmiergleisbefehle. Programmiergleisbefehle wirken ohne Adressierung und wirken auf alles, was mit dem Ausgang verbunden ist. Es ist also zwingend sicherzustellen, dass im Programmiermode nur genau ein Dekoder mit dem GBMBoost verbunden ist, das gilt auch für gleisseitig angeschlossene GBM16T. GBM16T, die auch mit dem Datensignal (6-poliger Stecker) mit dem GBMBoost verbunden sind, werden beim Start des Programmiermode von der Firmware benachrichtigt und schalten für diese Zeit ihren DCC-Servicemode ab, dürfen daher verbunden bleiben.

    Aus den genannte Gründen ist es daher sinnvoll und empfohlen, für das Programmieren einen eigenen GBMBoost zu verwenden. Um diesen leichter in ein Anlagenkonzept integrieren zu können, gibt es eine Relaisplatine zur automatische Umschaltung beim Programmieren. Dies wird wie folgt verwendet:
  • Regulärer Ausbau mit getrenntem GBMBoost für das Programmieren:
    GBMBoost A, steuert die Anlage, GBMBoost P wird fürs Programmieren verwendet. Das Programmiergleis G wird automatisch zwischen Anlage und Programmier-GBMboost hin- und her geschaltet.
  • Sparausbau mit einem GBMBoost
    Die Anlage ist normal verdrahtet, jedoch werden die Zubehördekoder über das Relais geleitet. Beim Programmieren müssen alle anderen Loks von der Anlage entfernt werden, Zubehördekoder werden durch das Relais abgeschaltet. Die angeschlossenen GBM16T werden durch eine interne Nachricht deaktiviert.

DCC-Accessory

    Die ursprüngliche Definition von DCC Accessory lehnte sich sehr nach an damals verfügbare erste Hardware an und zerlegte Weichenadresse in Dekoderadresse und Ausgangspaaradresse (2 Bit). Um die ungewohnte 0 also erste mögliche Adresse zu vermeiden, hat man den gültigen Bereich bei 1 beginnen lassen. Leider aber nicht jeder Hersteller gleich ... Auch bei der Bedeutung der Ausgangspaare (was bedeutet Hp0/Hp1 bzw. gerade/abzweigend) gibt es Unterschiede in den bisherigen Protokollen, insbesondere p50x hat da so seine Eigenheiten.
    • Bei BiDiB ist es klar definiert und entspricht der Normung des VDHM.
    • Bei Xpressnet kann es Abweichungen geben (Multimaus)
    • Bei p50x stimmt sowohl Adresszählweise als auch Begriffsbedeutung (rot/grün) nicht überein.
    Ich habe deshalb 3 CVs eingebaut, welche eine Anpassung an ältere Protokoll erlauben:
    • CV15: invert_accessory
      default: 0x02
      Hier wird eine rot/grün-Invertierung definiert, es ist ein Bitfeld: Bit 1: invert p50x, Bit 0: invert on xpressnet
    • CV83: xp_accessory_offset
      default: 0x00
      Hier wird ein Offset für Xpressnet Accessory definiert. Z.B. bedeutet Offset = 3, dass der Weichenbefehl '3' als DCC '0' ausgegeben wird. Damit kann ein eventueller Offset eines Bediengerätes rückgängig gemacht werden.
    • CV84: p50x_accessory_offset
      default: 0xFF (= -1)
      Offset für Weichenadressen auf p50x (wenn diese Protokollemulation gewählt wurde)

Legacy Mode

    Zur Unterstützung veralteter Hostsoftware gibt es die Möglichkeit, an der Hostschnittstelle eine HSI88 bzw. p50x-Emulation (TamsEC) zu aktivieren.
    Wichtiger Hinweis vorab: diese Emulation sind ausdrücklich beta-Status, werden nicht gepflegt und sind nur in besonderen Firmwareversionen enthalten. Auch kann es sein, dass ein Hostprogramm (z.B. Traincontroller) auf eine gewisse Trägheit einer Intellibox vertraut und nicht mit dem schnellen Antwortverhalten des GBMBoost zurecht kommt.

    Hosteinstellungen: Im Gegensatz zu den orginalen emulierten Interfaces läuft der GBMBoost auf der Hostseite immer mit 115200 Baud. (Einstellung DEFAULT_BAUD im Sourcecode). Man muß also die Hostsoftware auf diese Baudrate einstellen, hierzu muß man je nach Programm auch Registry oder Configdateien verändern, z.B. mittels UseCommDefaults=1

    Änderungen am Master: Zum Support eines solchen Legacy-Interface muß man die Baumstruktur von BiDiB aufheben (diese Interfaces kennen das nicht), es wird also ein 'lokaler' Host implementiert, welcher untergeordnete Knoten abfrägt, die Daten sammelt und fallweise dafür sorgt, dass die gewählte Emulation auch einen Hosttransfer auslöst. (Einstellung in config.h: #define LOCALHOST_ENABLED 1) Dieser lokale Host beherrscht nur 'flache' Adressierung, keine Hubs. Auch ist es nicht möglich, erweiterte Fähigkeiten von BiDiB zu nutzen: Boosterkontrolle und -diagnose, railcom, Accessory usw. sind nicht möglich, nur Belegtmeldung und Lokkontrolle. Oder kurz gesagt: 'Ende der Ausbaustrecke'.
    Adressmeldungen:Lokadressen können auf diesem Weg nicht an die Hostsoftware übermittelt werden, die p50x-Emulation kennt keine derartigen Befehl. Es gibt allerdings ein BiDiBOne-Projekt, welches den Busverkehr mitloggt, Adressmeldungen rauskopiert und über eine RCTALK-Schnittstelle weiterreicht. Mehr Informationen dazu finden man in Forum.
    Sogar bei der Belegtmeldung sind bereits Klimmzüge erforderlich: das Interface muß in diesem Fall eine Abbildungsfunktion von BiDiB-Melder auf klassische S88-Melder bereitstellen (also quasi eine Rückübersetzung von der Nodeadresse auf die Melderadresse), dies erfolgt im Debug-Mode mit zusätzlichen Konfigurationseingaben.
  • Sonderbefehle Debug-IF:
    • NB: Einstellen der Nodebase: Damit wird dem angegebenen Node eine bevorzugte lokale Adresse und eine Basisadresse für die Belegtmeldungen zuwiesen. Belegtmeldungen dieses Nodes werden dann beginnend mit der Basisadresse in das Rückmeldearray eingetragen. Basisadressen müssen immer durch 8 teilbar sein, also 0,8,16, usw. Es ist seitens des Anwenders darauf zu achten, dass sich Rückmeldebereiche nicht überlagern.
      In der p50X-Emulation gibt es einen nutzbaren Bereich von 1024 Meldern, von diesem Bereich ist fest der Bereich 0..63 für 'Systemmeldungen' reserviert. Die Melderadressen 0..31 sind für NODE_INACTIVE vorgesehen (d.h. der Melder geht an, wenn der auf dieser Adresse konfigurierte Node nicht da ist), 32..63 für die Confidence-Meldung des Nodes (d.h. dieser Melder geht an, wenn der Node ein Problem bei DCC sieht, das entspricht einer Booster-Kurzschlußüberwachung).
      Der Lokalhost versucht, die Nodes gemäß der NB einzusortieren, d.h. bei voll konfiguriertem System ergeben sich i.d.R. immer gleiche Nodeadressen, damit sind die Adressen 0..63 den jeweiligen Nodes zugeordnet.
      Die Basisadresse wird intern im Interface zusammen mit der Unique-ID gespeichert und beim nächsten Start dann anhand der Unique wieder restauriert.
    • NI: Senden einen Identify-Befehles an einen Node. Der angesprochene Node beginnt zu blinken. Damit läßt sich die Zuordnung der Belegtmeldung kontrollieren.
    • N: Anzeige der Nodetabelle.
    • O: Anzeige des aktuellen Belegung.
  • Befehle HSI88: siehe GBM16TC
  • Befehle P50X: siehe OpenDCC Z1, jedoch fehlen hier die Programmiergleisbefehle und die Befehle für Sonderoptionen.

Testfunktionen

    Der GBMBoost verfügt über neben den Hostprotokollen BiDiB und diversen legacy-modes auch über einen Textmode (Debug-IF), hier können detailiertere Fehlermeldungen abgefragt werden und auch diverse Tests aufgerufen werden. Das Debug-IF wird über den gesteckten Jumper J0 aktiviert. (das ist die vierfache Jumperleiste zwischen XP und BiDiB-Anschluß, J0 ist der Jumper am nächsten zu den XP-Buchsen).
  • XD
    Es folgen zwei Parameter: state, level.
    state bezeichnet den Zustand des DCC-Generators: 0=off, 1=on; level ist optional und gibt bei state=off dem Zustand der DCC_OUT Leitung vor.

    Anwendung: Wenn der Booster nicht einschalten will (DCC missing), dann kann die Verbindung von DCC_OUT zu DCC_MAIN gestört sein. Zum Nachmessen kann man mit XD 0, 0 den Generator abschalten und die Leitung DCC_OUT auf 0 ziehen. Mittels XD 0,1 wird ein High-Pegel auf DCC_OUT ausgegeben.