[Home]   [Dia]   [Eisenbahn]   [Mikrocontroller]   [MoBa Protected]   [Privat]   [Impressum]   [Sitemap]  
 Zurück zu MoBaSbS   BMC
Weitere Infos
BMC
 
Übersicht:

Funktion:

Bevor auf die Funktion des Basis-Modul-Controllers (BMC) eingegangen wird, hier erst einmal ein Eindruck von der aufgebauten Platine:

BMC Vorderseite

BMC Unterseite


Der BMC übernimmt im wesentlichen, neben anderen allgemeinen Kontrollaufgaben,  2 Hauptfunktionen innerhalb der MoBaSbS.
  • Er sorgt für den Datenaustausch zwischen den Basismodulen der MoBaSbS. Dazu pollt der BMC zyklisch alle an ihm angeschlossenen Module und fragt deren Status ab.
  • Er verwaltet die Lokdaten. D.h. es werden bei einer Änderung des Status einer Lok deren Informationen im Speicher des BMCs abgelegt oder aber auch bei einer Anfrage eines Moduls z.B. nach dem Status  einer Lok oder nach derem Namen die gewünschten Daten vom BMC an das anfragende Modul gesendet.
Die Parameter eines Lokdatensatzes werden in einem seriellen EEPROM (ST24C256) gespeichert und nach dem Anschalten der MoBaSbS aus dem EEPROM in ein statisches RAM kopiert. Von dort wird während des laufenden Betriebs dann auf alle Parameter zugegriffen. Die Parameter einer Lok lassen sich in 4 Gruppen aufteilen
  1. Lokparameter, die zum Betrieb unbedingt notwendig (n) sind bzw. dem Komfort (k) dienen. Diese Parameter können direkt über den HDC oder das MoBaSbS-Konfigurationstool eingegeben werden. Zu diesen Parametern  gehören:
    • (n) Adresse der Lok (bis 255 bei MM2, bis 9999 bei DCC)
    • (n) Protokolltyp (MM2 oder DCC)
    • (n) Fahrstufenanzahl (14, 28, 128)
    • (k) Loknamen (20 Zeichen)
  2. Lokparameter, die während des Betriebs verändert werden und deshalb vom Anwender nicht vordefiniert werden können. Dazu gehören:
    • Lokgeschwindigkeit
    • Lokrichtung
    • Funktionstastenstatus
  3. Lokparameter, die Kontrollzwecken dienen. Dazu gehören:
    • Definition, ob eine Funktionstaste tastend oder schaltend behandelt werden soll (derzeit wird dieser Parameter aber nicht ausgewertet)
    • Definition, an welcher Stelle der Datensatz innerhalb aller Datensätze angelegt werden soll. Mit diesem Parameter ist es möglich, bestimmte Loks zu gruppieren. Als Folge einer solchen Gruppierung erscheinen die Loks dann beim Aufruf durch den HDC direkt aufeinanderfolgend.
  4. Lokparameter, die derzeit eher eine statistische Funktion haben und lediglich im Konfigtool ausgewertet werden. Dazu gehören:
    • Artikrlnummer (6stellig)
    • Herstellerbezeichner (Märklin, Roco, Fleischmann, ...)
    • Definition des Loktyps (z.B. Dampf, Diesel, Elektro und entsprechende Untergruppen wie Schnellzuglok, Güterzulok, Triebwagen, etc.)
    • Definition der Lokfunktionen zugeordnet zu den Funktionstasten (z.B.: F1 = Licht vorne, F2 = Dampf, ... , F12 = Geräusch-Kohleschaufeln)

Im Speicher des BMCs können insgesamt ca. 500 Datensätze hinterlegt werden.

Weitere Informationen zur Konfiguration der Lokdatensätze über das  MoBaSbS-Konfigurationstools sind der Beschreibung des Tools zu entnehmen.

Über die vier RJ45 Buchsen links im Bild, lassen sich externe Module, wie etwa HDCs, anschliessen. Werden mehr als die 4 Anschlußmöglichkeiten benötigt, so kann mit entsprechenden Verteilern (Y-Splitter) die Anzahl der Anschlußmöglichkeiten weiter erhöht werden. 

Auf die Jumperoptionen wird weiter unten noch eingegangen..

Aufbauhinweise:

Wie alle anderen Basismodule ist auch der BMC mit einem Mikrocontroller vom Typ ATMega162 (Atmel) bestückt.
Als RAM (32kx8) kann sowohl eine schmale, als auch eine breite Version verwendet werden. Dafür ist auf der Platine eine alternative Bestückung vorgesehen.
Die beiden LEDs oben links im Bild zeigen den Kommunikationsstatus der Module untereinander (gelbe LED), sowie den aktiven Zustand (grüne LED) der MoBaSbS an. Die 4 weiteren Dioden (rechts unterhalb von "C") können ebenfalls in eine  Frontplatte montiert werden, dienen aber  lediglich Debugzwecken.
Die Platine ist so ausgelegt, dass sie in ein 19''-Gehäuse mit Frontplatte passt.

Sonstiges

Hier noch ein paar Informationen zu den Jumpern und Einstellmöglichkeiten. Die gelben Kreise im abgebildeten Layout zeigen folgendes an:

layout

  • A
    • Hier kann definiert werden, ob die an der Frontseite befindlichen Buchsen von einem eigenen Treiber versorgt werden sollen oder ob der interne RS485 Bus nach vorne "herausgeschliffen" werden soll. Derzeit müssen hier zwei Jumper gesetzt werden, die die mittleren beiden Stifte mit den unteren (mit 'i' gekennzeichneten) Stiften des 6pol. Pfostensteckers vertikal verbinden. Der RS485 Treiber, rechts neben den Jumpern, kann weggelassen werden.
  • B
    • Wird bei A der Treiber ausgewählt (die Jumper brücken die mittleren mit den oberen Stiften des 6pol Pfostensteckers), dann kann bei B festgelegt werden, ob beide Treiber (der für den internen und für den externen Bus) aus einer Quelle (2 Jumper bei B von Mitte nach Rechts (U0) gesteckt) oder von zwei unterschiedlichen Quellen (2 Jumper von der Mitte nach Links (U1) gesteckt) gespeist werden sollen. Derzeit wird dieser Jumper in keiner Position unterstützt und bleibt offen!
  • C
    • Hier kann eine Versorgungsspannung von +5V oder +9V bis +12V für jeden einzelnen Ausgang definiert werden. Die 4 Jumper werden dazu von der Mitte nach Links (+5V Option) oder nach rechts (höhere Spannung) gesteckt. Das Fahrpult unterstützt derzeit schon beide Versorgungsoptionen. Um einen Spannungsabfall bei Kabellängen > 5m zu kompensieren, kann hier die höhere Spannung verwendet werden. Ein eigener Festspannungsregler im HDC sorgt dann wieder für die 5V Versorgung. Damit ein versehentliches Einstecken des HDCs in einen PMC anstatt des BMCs nicht zu einer Zerstörung des HDCs führt - an den PMC-Ausgängen liegen generell +9V bis +12V an -, sollte der HDC standardmässig mit dem 5V Festspannungsregler ausgestattet werden und der BMC so gejumpert werden, dass an seinen RJ45 Buchsen die +9V bis +12V Spannung anliegt.

  • D und E
    • Diese Potis dienen zur Einstellung des Abschlusswiderstandes des internen und externen RS485 Busses. Die Einstellung sollte etwa in Mittenstellung sein. Das Poti an Position D hat durch die Jumperstellung von A jedoch keinen Einfluß.
  • F 
    • Hier können +5V eingespeist werden. Diese Einspeisung kann genutzt werden, wenn der Mikrocontroller auf der Platine ausserhalb des Gehäuses programmiert werden soll.
  • G
    • Hier liegt die ISP Schnittstelle und der Resettaster. Über die ISP (In-System-Programmable) Schnittstelle lässt sich der uC im System programmieren. Befindet sich die Karte nicht an der Backplane aufgesteckt, so kann am Punkt F eine 5V DC-Spannung eingespeist werden. Diese ISP-Schnitstelle findet man auf allen Basismodulen der MoBaSbS. Auf den Peripheriemodulen sind sie aus Platz- und Kostengründen nicht vorgesehen. Noch ein Hinweis zum Reset: Der Resettaster auf jedem der Hauptmodule ist eigentlich nur der Vollständigkeit halber vorgesehen, um im Falle eines Falles einmal ein Modul auch alleine zurücksetzen zu können. Auf dem BMC kommt dem Reset aber eine besondere Bedeutung zu, da hier das Auslösen des Resets zu einem Rücksetzen aller Basismodule führt. Dies ist bei den anderen Modulen nicht der Fall! Bei meinem eigenen Aufbau der MoBaSbS habe ich diesen Resettaster über den 2pol Pfostenstecker (links vom Resettaster) und ein Stück Kabel  in die Frontplatte verlegt. So ist er deutlich einfacher zu erreichen. Um eine sauberes Starten des uCs nach dem Einschalten der Spannung zu gewährleisten, ist jeder uC mit einer kleinen Beschaltung für den Reseteingang versehen. Diese Beschaltung besteht aus zwei Bauteilen: Einem 10k Widerstand und einem 100nF Kondensator. Der Widerstand befindet sich genau in der Mitte unterhalb des ISP-Wannensteckers, der Kondensator direkt unterhalb des Resettasters. Ich weise extra auf die beiden Komponenten hin, da sie gerne mal übersehen werden!
Angeschlossen (angesteckt) wird der BMC an die Backplane, die alle Basismodule untereinander verbindet und über die die Kommunikation der einzelnen Module läuft.

Download

Bitte diesem Link folgen.

Copyright by 
Patrick Urban