|
|
Übersicht:
Funktion
Aufbauhinweise
Sonstiges
Download
Funktion:
Bevor auf die Funktion des Basis-Modul-Controllers (BMC) eingegangen wird, hier erst einmal ein Eindruck von der aufgebauten
Platine:
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
- 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)
- Lokparameter, die während des Betriebs verändert werden und deshalb vom Anwender nicht vordefiniert werden können. Dazu gehören:
- Lokgeschwindigkeit
- Lokrichtung
- Funktionstastenstatus
- Lokparameter, die Kontrollzwecken dienen. Dazu gehören:
- Definition, ob eine Funktionstaste tastend oder schaltend behandelt werden soll
- 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.
- Lokparameter, die derzeit eher eine statistische Funktion haben und lediglich im Konfigtool ausgewertet werden. Dazu gehören:
- Artikelnummer (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 LED (rechts unterhalb von "C") können ebenfalls in eine Frontplatte montiert werden, dienen
aber lediglich Entwicklern für Debugzwecke.
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:
- 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.
Stand: 25.11.2019
|