Software Update Kabel
Software, ein Mysterium! Man sieht sie nicht, sie wird irgend wie heimlich in so kleine schwarze Käfer
indiziert. Und diese Käfer machen dann die merkwürdigsten Dinge, ein Wahnsinn!
Was machen wir, wenn uns dieser Wahnsinn erfasst hat, wenn wir unbedingt die neue Funktion haben müssen?
Wir begraben die alte Version, wir löschen sie aus! Nichts vergeht heutzutage schneller als
Software, schon überholt bevor sie beim Kunden angekommen ist. Aber auch nichts ist flexibler als
Software! Man braucht nicht ständig neue Technik, sie lässt sich oft einfach und schnell auf den neusten
Stand bringen, auch wenn uns so mancher Hersteller anderes Glauben machen möchte! ;-)
Auch die Cardecoder sind betroffen und sei es nur weil der Entwickler Hobbyist ist, oder wir eine neue
Funktion benötigen. Aus diesem Grund hat das Entwicklerteam sich Gedanken über eine einfache Lösung zum
Update der Cardecoder Software gemacht. Beginnen wir mit ein paar Bemerkungen zum Software Konzept der
Cardecoder. Deren Herz ist ein kleiner Mikrocontroller der Firma Atmel, welcher glücklicherweise mit einem
Programmspeicher ausgestattet ist, der mehrere Tausend mal neu programmiert werden kann (keine Angst so
oft gibt es dann doch kein Softwareupdate). Um diesen Mikrocontroller extern programmieren zu können ist
allerdings eine 5 Adrige Verbindung und ein spezieller Programmieradapter nötig. Allein bei jedem Update
die 5 Leitungen verbinden zu müssen, wäre sehr aufwendig! Abgesehen davon bräuchte man den
Programmieradapter. Um das zu vereinfachen, hat das Team beschlossen, in den Mikrocontroller einmalig ein
kleines Programm, den "Bootloader" abzulegen, welcher später über eine simple 2 Draht Verbindung (1 -
wire) eine neue Decodersoftware empfangen und selbstständig ohne zusätzlichen Programmieradapter in den
Programmspeicher schreiben kann. Genau dies machen wir beim Softwareupdate. Wobei wir hier zwischen der
eigentlichen Software und dem persönlichen Decodervariablen unterscheiden. Die Decodervariablen (CV) in
welche wir die individuelle Konfiguration eines jeden Decoder speichern sind getrennt von der
Betriebssoftware im EEPROM Speicher des Mikrocontroller abgelegt. Diese können bei einem Softwareupdate
erhalten bleiben, um so danach den Decoder nicht wieder völlig neu einrichten zu müssen. Zusammengefasst
unser Cardecoder besteht aus drei Softwareteilen:
1. dem Bootloader -> das Startprogramm im Decoder, welches auch die Betriebssoftware neu schreiben
kann
2. der eigentlichen Betriebssoftware und
3. den Konfigurationsvariablen (CV).
Das Programmierkabel
wird benötigt um eine Verbindung zwischen dem Update PC und dem CarDecoder herzustellen. Hierfür wird eine spezielle (vereinfachte) Version einer seriellen Verbindung mit nur einer Leitung benötigt. Die Updatesoftware auf dem PC benötigt eine serielle Schnittstelle mit einem Baudrate von 9600. Dies kann auch eine virterielle Schnittstelle eines USB seriell Wandler sein. Folgend der Aufbau an einer echten RS232 Schnittstelle:
Das Kabel besteht aus zwei Dioden und einem Widerstand. D1 ist eine beliebige 4,7V Z - Diode, D2 ist eine Schottky Diode z.B. eine BAT42 und R1 ein 1,8 KOhm Widerstand. Der 5 polige Programmierstecker ist eine Empfehlung des Entwicklerteams. Er resultiert auf der Erweiterung der original Faller Ladebuchse an den Fahrzeugen um einen weiteren Kontakt im Abstand von zwei Kontakten. Daraus ergibt sich eine verpolungssichere Lösung:
Alle Modellbahner, die sich dieses Kabel nicht selbst bauen können bzw. wollen, können sich vom Entwicklerteam ein USB/1-wire Update Kabel anfertigen lassen. Achtung das ist ein Service von Modellbahner für Modellbahner, das wird gemacht so wie die Zeit und die Familie es zulässt!