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

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 bestü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) in den Lok-Kontroll-Fenstern.

IFC_DipSwitch8

Durch die Unterstützung der MoBaSbS über einem MoBaSbS eigenen Treiber durch die Modellbahnsteuerungssoftware TrainControllerTM  ist 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. 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. Nachdem man das ZIP-Archiv von FTDI geladen hat, wird es in ein beliebiges Verzeichnis entpackt. 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: FTDI_modified.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.06.02  vom  30.03.2010

[FtdiHw]
%USB\VID_0403&PID_6001.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6001
%USB\VID_0403&PID_6010&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6010&MI_00
%USB\VID_0403&PID_6010&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6010&MI_01
%USB\VID_0403&PID_6011&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6011&MI_00
%USB\VID_0403&PID_6011&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6011&MI_01
%USB\VID_0403&PID_6011&MI_02.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6011&MI_02
%USB\VID_0403&PID_6011&MI_03.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6011&MI_03
%USB\VID_0403&PID_CB20.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_CB20

[FtdiHw.NTamd64]
%USB\VID_0403&PID_6001.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6001
%USB\VID_0403&PID_6010&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6010&MI_00
%USB\VID_0403&PID_6010&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6010&MI_01
%USB\VID_0403&PID_6011&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6011&MI_00
%USB\VID_0403&PID_6011&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6011&MI_01
%USB\VID_0403&PID_6011&MI_02.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6011&MI_02
%USB\VID_0403&PID_6011&MI_03.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6011&MI_03
%USB\VID_0403&PID_CB20.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_CB20

[Strings]
Ftdi="FTDI"
DESC="CDM
Driver Package"
DriversDisk="FTDI
USB Drivers Disk"
USB\VID_0403&PID_6001.DeviceDesc="USB Serial Converter"
USB\VID_0403&PID_6010&MI_00.DeviceDesc="USB Serial Converter A"
USB\VID_0403&PID_6010&MI_01.DeviceDesc="USB Serial Converter B"
USB\VID_0403&PID_6011&MI_00.DeviceDesc="USB Serial Converter A"
USB\VID_0403&PID_6011&MI_01.DeviceDesc="USB Serial Converter B"
USB\VID_0403&PID_6011&MI_02.DeviceDesc="USB Serial Converter C"
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"
ClassName="USB"

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


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

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

[Strings]
FTDI="FTDI"
DESC="CDM Driver Package"
DriversDisk="FTDI USB Drivers Disk"
PortsClassName = "Ports (COM & LPT)"
VID_0403&PID_6001.DeviceDesc="USB Serial Port"
VID_0403&PID_6010.DeviceDesc="USB Serial Port"
VID_0403&PID_6011.DeviceDesc="USB Serial Port"
VID_0403&PID_CB20.DeviceDesc="USB-IF MoBaSbS V2.0"
SvcDesc="USB Serial Port Driver"
SerEnum.SvcDesc="Serenum Filter 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 (http://www.ftdichip.com/Resources/Utilities.htm)
    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.

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.

 



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