Firmware Update
Dieser Artikel beschreibt ein Verfahren zur Programmierung der Firmware einer CANopen-Lift (CiA 417) kompatiblen Baugruppe.
Minimale Voraussetzungen
Ein CANopen kompatibler Bootloader muss folgende Objekte beinhalten:
- 1000h Device Type mit dem Wert FE0001A1h (CiA 417, virtual device code Bootloader)
- 1001h Error Register
- 1018h Identity Object
- 1F50h Download Program Data (min. Subindex 1)
- 1F51h Program Control
- 1F56h Application Software Identification
- 1F57h Flash status identification
Folgende Objekte sind laut CiA 301 optional, sollten aber für eine bessere Funktionalität vorhanden sein:
- 1008h Device Name
- 1009h Hardware Version
- 100Ah Software version
- 1017h Producer heartbeat time (typ. 500 ms)
Folgendes Objekt im Applikations-Bereich wird zusätzlich benötigt:
- 6005h Lock/unlock parameters
Ablauf
Das Softwareupdate läuft aus Sicht des Programmiertools nach folgendem Schema ab:
- Auslesen der aktuellen Software-/Hardwareversion und Daten in weiterem Zusammenhang.
- NMT-Masterfunktionalität übernehmen, wenn bereits ein NMT-Master im System existiert (Flying-Master).
- Wenn Node-ID ungleich 126: Schreiben des vom Anwender eingegebenen Passwortes auf Objekt 6005h.
- Wenn Node-ID ungleich 126: Ausführen des NMT-Kommandos Reset Application auf dem Gerät.
- Das Gerät ist nun unter der Node-ID 126 ansprechbar und arbeitet im Bootloader-Modus.
- Schreiben des vom Anwender eingegebenen Passwortes auf Objekt 6005h.
- Auslesen oder Übertragen der Betriebssoftware von/auf Objekt 1F50h.
- Ausführen des NMT-Kommandos Reset Application. Das Gerät meldet sich danach wieder mit seiner ursprünglichen Node-ID.
Hinweise
Das Schreiben der Firmware erfolgt auf das Objekt 1F50h, Subindex 1. Das Gerät ist selbst dafür verantwortlich, wie die geschriebene Datei verarbeitet wird. Es gibt keine Vorgaben über den Aufbau und das Format der Datei mit der Firmware.
Subindex 2 ist für die aktuelle Konfiguration (Parametersatz) vorgesehen. Somit kann das Programmiertool den aktuellen Parametersatz automatisch sichern, bevor eine neue Firmware geschrieben wird.
Um das versehentliche Überschreiben der Firmware zu verhindern, wurde das Objekt 6005h (Password) vorgesehen. Gleichzeitig dient das Objekt zum Starten des Bootloaders in einem laufenden System (siehe Ablauf oben).
Die vorgegebene Knotennummer für das Softwareupdate ist 126.