Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Allgemeine Info zu BiDiB:


Treiberinstallation:


Programme für BiDiB:


Das BiDiB-System:

One-Serie:

Addon-Module:

Beispielkonfigurationen:


Das OpenCarSystem:


Anwendungsunterstützung:


Kompatibilität:


Codehilfe für eigene BiDiBOne Entwicklungen:

uniqueid

Die Unique-ID

Die Abbildung zeigt eine Unique-ID auf einem BiDiBus Device. Alle SMD bestückten BiDiB-Baugruppen die Sie über den Fichtelbahn-Shop beziehen, werden mit einer aufgespielten BiDiB-Seriennummer ausgeliefert. Diese Seriennummer ist ein Bestandteil der Unique-ID und wird auf der Rückseite der Baugruppe aufgeklebt.


Was ist eine Unique-ID?

Die vom Hersteller in dem Baustein fest programmierte, eindeutige Kennung, bestehend aus 16 Bit Herstellerkennung und 32 Bit herstellerspezifischer Nummer (z.B. Produktindex und Seriennummer).

Kürzel Bezeichnung
V VID (Herstellerkennung)
OD Selbstbauprojekte
P VPID (Produktkennung)
6800 GBMboost Master
6700 GBMboost Node
6B00 LightControl
7000 BiDiBone (nur Bootloader)
7200 BiDiBone als OneHub
7300 BiDiBone als OneDMX
7500 BiDiBone als OneControl
CC00 BiDiBone als OneOC

Die letzten vier Stellen sind die fortlaufende Seriennummer der Baugruppe:

Beispiel: 2900 = Seriennummer

Die Angaben der Unique-ID sind in HEX.


Wozu dient die Unique-ID?

Die Unique-ID ist eine absolut einmalige Nummer, mit dieser Nummer wird eine Baugruppe unabhängig von ihrem Einbauort und ihrem Platz am Bus gefunden. Das heißt: Das BiDiB-System führt eine Art 'Telefonbuch', unter welchem Anschluss welche Baugruppe erreicht werden kann. Das Hostprogramm vergibt dann Namen für die einzelnen Anschlüsse. Die Unique-ID ist hier das Verbindungsglied zwischen der Bezeichnung am PC und der Baugruppe.

Beispiel: Ein BiDiBone ist unter dem Bahnhof verbaut und hat die Unique-ID 0D 6B001234. Im Hostprogramm wird sie als HBF-West bezeichnet. Das BiDiB System meldet dem Hostprogramm: 0D 6B001234 finden Sie unter Anschluss 3. Wenn man jetzt in HBF-West etwas umstellt, schaut das Hostprogramm im Telefonbuch nach: aha, ich soll 3 anrufen. Somit hat der Anwender nichts mehr mit Adressen und Dipschalter zu tun.

Warum sollte man diese Nummer aufkleben?

Für was könnte man diese Angabe gebrauchen?

Alle Tools, aber auch die aktuellen PC-Steuerprogramme kommunizieren und verwalten die Bausteine über diese Nummer. Es gibt jetzt keine „DCC -Adresse XX“ mehr, sondern der Befehl wird an den Knoten *Unique-ID X* und dessen Port gesendet. Der Umkehrschluss ist, dass für die Konfiguration einer neuen Aktion an dem Ausgang eines Decoders (z.B. LightControl) oder der Zuordnung von einem Melder im Gleisbild (z.B. GBM), die passende Unique-ID des BiDiB-Bausteins dem Programm mitgeteilt werden muss.


Wo wird die Unique-ID gespeichert?

Das Verfahren hier ist etwas zweigeteilt. In der Flash/EEPROM-Firmwaredatei ist die VID und PID bereits integriert und wird auf den Baustein übermittelt, jedoch ist noch keine Seriennummer enthalten. Die Firmwaredateien können daher problemlos auf den Prozessor geladen werden oder auch aktualisiert werden. Eine bereits vorhandene Seriennummer wird dabei nicht überschrieben. Wenn der Baustein beim Starten noch keine geladene Seriennummer erkennt, blinkt ein Fehlercode und der Betrieb wird blockiert. Ohne eine Seriennummer läuft die Firmware nicht!

(Ausnahme beim GBMboost Master: hier wird eine Notfall-S/N erzeugt mit der Kennung: 0100. Diese S/N kann jederzeit mit dem Nachschieben der gültigen S/N überschrieben werden).

Die Seriennummer wird immer als dritter Akt der Inbetriebnahme nachgeschoben und landet als erstes im EEPROM des Bausteins.

Bei jedem Neustart führt der Baustein folgende Überprüfung aus:

Er schaut in dem User Signatur Bereich, ob bereits eine Seriennummer vorhanden ist. Ist keine Seriennummer vorhanden wird die Seriennummer aus dem EEPROM hier abgelegt und der Baustein startet seinen Betrieb. Ist im Bereich der USER Signatur schon eine Seriennummer vorhanden wird die neuaufgespielte Seriennummer vom EEPROM verworfen und die bereits hinterlegte Seriennummer, aus dem User Signatur Bereich verwendet.

Die hinterlegte Seriennummer im USER Signatur Bereich bleibt auch bei einem CHIP ERASE erhalten und kann nur mit einem USER Signatur ERASE gelöscht werden. Falls man die Seriennummer auf einem BiDiBus tauglichen Device tauschen müsse, so funktioniert dies nur über ein vorheriges USER Signatur ERASE. Dies hat aber auch zur Folge, dass vorhandene Kalibrierungswerte verloren gehen, da diese ebenfalls in diesem Bereich gesichert werden. Der USER Signature Bereich sollte nicht ohne speziellen Grund gelöscht werden.

Ich habe aus Versehen die aufgedruckte Seriennummer gelöscht. Wie kann diese wieder aufgespielt werden?

1. Man zieht eine neue Seriennummer über den Generator und spielt diese nach dem Löschen des USER Signatur Bereich auf das BiDiBus Device. Wichtig: Vergessen Sie nicht den bestehenden Aufkleber durch die neue Unique-ID zu ersetzen.

Link zum Generator:

https://www.opendcc.de/elektronik/bidib/opendcc_bidib.html

2. Man möchte die vorhandene (aufgedruckte) Unique-ID weiterverwenden, da diese schon in den Gleisbildern meines PC-Programms hinterlegt wurde. In diesem Fall kontaktieren Sie den Fichtelbahn-Support mit der Angabe der aufgedruckten Unique-ID Nummer und der zugehörigen Hardware-Seriennummer. Dies funktioniert nur bei den SMD-vorbestückten Bausteinen! Bei eigenständig gezogenen Seriennummern müssen Sie in der Historie Ihrer gezogenen Seriennummern im Generator, nach der passenden Nummer suchen.


Wie bekomme ich die Unique-ID geändert?

Diese Nummer ist ziemlich fest im System verankert und überlebt ein Chip löschen. Nachdem das ein bischen tricky ist, gibt es hier eine Anleitung. Diese Nummer nur verändern, wenn es auch irgendwelchen Gründen notwendig werden sollten. In diesem Fall bitten wir um eine Rücksprache mit dem Support.

  1. Mit dem GBMBoost mittels AVRmkII (PDI) verbinden und Studio4 oder 6 verwenden. Im Programmierfenster (Icon: IC mit Blitz drauf) den atxmega128A1 wählen. Testhalber 'read signatur' machen, wenn 'matches selected device' kommt, ist es gut.
  2. Im Programmingfenster unbedingt den Haken bei 'erase chip before programming' rausnehmen. Wir löschen gezielt und manuell!
  3. Erase Applikation. Damit verhindern wir, dass uns die Firmware beim Rummauscheln an der ID auch mitmauschelt.
  4. Erase EEPROM. Damit löschen wir die geladene UniqueID weg. Der Anker ist aber noch (versteckt) da.
  5. Im Reiter Advanced, Feld User Signature gehen und 'Erase'. Die Verankerung der Seriennummer ist jetzt gelöscht.

Jetzt ist der Chip komplett gelöscht (bis auf den Bootloader) und es geht nun ans Aufräumen:

  1. EEPROM (*001.hex„) einspielen.
  2. Seriennummer einspielen.
  3. Applikation einspielen.
  4. Booster Kalibrierung mit einem geeigneten Lastwiderstand durchführen.

Hardware Seriennummer

Die aufgeklebte blaue Seriennummer mit einem MatrixCode (ältere Baugruppen hatten einen weißen Aufkleber mit der Bezeichnung S/N) auf der Rückseite der Baugruppe, ist eine Hardware-Seriennummer und hat nichts mit der Unique-ID Seriennummer für die BiDiB-Baugruppen zu tun. Dieser Aufkleber sollte nicht entfernt werden, weil mit dieser Nummer ist Ihr Baustein bei uns registriert.

uniqueid.txt · Zuletzt geändert: 2017/08/01 10:59 von stephan