OpenDCC BiDiB-IF2

Überblick, Entstehung

    BiDiB-Interface Die BiDiB-Entwickler arbeiten gerne unterwegs mit dem Laptop - und da war die Mitnahme eines kompletten GBMBoost samt Netzteil immer ein bischen störend. Es entstand die Idee, ein kleines Interface in Form eines Sticks zu bauen. Der erste Versuch hierzu war ein radikal reduzierter GBMBoost. Das war soweit okay, allerdings fehlte ein passendes Gehäuse. Abgeleitet daraus um mit Blick auf ein schönes Gehäuse entstand dann das BiDiB-IF2.

    Eigenschaften des BiDiB-IF2:
    • BiDiB Interface: komplettes Interface zum Steuern einer Modellbahn. Anschluß per USB und per BiDiBus
    • DCC Generator: Integrierter, vollständiger DCC Generator, zusammen mit externen Boostern ist kompletter Fahrbetrieb möglich.
    • einfache Bedienung: Taster für Nothalt und Identify, Statusanzeige über mehrfarbige LEDs
    • einfache Verbindung: an den USB-Port anstecken - an das BiDiB-Netz anstecken - fertig
    • zukunftsicher: bequemer Firmware-Update menügeführt mit dem BiDiB-Tools
    • kompakt: Maße 83mm x 41mm * 20mm

Bedienelemente und Anzeigen, Blinkcodes

  • Taster:
    Identify-Taster:
    Im Betrieb: Wenn eine BiDiB-Verbindung zum PC besteht, dann wird ein 'Identify'-Ereignis an den PC geschickt (führt dort zu einer entsprechenden Anzeige in der Baumansicht) und die lokale LED blinkt purpur. Wenn keine Verbindung besteht, blinkt die lokale LED rot.
    Beim Starten gedrückt: Das Interface startet nicht in den Betriebsmode, sondert bleibt im Bootloader. Der Bootloader kann dann mittels der Firmware-Update des Monitors / Wizard eine neue Version des Betriebssystems laden.
    Stop/Go-Taster:
    kurzer Tastendruck
    DCC wird auf Halt gestellt. Hierzu werden die Lokbefehle in einer kurzen Zeitspannung von auf 0 geregelt (Softstop). Weichenbefehle und Programmierbefehle können weiterhin gesendet werden, die Gleisausgabe bleibt aktiv.
    Wenn DCC im Halt steht oder abgeschaltet ist, dann wird eingeschaltet. Die LED wechselt auf grün.
    langer Tastendruck Notabschaltung, DCC wird abgeschaltet (und in Folge schalten auch die Booster wegen fehlendem Eingangssignal ab)
    Hinweise:
    • Das Starten mit gedrückter ID-Taste ist zum Firmware-Update normalerweise nicht erforderlich, nur wenn das BiDiB-IF2 nicht mehr ansprechbar ist (z.B. weil im vorangegangenen Update was schief gegangen ist).
    • Der Bootloader des BiDiB-IF2 meldet sich mit BIDIB_PRODUCT_ID = 131 und CLASS_BOOTLOADER = 1 am PC an, weitere Funktionalität ist im Bootloader nicht ansprechbar.
  • LEDs:
    Anzeige der Identify-LED:

    dunkelblau
    noch nicht mit PC verbunden, Interface hat noch keine Daten erhalten. Oder: Verbindung war zu lange inaktiv

    hellblau
    Verbindung vom PC wurde aufgenommen, Interface hat Daten erhalten

    purpur
    Blinkend: Identify Mode = ON

    rot
    keine Verbindung; rot leuchtet kurz auf, wenn die Identify-Taste betätigt wurde und keine Verbindung zum PC besteht. Rot blinkt nach ID, wenn zwar (kürzlich) eine PC-Verbindung besteht, aber der Tastendruck nicht abgesandt werden konnte (wegen System gestoppt/disabled)

    Farborgel
    Interner Programmfehler, Prozessor angehalten; Huch!
    Anzeige der Stop/Go-LED:

    grün
    DCC im normalen Betrieb

    gelb-rot
    Sanftes Anhalten ist aktiviert - alle Fahrstufen werden (in etwa 1,3s) auf 0 runtergeregelt, anschließend geht das Interface von selbst in den Zustand STOP.

    gelb
    Sanftes Anhalten wurde durch die Watchdog-Überwachung ausgelöst. alle Fahrstufen werden auf 0 runtergeregelt.

    rot
    HALT. Alle Fahrbefehle sind auf 0 geklemmt, DCC bleibt aber aktiv, es können z.B. noch Weichen gestellt werden. Nach GO werden wieder Fahrstufen ausgegeben.

    rot, schnell blinkend
    HALT, bedingt durch das Auslösen des Watchdogs. Alle Fahrbefehle sind auf 0 geändert.

    rot, langsam blinkend
    OFF. DCC ist abgeschaltet.
    Bootablauf:
    Normaler Bootablauf:
    Beide LED blinken zur Funktionskontrolle nach dem Einschalten dreimal in unterschiedlichen Farben, dann wechselt die Identify-LED auf ein dunkles blau, die STOP/GO auf ein grün oder rot, je nach gewünschten Zustand der DCC-Ausgabe.

    Sollte der normale Bootablauf nicht erfolgreich durchlaufen werden, so gibt es folgende Fehleranzeigen:
    Fehler-Blinkcodes:
    LED IDLED STOP/GOBedeutung
    10x Blau hektisch  -  Bootloader fehlt. Das Interface funktioniert, Firmwareupdate nur durch AVR-Programmer
    RotLila blinkendEEPROM nicht korrekt. Keine Funktion des Interfaces. Abhilfe: EEPROM-Daten per Bootloader einspielen
    BlauRot blinkendMasseschluß auf GO-Taster

Schaltplan BiDiB-IF2

    Der Schaltplan findet sich in Abschnitt Download als pdf.
  • Prozessor:
    Das Interface wird mit einem atxmega128a4u betrieben. Der Prozessor wird mit einem 8MHz-Quarz getaktet, intern wird das mit der PLL auf 32MHz Systemtakt hochgesetzt.
  • Interfaces:
    Zum PC hin ist eine USB-Schnittstelle mittels des FT232RL realisiert (einfachere Treiberversorgung), die BiDiBus-Anbindung erfolgt als Leitungs-Endpunkt mit nur einer Buchse und fest installiertem Busabschluss. Das Interface muß also leitungstechnisch an einem Ende einer BiDiB-Installation liegen.
  • Stromversorgung:
    Das Interface selbst wird vom PC aus versorgt und implementiert auch den notwendigen Pullup auf der ACK-Leitung. Eine Speisung der 12V-Leitung des BiDiBus erfolgt nicht. Die 3,3V des Prozessors werden mit einen einfachen Längsregler erzeugt.
  • Bedienelemente:
    Es sind zwei Taster (Identify und Stop/Go) vorgesehen, die Zustandsanzeige des Interfaces erfolgt über zwei RGB-LEDs.
  • Layout


      Realisiert wurde die Schaltung auf einer Platine 78 x 32mm.

      Als USB-Buchse sind sowohl USB-B als auch USB mini-B bestückbar. Die USB-B (in normaler Größe) paßt exakt zum Gehäuse und ist auch in der SMD-vorbestückten Version installiert.

      Das Layout der BiDiB-Buchse ist universell für Durchsteck- oder SMD-RJ45 geeignet, auch verscheidene Befestigungsarten (Lötfahnen, Lötpad oder Schnapphaken) sind berücksichtigt. Wichtig ist: die Buchse muß die Verriegelung unten haben. Nur sogenannte 'Lowprofile'-Ausführungen passen zum Gehäuse.

      Für die beiden Taster sind 4 Alternativen möglich:
      Taster MEC SMD
      Taster MEC Durchsteckmontage
      Taster Schurter 9314 (oder kompatible 6x6mm Taster) in SMD
      Minitaster 6x6mm in Durchsteckmontage
      Für das Gehäuse sind die hochwertigen MEC-Tasten erforderlich.

      Als LEDs sind ab Platinenversion 1.2 Osram RGB-Leds im Chipgehäuse mit 3x3mm vorgesehen (www.osram-os.com/Graphics/XPic1/00194610_0.pdf/LTRB R8SF – MultiCHIPLED.pdf). Bis Platinenversion 1.1 waren LED des Typs Osram LRTB G6TG vorgesehen (anderes Pinning, PLCC-6 Gehäuse). Das Licht der LEDS wird mit einem Lichtleiter zur Gehäuseoberfläche geleitet.

      Der Prozessor (Atxmega128a4u) kann sowohl im QFN (Atxmega128a4u-mh) als auch im QFP (Atxmega128a4u-au) bestückt werden.

      Die Stifte für AVR_ISP, X1, J1 und J3 werden normalerweise nicht bestückt, die Steckbrücken werden durch die 0-Ohm Widerstände R8 und R9 geschlossen. (statt R8 und R9 kann man auch Lötbrücken auflöten)

    Gehäuse

      Das Layout mit den Bedienelementen, Anzeigen und Buchsen wurde so entworfen, dass die fertige Schaltung exakt in das Gehäuse CNR-L der Firma Pactec passt und sich insgesamt ein professionelles Erscheinungsbild ergibt. Hierzu wurde auch der rechts abgebildete Aufkleber entworfen.
      Stückliste Gehäuse
      St.BezeichnungTeilenummer
      1Gehäuse Pactec CNR-L (Housing Black, top und bottom); Oberseite gemäß Bohrplan bearbeitet.115127-501-000 CN-RL
      1Gehäuse Pactec CNR-L (Endcap Black USB B)115121-01-000 CN-RL RS
      1Gehäuse Pactec CNR-L (Endcap Black RJ45)115123-01-000 CN-RL RS
      1Frontfolie, selbstklebend, bedruckt und konturgeschnittenMaigler_BiDiB-IF2_V1
      2Lichtleiter, Mentor, 3mm, 15mm, geradeMEN 1275.1001 (reichelt)
      2Tastenkappe, MEC-Switches, 16mm HöheKAPPE 1S09-16.0 (reichelt); alternativ: KAPPE 1S09-19.0

    Bohrplan


      Die Löcher sind exakt bezogen auf die Mitte der Gehäusevertiefung zu bohren. Ein möglichst scharfkantiger Bohrer und eine sichere Fixierung der Gehäuseschale verhindert Ausrisse und Aufwerfungen am Bohrloch. Die Löcher im Aufkleber sind minimal größer, um ein sicheres Gleiten der Tastenkappen zu gewährleisten.


      Anbringen des Aufklebers:
      Hier hat sich folgende Vorgehensweise bewährt:
      1. Reinigen der Schale mit einem fuselfreiem Tuch, so dass keine Staubkörner oder sonstige Verunreinigungen mehr vorhanden sind.
      2. Ablösen des Schutzpapieres vom Aufkleber entlang der unteren Kanten. Das Schutzpapier nach hinten falten, dabei die Klebefläche des Aufklebers nicht berühren.
      3. Nun den Aufkleber auf Stoß exakt an der unteren Kante der Vertiefung anlegen. Erst wenn die Kante auf der ganzen Länge anliegt und der Aufkleber seitlich genau ausgerichtet ist, dann erst den Aufkleber langsam auf die Gehäuseschale ablegen. Dabei das Schutzpapier nach oben abziehen.
      4. Wenn der Aufkleber genau liegt, paßt er exakt in die Vertiefung. Denn Aufkleber dann von der Mitte her blasenfrei andrücken.

    Aufbauanleitung

      Ein kompletter Selbstbau ist möglich, allerdings wurden wegen der Gehäusegröße kleine SMD-Bauteile verwendet, diese erfordern entsprechende Lötausrüstung.
      Am Besten geht man wie folgt vor:
    • Bestückung Spannungsregler und Kondensatoren um den Spannungsregler. Hier dann gleich eine Kontrolle der 3,3V durchführen.
    • Bestückung der LEDs und der Widerstandsnetzwerk 1k. Kontrolle der LEDs durchführen.
    • Bestückung von Kondensatoren und Widerstände, Dioden.
    • Bestückung des Prozessors, FTDI-Chips und RS485-Baustein.
    • Genaue optische Kontrolle auf Kurzschlüsse - dann 5V anlegen und 3,3V-Netz nachmessen.
    • Mit PDI-Programmer Signatur des Prozessors auslesen. (Tipp: die Stifte für die AVR-ISP-Schnittstelle braucht man nicht zu bestücken, es reicht i.d.R. ein Einstecken der Stiftleiste und seitlicher Druck mit einer kleinen Federzwinge.)


    • Fuses:

    Bilder

    FAQ

    • Brauche ich zum IF2 noch eine DCC-Zentrale?
      In BiDiB wird unterschieden zwischen DCC-Generator (der erzeugt den Bitstrom) und Booster (die verstärken den Bitstrom und versorgen die Loks). Das BiDiB-IF2 enthält den DCC-Generator, aber keinen Booster. Man braucht also externe Booster, wie z.B. GBMBoost als Node.
    • Versorgt das IF2 den BiDiBus?
      Nein. Das IF2 stellt keine Busversorgung bereit. Wenn Baugruppen verwendet werden, die aus dem Bus gespeist werden (z.B. GBM16TS), dann ist eine separate Versorgung erforderlich (bzw. kann auch über den GBM16TS oder GBMBoost-Node erfolgen, dort ist dann die Busversorgung entsprechen vorzusehen).
      Wenn nur Baugruppen verwendet werden, die nicht aus dem Bus versorgt werden (NeoControl, StepControl, usw.), dann ist keine Busspeisung erforderlich.
      Booster brauchen aber immer eine eigenständige Versorgung.
    • Kann ich mit dem IF2 ein Programmiergleis ansteuern?
      Nein. Hierzu wäre (technisch bedingt) ein direkt verbundener Booster erforderlich.
    • Kann ich mit dem IF2 Programmieren auf dem Hauptgleis durchführen?
      Ja. Für das Lesen sind allerdings railcomfähige Booster und Rückmelder erforderlich (wie z.B. GBMBoost)
    • Wie wird der Bus beim IF2 terminiert?
      Das IF2 hat Abschlußwiderstände integriert und muß daher an einem Ende des BiDiBus-Stranges angeordnet werden, nicht in der Mitte.
    • Kann man es nicht trotzdem in der Mitte anordnen?
      Das ist mit einem kleinen Umbau möglich: in die Busleitung wird ein handelsübliches Y-Stück eingeschleift, an diesem wird das IF2 mit einer maximalen Kabellänge von 2m angeschlossen. Auf der Platine des IF2 müssen die beiden 0-Ohm Widerstände R8 und R9 entfernt werden (siehe Bild). Diese liegen parallel zu den unbestückten Jumpern J1 und J3, d.h. man kann den Umbau wieder rückgängig machen. Diese beiden Bedingungen unbedingt beachten, sonst gibt es Busfehler. Auf dem Gehäuse des IF2 dann bitte vermerken, dass die Terminierung entfernt wurde.

    Download

        BiDiB-IF2 Firmware  
        BiDiB-IF2 (Interface, Master)   Version Erläuterung
       Applikation 
      (Interface, DCC Generator): 

        V2.10.02  
      17.07.2021

        V2.10.00  
      06.01.2021

        V2.06.01  
      01.02.2020
      Applikation: Mit dieser Firmware wird das BiDiB-IF2 zum Busmaster und Businterface.
      Die Funktion DCC-Zentrale (Signalerzeugung ohne Booster) ist enthalten.
        BiDiB-IF2   Version Erläuterung
        Bootloader: 
        V0.01.02  
      08.05.2017

        V0.01.01  
      29.02.2016
        Der Bootloader ermöglicht das Erneuern der Firmware im eigenbauten Zustand und das permanente Speichern von Makros. Muß einmal mit einem Atmel-Programmer geladen werden und bleibt dann immer drin.
      Der Programmer ist anschließend nicht mehr erforderlich.
        BiDiB-IF2   Version Erläuterung
        Spezialversion  
        ohne Systemzeit  

        V2.05.05  
      07.08.2019
          Spezialversion, um das Anmelden von älteren Tamskomponenten zu ermöglichen.
        BiDiB-IF2 Hardware  
        Schaltplan: 
        V1.3  
      01.08.2017

        V1.2  
      01.05.2016
        Im Schaltplan sind die elektrischen Verbindungen gezeichnet.
        Layout: 
        V1.3  
      01.08.2017

        V1.2  
      01.05.2016
        Im Layout sind die Positionen der Bauelemente und die Verbindungen realisiert. rot=Bestückungsseite, blau=Lötseite
        Bestückung: 
        V1.3  
      01.08.2017

        V1.2  
      01.05.2016
        Positionen der Bauelemente

    History

    • Applikation BiDiB-IF (Master):
      • V2.10.02
        17.07.2021 Ebenenzahl erhöht, max. Packet auf 64.
      • V2.10.00
        06.01.2021 Verbesserungen bei Nachrichtenfluß ('Sequencefehler' behoben), DCCA und DCC SDF / Analogfunktion ergänzt.
      • V2.04.05
        01.02.2020 Bugfix bei Speichern von internen CVs
      • V2.04.05
        02.02.2019 Bugfix Fifo-Handling bei extremer Buslast; Update empfohlen.
      • V2.04.03
        09.02.2017 Bugfix DCC Ausgabe
      • V2.04.02
        23.01.2017 Hinzu: BiDiB-Systemzeit. Verbesserung der LED-Ansteuerung.
      • V2.04.00
        28.11.2016 Bugfix: Unter bestimmten Lastbedingungen kann ein DCC-Befehl versehentlich zu oft ausgegeben werden - mit schädlichen Auswirkungen auf den DCC-Durchsatz, die Reaktionszeit auf Befehle und auf Railcom-Erkennung, wenn nur Channel 2 aktiviert ist. Ein Update wird empfohlen.
      • V2.04.01
        08.01.2017 Konsolidierung der LED-Anzeigen. Ein Update wird empfohlen.
    • Schaltplan:
      • 10.12.2016 In V1.2 hat sich eine Vertauschung von RX/TX in die Schaltung gemogelt (in V1.0 war es noch okay), das wird durch eine Auffräsung und 2 Drahtbrücken behoben. Mit installierten Drahtbrücken ist die V1.2 technisch identisch zur V1.3.

    Das IF2 als BiDiB-Logger

      Für das IF2 gibt eine Firmware, welche den Bus beobachten kann und die dort übertragenen Nachrichten dekodieren und als Test ausgeben kann. Diese Anwendung ist nur für Entwickler von Baugruppen gedacht!
      Die Firmware kann normal eingespielt werden, allerdings ist anschließend das IF2 nicht mehr per BiDiB ansprechbar (logisch, es agiert jetzt ja als serielles ASCII-Device mit 115200 8N1).
       
        Logger-IF2  
        BiDiB-IF2 (Logger)   Version Erläuterung
       Applikation 
      (Analysator): 

        V0.05.02  
      07.04.2021

        V0.03.06  
      23.11.2019
        Applikation: Mit dieser Firmware wird das BiDiB-IF2 zum Busanalysator.
      (nur für Entwickler)