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