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:

Updatekabel

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:

Programmierbuchse

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!