Entwicklungsvarianten eines CANopen Geräts
Steht man vor der Aufgabe eine CANopen-Schnittstelle in sein Gerät zu integrieren, erkennt man bald, dass es verschiedene Wege und Möglichkeiten gibt, dies zu erreichen. Die schnellste Variante, die Verwendung eines vorgeschalteten Gateways, scheidet meist aufgrund hoher Stückkosten und des Platzbedarfs aus. Daher bietet sich oft nur die Integration des CANopen-Protokolls in das Gerät selbst an.
Hardware-Anforderungen
Für die Integration des Protokolls in ein Gerät sind diverse Hardwareanforderungen zu erfüllen.
- Microcontroller mit integriertem CAN-Controller
- optional externer CAN-Controller
- Idealerweise mit CAN-ID-Filterung in Hardware (FullCAN)
- CAN-Transceiver je nach Einsatzfeld
- 20 KB Flash und 2 KB RAM für Slave
- Ausreichend CPU-Zeit für Protokollhandling
Stack – Make or Buy
Die Spezifikationen sind als CiA-301 beim CAN in Automation e.V. für jedermann – nach einer kostenfreien Registrierung – zugänglich. Damit besteht die Möglichkeit das Protokoll selbstständig in C zu implementieren. Der Entwicklungsaufwand dafür ist jedoch sehr hoch, so dass es sinnvoller ist, einen fertigen Protokollstack zu nutzen.
Bei der Auswahl des Stacks steht man vor der Entscheidung einen kostenfrei Stack aus dem Internet zu nutzen oder einen kommerziellen CANopen Stack (bzw. CANopen Source Code Library) eines spezialisierten Anbieters zu lizenzieren.
Wenn geplant ist, dass das fertige Gerät den Conformance Test des CAN in Automation e.V. bestehen soll, so ist die Wahl eines kommerziellen Anbieters mit mehrjähriger Erfahrung die bessere Lösung. Kommerzielle Anbieter bieten zudem Support und Portierungsunterstützung auf diverse Mikrocontroller.
Bei der Auswahl des Anbieters sollte man auf folgende Kriterien achten:
- Feature-Umfang
- MISRA-C-Konformität
- CANopen-Konformität
- Support- und Lizenzbedingungen
Interessant ist auch, ob der Anbieter sonstige CANopen Software Produkte wie CAN-Analyzer, Bootloader, Simulations- und Analysetools, Entwurfstools und ähnliches im Angebot hat, da es selten zweckmäßig ist, von verschiedenen Anbietern entsprechende Produkte zu erwerben.
CANopen Stack und DeviceDesigner
Ein CANopen Software Stack wird von dem Unternehmen emotas angeboten. Mit dem CANopen DeviceDesigner bietet diese Lösung eine schnelle Möglichkeit der Geräteentwicklung. Mit dem DeviceDesigner kann das Objektverzeichnis des Geräts mit wenigen Klicks erstellt werden und das Tool erzeugt daraus automatisch ein Abbild des Objektverzeichnis als C-Source Code, welcher zum Stack gelinkt wird. Zudem wird gleichzeitig die Gerätebeschreibungsdatei (Electronic Datasheet – EDS) erzeugt und eine Dokumentation in HTML.