[Home]   [Dia]   [Eisenbahn]   [Mikrocontroller]   [MoBa Protected]   [Privat]   [XBeeHausAutomation]   [Impressum]   [Sitemap]  
 Zurück zu MoBaSbS   IFC
Weitere Infos
IFC


Übersicht:

Funktion
Aufbauhinweise
Sonstiges
Download

Funktion:

Bevor auf die Funktion des InterFace-Controllers (IFC) eingegangen wird, hier erst einmal ein Eindruck von den aufgebauten Platinen. Um die USB-Schnittstelle anstelle einer RS232 Verbindung nutzen zu können, kann auf den IFC ein USB-Adapter gesteckt werden. Der USB- Adapter wird weiter unten gezeigt.

IFC Bestückungsseite

IFC Bestückungsseite

IFC Lötseite

IFC Lötseite

Auch das Platinenlayout darf nicht fehlen.

Layout

Der IFC stellt die Verbindung zwischen der MoBaSbS und einem PC her. Alternativ kann zwischen einer RS232 Schnittstelle (19.200 Baud) mit Hardwarehandshake (CTS) oder einer USB-Schnittstelle gewählt werden. Damit war die MoBaSbS die erste Modellbahnsteuerung (man berichtige mich, wenn dies nicht stimmen sollte), die über eine echte USB Verbindung angesprochen werden kann. Zur Nutzung der USB Schnittstelle ist ein VirtuellerComPort (VCP) Treiber nötig. Er emuliert eine serielle Schnittstelle im PC für die Steuerungssoftware; der Datenverkehr wird aberüber die USB-Verbindung hergestellt. Den Treiber für den VCP und weitere Informationen findet man bei FTDI. Weitere Hinweise unter 'Sonstiges'.
Bevor auf die Aufbauhinweise eingegangen wird, hier noch der USB-Adapter:

USB Adapter Bestückungsseite

USB Adapter - Bestückungsseite

USB Adapter Rückseite

USB Adapter - Rückseite

Aufbauhinweise:

Der USB-Adapter kann auf dem IFC direkt eingelötet werden. Ich empfehle aber, ihn in zwei Fassungsreihen zu sockeln. Für den DIP- Switch lassen sich zwei Varianten einbauen. Auf dem Bild oben ist die - wie ich finde - 'unbequemere' Variante eines flachen DIP-Switches zu sehen. Ich empfehle hier einen abgewinckelten DIP-Switche einzusetzen, da dieser auch bei der Montage einer Frontplatte eingesetzt und erreicht werden kann.
Die im Layout zu sehenden roten Punkte bezeichnen die Kathode der eingesetzten Dioden bzw. den Minus-Anschluß der Elkos. Hier liegt eine der häufigsten Fehlerursachen, die bisher beim Zusammenbau der MoBaSbS aufgetreten sind.
Weitere Hinweise bzgl. der ISP-Schnittstelle und zum Reset finden sich auf der Seite zum BMC.
Der Anschluss des Interfaces findet wieder über die Backplane statt, die alle Module untereinander verbindet.
Die Platine ist als Einschubkarte für ein 19''-Gehäuse ausgelegt und kann mit einer Frontplatte versehen werden.
Zu den markierten Punkten:

  • A
    • Hier können +5V eingespeist werden. Ich nutze diese Einspeisung, wenn ich ein Board ausserhalb des Gehäuses programmieren möchte.
  • B
    • DIP-Switch zur Konfiguration des Interfacetypes und der Baudrate bei RS232 Betrieb
  • C
    • Schnittstelle und Komponenten für den RS232 Betrieb
  • D
    • Schnittstelle und USB-Adapter für den USB-Betrieb

Sonstiges:

Die beiden LEDs direkt am oberen linken Rand der Platine zeigen den Status der internen Verbindung zum BMC (oberste, gelbe LED) und den Status des CTS Signals (rote LED darunter) an. Die beiden weiteren LEDs dienen Debug-Zwecken und brauchen nicht unbedingt besückt oder in eine Frontplatte integriert zu werden.
Über den DIP-Switch lassen sich verschiedene Betriebsmodi und Kommunikationsarten des IFCs einstellen.

  • Lokfahr- und funktionsbefehle an den PC weiterreichen

In diesem Modus, den man durch das Setzen des 8ten DIP-Switches (siehe untenstehende Abbildung) auswählen kann, werden Lokfahr- und funktionsbefehle, die von einem MoBaSbS-Modul (z.B. HDC) abgesetzt werden, an den PC durchgereicht. Das MoBaSbS eigene Konfigurationstool wertet diese Informationen aus und aktualisiert die Zustandsinformationen (Geschwindigkeit, Richtung und Status der Funktionstasten F0-F12) in den Lok-Kontroll-Fenstern.


IFC_DipSwitch8

Durch die Unterstützung der MoBaSbS über einem MoBaSbS eigenen Treiber durch die Modellbahnsteuerungssoftware TrainControllerTMist es nun auch neben der MoBaSbS-Konfigurationssoftware möglich, diesen Modus auszunutzen; bei anderen Modellbahnsteuerprogrammen sollte der DIP-Switch 8 nicht gesetzt sein
Damit gibt es nun 2 Möglichkeiten, die MoBaSbS an TrainControllerTM oder die MoBaSbS-Konfigurationssoftware anzubinden:
   1. Über die serielle Schnisstelle des IFCs
   2. Über die USB-Schnittstelle des IFCs
Die DIP-Switch-Einstellungen für diese beiden Modi sind in der folgenden Abbildung gezeigt:
IFC DIP-Switch

  • Prinzipiell unterstützte der IFC 3 verschiedene Kommunikationsarten. Diese sind:
    • serielle Kommunikation (RS232). Diese Verbindung entspricht dem von der Firma "Lenz Elektronik GmbH" definierten seriellen Protokoll.
    • USB Kommunikation mit seriellem Protokoll. Diese Verbindung entspricht wiederum dem oben genannten seriellen Protokoll, wobei anstelle der seriellen, die USB-Schnittstelle über den VCP genutzt wird.
    • USB Kommunikation. Diese Verbindung entspricht dem von der Firma "Lenz Elektronik GmbH" definierten USB-Protokoll. Auch hier wird jedoch eine emulierte serielle Schnittstelle (VCP) genutzt, um die Kommunikation mit einer Modellbahnsteuerungssoftware herstellen zu können.

Zur Einstellung der Die Kommunikationsarten; gelten die in der Abbildung gezeigten DIP-Switch Stellungen. Zur Orientierung sind die neben dem DIP-Switch liegenden LEDs mit eingezeichnet.

PCIF_DIPSwitch

Hinweise zum VCP (Virtuellen Com-Port) Treiber von FTDI. Der auf dem USB-Adapter eingesetzte USB Chip hat dir Bezeichnung FT245BM. Ebenso einsetzbar ist der FT 245 BL. Er kann z.B. bei dem Distributor "Reichelt Elektronik" bezogen werden. Aktuelle Treiber (VCP-Treiber aktuelle Version) findet man, wenn man diesem Link folgt. Die Installation ist sehr einfach. Obwohl die heruntergeladene Datei eine .exe Datei ist (Diese nicht mit einem Doppelklick ausführen), sondern mehrfach in ein beliebiges Verzeichnis entpacken, bis die unten gezeigte Dateistruktur zur Vorschein kommt.
FDTI Treiber
Die beiden rot umrandeten Dateien müssen noch ergänzt werden. FTDI war so freundlich und hat der MoBaSbS eine eigene PID innerhalb der für FTDI vergebenen VID zugeteilt (VID: Vendor ID, PID: Product ID). Die VID lautet 0x0403, die zugewiesene PID 0xCB20. Diese beiden Werte, sowie die 'Product Description' 'USB-IF MoBaSbS V2.0', mit denen der USB-Adapter programmiert wurde, müssen in zwei Dateien 'ftdibus.inf' und 'ftdiport.inf', die in dem ZIP-Archiv enthalten sind, eingetragen werden. Wer die Änderungen nicht manuell in die Dateien eintragen möchte, der kann hier die beiden bereits modifizierten Dateien herunterladen und die beiden mitgelieferten Dateien von FDTI durch die Heruntergeladenen ersetzen:
MoBaSbS/IFC/FTDI_bereits_geändert_2017.zip
MoBaSbS/IFC/FTDI_bereits_geändert_2010.zip

Hier die Einzelheiten für diejenigen, die die beiden Dateien selbst modifizieren möchten (dargestellt sind lediglich die Passagen in den beiden Dateien, in denen die rot eingefärbten Zeilen ergä;nzt werden müssen)

Ftdibus.inf aus VCP-Treiberpaket, Version 2.12.28 vom 30.08.2017

[FtdiHw]
...
%USB\VID_0403 PID_CB20.DeviceDesc%=FtdiBus.NT,USB\VID_0403 PID_CB20

[FtdiHw.NTamd64]
...
%USB\VID_0403 PID_CB20.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403 PID_CB20

[Strings]
...
USB\VID_0403&PID_6011&MI_03.DeviceDesc="USB Serial Converter D"
USB\VID_0403 PID_CB20.DeviceDesc="USB-IF MoBaSbS V2.0"
SvcDesc="USB Serial Converter Driver
...

Ftdiport.inf aus VCP-Treiberpaket, Version 2.12.28 vom 30.08.2017

[FtdiHw]
...
%VID_0403&PID_CB20.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_CB20

[FtdiHw.NTamd64]
...
%VID_0403&PID_CB20.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_CB20

[Strings]
...
VID_0403 PID_0000.DeviceDesc="USB Serial Port"
VID_0403&PID_CB20.DeviceDesc="USB-IF MoBaSbS V2.0"
SvcDesc="USB Serial Port Driver"
...

Ftdibus.inf aus VCP-Treiberpaket, Version 2.06.02 vom 30.03.2010
[FtdiHw]
...
%USB\VID_0403&PID_CB20.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_CB20

[FtdiHw.NTamd64]
...
%USB\VID_0403&PID_CB20.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_CB20

[Strings]
...
USB\VID_0403&PID_6011&MI_03.DeviceDesc="USB Serial Converter D"
USB\VID_0403&PID_CB20.DeviceDesc="USB-IF MoBaSbS V2.0"
SvcDesc="USB Serial Converter Driver"
...

Ftdiport.inf aus VCP-Treiberpaket, Version 2.06.02 vom 30.03.2010

[FtdiHw]
...
%VID_0403&PID_CB20.DeviceDesc%=FtdiPort232.NT,FTDIBUS\COMPORT&VID_0403&PID_CB20

[FtdiHw.NTamd64]
...
%VID_0403&PID_CB20.DeviceDesc%=FtdiPort232.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_CB20

[Strings]
...
VID_0403&PID_6011.DeviceDesc="USB Serial Port"
VID_0403&PID_CB20.DeviceDesc="USB-IF MoBaSbS V2.0"
SvcDesc="USB Serial Port Driver"
....

Konfiguration des USB-Adapters:
Damit die oben beschriebenen Einstellungen auch zum USB-Adapter passen, muss dieser entsprechend konfiguriert werden, sofern er nicht fertig aufgebaut über mich bezogen wurde. Hier nun die Schritt fuer Schritt Anleitung, wie man vorzugehen hat:

  1. Der USB-Adapter der MoBaSbS wird mit dem PC verbunden. Eine neue Hardware wird erkannt.
  2. Nun den VCP-Treiber von FTDI, so wie oben beschrieben,installieren. Hat man alles richtig gemacht, dann sollte jetzt der USB-Adapter im Gerätemanager des Betriebssystems auftauchen.
  3. Nun startet man 'mprog', ein kleines Konfigtool, welches man ebenfalls bei FTDI findet Programm 'mprog'
  4. Alle notwendigen Parameter für die Konfiguration des USB-Adapters sind bereits in der Defaultdatei enthalten, die in 'mprog' geladen werden kann. Über die entsprechenden Knopf in 'mprog' (der Knopf hat das Aussehen eines'blauen Blitzes'), wird nun der Adapter, d.h. der USB-Chip und das EEPROM konfiguriert. Damit sind alle notwendigen Einstellungen bereits vorgenommen.
  5. Fertig! Verbindet man nun die MoBaSbS erneut, so erscheint sie auch mit Namen und korrekter Kennung im System.
Gerätemanager

Download:

Sowohl der uC-Code für den Betrieb des IFC im USB Modus oder über die RS232 Schnittstelle sind neben den Layoutdateien und Bestückungslisten im Downloadbereich zu finden.
Bitte diesem Link folgen.


Stand: 25.11.2019



Diese Seite unterliegt den Nutzungsbedingungen und der Datenschutzerklärung (siehe weiterführende Links im Impressum) dieser Internetpräsenz
Copyright by 
Patrick Urban