Komfortable Konfiguration von AUTOSAR-Steuergeräten
Transcrição
Komfortable Konfiguration von AUTOSAR-Steuergeräten
ENTWICKLUNGSPROZESSE Komfortable Konfiguration von AUTOSAR-Steuergeräten Das simple CAN-Steuergerät war gestern. Mittlerweile nutzt ein typisches Steuergerät viele Funktionen der AUTOSAR-Basis-Software, um seine komplexen Aufgaben zu erfüllen. Je mehr Funktionen, desto schwieriger und umfangreicher ist aber auch der Konfigurationsprozess. Ohne Werkzeugunterstützung wäre der Entwickler verloren. Von Matthias Wernicke W ährend der Entwicklung des Steuergerätes werden Teile der Software auf Basis einer spezifischen Konfiguration generiert. Drei Faktoren beeinflussen die Komplexität dieser Steuergeräte-Konfiguration: Mehr Standardisierung: Durch AUTOSAR ist mittlerweile ein großer Anteil der Steuergeräte-Software als BasisSoftware standardisiert. Das AUTOSARPrinzip „Konfigurieren statt Codieren“ zwingt die Entwickler allerdings dazu, von vornherein eine konsistente Gesamtkonfiguration zu erstellen. Eine Korrektur direkt im Code ist nicht vorgesehen. 32 Elektronik automotive 4.2014 Mehr Funktionen: Durch neue Mikro controller mit mehreren Cores und Speicherschutz-Features oder durch neue Netzwerktechnologien wie Ethernet steigt der Umfang der Basis-Software und damit auch der Konfigurationsbedarf. Neue Zusammenarbeits-Modelle: Die AUTOSAR-Methode fördert neue Rollen im Entwicklungsprozess (Bild 1). Neben dem Zulieferer für die AUTOSARBasis-Software (TIER2-BSW) gibt es auch Zulieferer für Applikations-SoftwareKomponenten (TIER2-SWC) oder die Hardware-nahen Microcontroller Abstraction Layer Modules (TIER2-MCAL). Das bedeutet zunächst einmal mehr Abstimmungsaufwand bei der Konfiguration. Software-Werkzeuge als Helfer Der AUTOSAR-Standard entwickelt sich hoch dynamisch weiter. Mit jedem Release gibt es Änderungen: Der Funktionsumfang existierender BSW-Module ändert sich oder es werden neue Module definiert. Alle diese Module bringen ihre eigenen Konfigurationsparameter mit sich. Mit formal beschreibbaren Modulstrukturen und Parametern wird das AUTOSAR-Konfigurationskonzept dieser Dynamik grundsätzlich gerecht. Damit ist das schnelle und einfache Definieren von Basic Software Module Descriptions (BSWMD) möglich, die in einer BSW-Lieferung enthalten sind. Diese formale Methode klingt zunächst verlockend für einen Werkzeug-Ansatz: Der Hersteller entwickelt mit überschaubarem Aufwand ein generisches Werkzeug, über das sich grundsätzlich alle Parameter einzeln konfigurieren lassen – und zwar die heute bekannten wie auch alle zukünf- ENTWICKLUNGSPROZESSE tigen. Niemand möchte allerdings ohne weitere Unterstützung Tausende von Parametern über einen solchen Editor einstellen. Aufgaben wie dem Mapping von Rollen in einem komplexen AUTOSAR-Projekt Traditionelle Rollen im Entwicklungsprozess Runnable Entities auf BetriebsTIER 2 SWC system-Tasks unterstützen Assistenten, bei denen der Entwickler die Runnable Entities der FIBEX FIBEX SWC Spezifische Editoren und Assistenz- Software-Komponenten (SoftLDF LDF funktionen ware Components, SWCs) auf OEM TIER 1 OEM TIER 1 Basis ähnlicher Trigger-BedinDBC DBC Es gibt einige Ansätze, wie ein Softwaregungen auswählt, einer Task Werkzeug diese Arbeit erleichtert. Ein zuordnet und schließlich die Spec Spec spezifisch entwickelter Editor stellt den Ausführungsreihenfolge innerStd.SYSD BSW MCAL SW Zusammenhang zwischen den Paramehalb der Task definiert. TIER 2 BSW TIER 2 MCAL TIER 2 tern dar und vereinfacht das KonfiguEin weiteres Beispiel aus der rieren, zum Beispiel über MassenopeMode-Management-Domäne: rationen. Außerdem zeigt ein solcher Das BswM-Modul in AUTOSAR 4 Editor die Parameter thematisch gruperlaubt eine völlig freie KonfiguBild 1. Rollen in einem AUTOSAR-Entwicklungsprojekt. piert an – auch über Modulgrenzen ration von Arbitrierungsregeln, (alle Bilder: Vector Informatik) hinweg. Über grafische Darstellungen logischen Ausdrücken und Aktiträgt der Editor zum Verständnis der onen, um auf Mode-Änderungen in hat ein Standardformat für die Systemkomplexen Konfiguration bei. Solche anderen BSW-Modulen zu reagieren beschreibungen definiert. Neben dieWerkzeuge sind hilfreich und nötig bei oder um selbst Mode-Änderungen sem Format setzen die OEMs aber auch allen Domänen der Basis-Software wie anzufordern. Über eine Assistenzfunkdie traditionellen Formate DBC, LDF und Kommunikation, Mode Management, tion wird nun zum Beispiel der BSW FIBEX ein. Außerdem verwendet der Diagnose, Memory Management oder Mode Manager (BswM) so konfiguriert, Tier 1 möglicherweise eigene SystemI/O. Über einen Editor im Bereich der dass er sich ähnlich verhält wie der rebeschreibungen, etwa für private CANMemory-Domäne fügt der Entwickler lativ einfach zu beherrschende ECU Busse innerhalb des Steuergerätes oder beispielsweise recht einfach einen State Manager (EcuM) aus AUTOSAR 3. für LIN-Busse zur Anbindung von SenSpeicherblock hinzu, der dann konsissoren. Das Software-Werkzeug muss tent im Non Volatile RAM Manager Ableiten von Parametern also alle möglichen Arten von Eingangs(NvM) wie auch in der Flash EEPROM daten erkennen, durch geeignetes Emulation (Fee) konfiguriert ist. Der Die Konfiguration der KommunikationsVorverarbeiten die traditionellen ForOverhead aus dem Verhältnis Nutzdaten module für CAN, LIN, FlexRay oder mate konvertieren und ECU-spezifische zu Blockgröße lässt sich durch eine Ethernet muss zu der vom OEM stamExtrakte erzeugen. Auch das Zusamgrafische Darstellung leicht abschätzen menden Systembeschreibung passen. menfügen von mehreren separaten (Bild 2). AUTOSAR sieht hierfür vor, dass eine Systembeschreibungen zu einer geZusätzlich helfen AssistenzfunktioBasiskonfiguration (Base EcuC) der meinsamen Beschreibung muss möglich nen beim Konfigurieren. Ändert der Module aus einem ECU-spezifischen sein. Erst dann kann das Generieren der Entwickler zum Beispiel einen ParameExtrakt der Systembeschreibung (SysBase EcuC starten. ter, werden die davon abhängigen Patem Extract) abgeleitet wird. In der Ähnliches gilt für die Diagnosemorameter durch ein Regelwerk automaPraxis sieht die Situation allerdings etdule: Die Konfiguration der Module tisch korrekt gesetzt. Für komplexere was komplizierter aus (Bild 3): AUTOSAR muss zur ODX-Spezifikation des Steuergerätes passen. Daher muss auch die ODX-Datei in die Base EcuC einfließen. Manchmal hat der Tier 1 eine Standardkonfiguration für seine Projekte, die direkt im EcuC-Format vorliegt. Auch diese Konfigurationsanteile sollten im Base EcuC enthalten sein. Die vom Werkzeug zum Überprüfen der Konfiguration benötigten BSWMDDateien können aus verschiedenen Quellen stammen: Sie werden entweder vom TIER2-BSW zur Verfügung gestellt oder zum Beispiel vom MikrocontrollerHersteller passend zu den MCAL-Modulen geliefert. Die SWCs schließlich können im System Extract enthalten sein, den der Automobilhersteller seinen Zulieferern zur Verfügung stellt. Gemäß der AUTOBild 2. Komfort-Ansichten helfen beim Konfigurieren des Steuergerätes. SAR-4-Methode wird aus dem System Elektronik automotive 4.201433 ENTWICKLUNGSPROZESSE Systembeschreibungen (Kommunikation, SWCs) ARXML ARXML System Description System Extract DBC LDF Software-Komponenten ARXML SWC DaVinci Configurator Pro FIBEX LegacyFile Kommunikations-Datenbanken Conversion OEM SystemExtract TIER 1 Generation Systembeschreibungen (Diagnose, weitere Vorgaben) ARXML System Extract ECUEXGenerierung und -Update ARXML ECU Extract SWCIntegration SystemExtract Merge ECUCUpdate ARXML Projekt-StandardKonfiguration CDD OEM TIER 1 TIER 2 SWC Base ECUCGenerierung ODX ARXML ECUC BSW- und RTEKonfiguration ARXML Diagnose-Daten OEM TIER 1 Base ECUC Moduldefinitionen Pro BSW-Modul ARXML ARXML ARXML Param- Pre- RecDef Config Config TIER 2 SW ARXML BSWMD OEM für TIER 1 TIER 2 HW Drittmodelle ARXML AUTOSAR Standard ParamDef Bild 3. Workflow für das Erstellen und Aktualisieren einer Steuergeräte-Konfiguration am Beispiel des DaVinci Configurator Pro von Vector Informatik. Extract zunächst ein ECU Extract erzeugt, der eine flache Sicht auf die SWCs darstellt. Anschließend wird der ECU Extract um weitere SWCs erweitert, die zum Beispiel externe Zulieferer (TIER2SWC) bereitstellen. Auf Basis des ECU Extract und der Base EcuC erstellt der Steuergeräteentwickler die Gesamtkonfiguration der BSW und der Laufzeitumgebung (Runtime Environment, RTE). Das Werkzeug sollte hierbei diejenigen Parameter, die aus dem Base EcuC übernommen worden sind, als schreibgeschützt darstellen, um Abweichungen vom System Extract zu vermeiden. Projekt-Update Während der Projektlaufzeit erhält der Entwickler immer wieder Updates der Eingangsdaten. Typischerweise kom- SWC 1 SWC 2 FunktionsEntwickler 1 RTE OS CAN FunktionsEntwickler 2 MEM BSW AUTOSAR ECU SoftwareIntegrator Bild 4. Entwicklung von „vertikalen“ Steuergeräte-Funktionen. 34 Elektronik automotive 4.2014 Parameter bewusst ignorieren und mit einem anderen Wert überschreiben. So kann er den Fehler direkt in der ECUKonfiguration beheben. Weil eine solche Abweichung immer kritisch ist, sollte der Steuergeräteentwickler über sein Werkzeug den Zustand explizit auf „user-defined“ setzen können. Solange der Parameter in diesem Zustand ist, darf das Werkzeug dessen Wert auch bei einem erneuten Update nicht überschreiben. Erst wenn der Steuergeräteentwickler den Status „user-defined“ zurücknimmt, fällt der Parameter auf den abgeleiteten Wert zurück. Auch bei der Abstimmung zwischen dem Steuergeräteentwickler und dem OEM hilft das Werkzeug, zum Beispiel indem es einen Report über die überschriebenen Parameter erzeugt. Merge-Funktion für paralleles Arbeiten mit mehreren Entwicklern Selbst in kleineren Steuergeräte-Projekten arbeiten immer mehrere Entwickler gleichzeitig am Projekt. Wenn die Zuständigkeiten klar getrennt sind – beispielsweise „Kollege xy ist immer für das Betriebssystem verantwortlich“ –, lassen sich parallele Änderungen am gleichen Modul oder an der gleichen Software- men diese Updates zu verschiedenen Zeitpunkten und unterschiedlich oft. Der OEM verteilt neue Systembeschreibungen passend zu den jeweiligen Meilensteinen der Fahrzeugentwicklung, während die Diagnosebeschreibung in der Regel wesentlich häufiger aktualisiert wird. Oft liegt nur eine kurze Zeitspanne zwischen dem Erhalt der Systembeschreibung und dem Abgabetermin. Ein Werkzeug muss daher in der Lage sein, die Konfiguration möglichst automatisch mit den neuen Eingangsdaten zu Bild 5. Diff/Merge-Unterstützung in DaVinci Configurator Pro. aktualisieren. Durch ein Projekt-Update wird dabei ein Komponente vermeiden. Typisch ist neues Base EcuC erzeugt und die eiallerdings eher eine Arbeitsweise, bei gentliche Konfiguration damit abgeder die Entwickler parallel jeweils eine glichen. Steuergeräte-Funktion entwickeln, die Aber was passiert bei Fehlern in der sich vertikal durch alle ArchitekturSystembeschreibung? Selbst nach Kläschichten der Steuergeräte-Software rung der Probleme mit dem OEM ist durchzieht (Bild 4). Zu Zeiten der maeine korrigierte Systembeschreibung nuellen C-Codierung hat der Integrator meistens nicht sofort verfügbar. In die unterschiedlichen Stände anschliesolchen Fällen möchte der Steuergeräßend textuell zusammengefügt. Mit teentwickler manche der abgeleiteten AUTOSAR bedeutet das allerdings, dass ENTWICKLUNGSPROZESSE CM MS0 K-Matrix (Version 1) MS1 MS2 MS3 MS4 K-Matrix (Version 2) Bild 6. Paralleles Arbeiten an der gleichen Steuergeräte-Konfiguration. der Integrator XML-Dateien im AUTOSAR-Format zusammenfügen muss, die viele Megabytes groß sein können. Mit herkömmlichen XML-Werkzeugen lässt sich eine AUTOSAR-Konfiguration praktisch nicht vergleichen oder zusammenfügen. Die Struktur der Datei und die vielen Referenzen innerhalb der Datei sind dazu viel zu kompliziert. Hier hilft nur ein AUTOSAR-Werkzeug, das die Unterschiede in der AUTOSAR-Konfiguration übersichtlich darstellt und MergeOptionen anbietet (Bild 5). Idealerweise kann der Anwender die Unterschiede direkt in den Komfort-Editoren betrachten, mit denen er auch die Konfiguration erstellt hat. So fühlt er sich zu Hause und muss sich nicht erst mühsam in eine andere Darstellung der Daten einarbeiten. Trotzdem gilt die Devise: Je weniger Änderungen zusammenzufügen sind, desto besser. Massive Änderungen an der Konfiguration entstehen zum Beispiel durch ein Projekt-Update auf eine neue Kommunikations-Matrix (K-Matrix). Daher empfiehlt sich folgende Vorgehensweise: Ausgehend von einem IntegrationsMeilenstein MS0 entwickeln die Feature-Entwickler jeweils auf einem eigenen Zweig (Bild 6). Die Zweige werden nacheinander im Hauptzweig zusammengefügt – eventuell auch in mehreren Zwischenschritten (MS1 bis MS3). Erst dann führt der Integrator ein Projekt-Update auf eine neue K-Matrix durch (MS4). Danach lassen sich neue Zweige ziehen und Funktionen passend zur neuen K-Matrix entwickeln. Das Ganze kann durch ein Konfigurationsmanagement-System (CM) unterstützt werden, das auch die Implementierungsdateien der SWCs verwaltet. Verfügbare Werkzeuge Das Werkzeug DaVinci Configurator Pro von Vector Informatik ermöglicht die beschriebene Arbeitsweise. In der kommenden Version lassen sich mit dem DaVinci Configurator Pro zudem Konfigurationsvarianten erstellen, die dynamisch im Steuergerät umgeschaltet werden – sogenannte Post-BuildDipl.-Ing. (FH) Selectable-Varianten. Matthias Wernicke war nach Abschluss seines StuAuch hierbei gilt es, die diums der Industrieelektronik verfügbaren AUTOSARan der FH Ulm zunächst vier Konzepte geschickt in Jahre im Daimler-ForschungsWerkzeug-Funktionen zentrum in Ulm tätig. Seit Anumzusetzen. Damit erfang 2000 arbeitet er bei Vector hält der Entwickler weiInformatik in Stuttgart an der Entwicklung von Methoden tere wertvolle Unterund Werkzeugen für den Entwurf verteilter Elektronikfunkstützung für die Enttionen im Kfz. Er ist heute für das Produkt-Management der wicklung von AUTODaVinci-AUTOSAR-Werkzeuge verantwortlich. SAR-Projekten. eck