DE102012217328A1 - Verfahren zum Simulieren eines Steuergeräts - Google Patents

Verfahren zum Simulieren eines Steuergeräts Download PDF

Info

Publication number
DE102012217328A1
DE102012217328A1 DE102012217328.5A DE102012217328A DE102012217328A1 DE 102012217328 A1 DE102012217328 A1 DE 102012217328A1 DE 102012217328 A DE102012217328 A DE 102012217328A DE 102012217328 A1 DE102012217328 A1 DE 102012217328A1
Authority
DE
Germany
Prior art keywords
vecu
software
configuration
hardware
driver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102012217328.5A
Other languages
English (en)
Inventor
Patrick Denu
Herbert Leuwer
Rainer Kaiser
Hartmut Baessler
Michael Schumpelt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102012217328.5A priority Critical patent/DE102012217328A1/de
Priority to US14/034,766 priority patent/US20140088946A1/en
Publication of DE102012217328A1 publication Critical patent/DE102012217328A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • G06F9/44542Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

Es werden ein Verfahren und eine Anordnung zum Simulieren eines Steuergeräts vorgestellt. Auf dem Steuergerät kommt eine Software zur Ausführung. Die Simulation findet auf einer Rechner-Plattform statt, die durch eine Hardware charakterisiert ist. In einem ersten Schritt wird die Hardware erkannt und in einem nächsten Schritt eine Anpassung an Hardwaretreiber vorgenommen.

Description

  • Die Erfindung betrifft ein Verfahren zum Simulieren eines Steuergeräts und eine Anordnung zur Durchführung des Verfahrens.
  • Stand der Technik
  • Steuergeräte, die bspw. in Kraftfahrzeugen zur Steuerung und Regelung unterschiedlicher Komponenten und Abläufe eingesetzt werden, sind elektronische Module, die bspw. von Sensoren erfasste Größen aufnehmen, auswerten und auf Grundlage dieser Auswertung Signale zur Steuerung und Regelung an weitere Komponenten, wie bspw. Aktoren, ausgeben.
  • In Kraftfahrzeugen kommunizieren Steuergeräte (ECU: electronic computing unit) über unterschiedliche Systembusse, wobei Informationen über Betriebszustände und weitere relevante Daten im Kraftfahrzeug ausgetauscht werden. Hierbei kann auch eine sogenannte On-Board-Diagnose (OBD) durchgeführt werden.
  • Die in Steuergeräten vorhandene Software lässt sich unterteilen in die sogenannte Infrastruktursoftware, die Basisfunktionen übernimmt und üblicherweise das Betriebssystem und Softwarekomponenten für die Kommunikation umfasst, sowie die Applikationssoftware, welche die gewünschte Funktionalität enthält.
  • Die Entwicklung der Software und der Hardware eines Steuergeräts kann parallel verlaufen. Daher kann es sein, dass Software im Rahmen des Entwicklungsprozesses getestet werden muss, obgleich das reale Steuergerät bzw. dessen Hardware noch nicht zur Verfügung steht. Doch ist es für das Testen notwendig, eine Simulation der Software durchführen zu können. Für diesen Fall ist es bekannt, eine Simulation des Steuergeräts auf einer PC-Plattform durchzuführen.
  • Die Druckschrift EP 2 172 857 A1 beschreibt ein Rapid Prototyping System, das einen Anwendungskern und einen Simulationskern umfasst. Bei diesem wird durch den Anwendungskern eine sogenannte Kontrollbank ausgeführt, die Nutzerbefehle empfängt und für ein Simulationsprogramm Kontrollsignale erzeugt. Dabei ist vorgesehen, dass mit dem Simulationsprogramm Funktionen eines Kontrollsystems simuliert werden, wobei dieses Kontrollsystem auch als Steuergerät ausgebildet sein kann.
  • Die Druckschrift DE 10 2005 044 236 A1 beschreibt ein Diagnosegerät, das für eine Simulation mindestens eines Steuergeräts verwendet wird, welches für eine On-Board-Diagnose (OBD) relevant ist. Mit dem Diagnosegerät kann weiterhin eine Kommunikation zwischen dem mindestens einen Steuergerät und mindestens einem Lesewerkzeug überprüft werden. Bei der Simulation des mindestens einen Steuergeräts können auch Fehlersimulationen eingespielt werden.
  • Es ist weiterhin ein als AUTOSAR (AUTomotive Open System Architecture) bezeichneter Standard bekannt, der eine Infrastruktur beschreibt, mit dem Softwarehersteller auf einer beliebigen Plattform eine Software zum Simulieren installieren können. AUTOSAR ist eine Entwicklungspartnerschaft aus Automobilherstellern, Steuergeräteherstellern sowie Herstellern von Entwicklungswerkzeugen, Steuergerätebasissoftware und Mikrocontrollern. Ziel ist es, den Austausch von Software auf verschiedenen Steuergeräten zu erleichtern. Dazu wurde eine einheitliche Softwarearchitektur mit einheitlichen Beschreibungs- und Konfigurationsformaten für eingebettete bzw. embedded Software in Automobilen erarbeitet. AUTOSAR definiert Methoden zur Beschreibung von Software im Fahrzeug, welche sicherstellen, dass Softwarekomponenten wiederverwendet, ausgetauscht, skaliert und integriert werden können. Als Simulationsplattform dient regelmäßig ein PC (Personal Computer).
  • Die AUTOSAR-Validierungsplattform (VAP) simuliert elektronische Steuergeräte (ECU) auf einer Standard-PC-Computerplattform. Die ECU-Hardware ist hin zu höheren Softwareschichten abstrahiert, indem die ECU-Hardware und die entsprechenden Treiber in der AUTOSAR-Basissoftware durch VAP-spezifische Hardwaretreibern ersetzt werden. Die Treibermodule steuern entweder physikalische Hardwarefunktionen mit physischen Einheiten oder simulieren Hardwarefunktionen mit simulierten Einheiten.
  • Eine auf solche Weise abstrahierte und simulierte ECU wird als virtuelle ECU oder auch VECU bezeichnet. Durch Instanziierung mehrerer VECUs auf einer einzigen leistungsfähigen Computerplattform mit mehreren CPUs, das sogenannte VAP-Target, ist VAP in der Lage, ein Netzwerk einer nahezu unbeschränkten Anzahl von VECUs aufzunehmen. Emulierte ECUs verwenden physische Einheiten und sind echtzeitfähig, wenn die Ressourcen des VAP-Target der VECU-AUTOSAR-Software korrekt zugeordnet sind. Simulierte ECUs verwenden simulierte Einheiten und ermöglichen es jeder VECU, alle Ressourcen der CPU zu nutzen.
  • Der Betriebszyklus von AUTOSAR konformer ECU-Software umfasst vier Hauptphasen:
    • – Autorisierungsphase: In dieser Phase richtet der Nutzer eine AUTOSAR konforme Konfigurationsdatenbank ein, wobei er geeignete Konfigurationseditoren verwendet.
    • – Quellcode-Generationsphase: In dieser wird die Konfigurationsdatenbank verwendet, um die Konfigurationsquelle und die Kopf- bzw. Header-Dateien zu erzeugen.
    • – Bildungsphase: In dieser werden Anwendungs-Softwarekomponenten, Hardware unabhängige BSW-Softwarekomponenten (BSW: Steuergerätesoftware), Hardware abhängige Softwarekomponenten (Treiber) und die erzeugten Konfigurationsquelle und Headerdateien kompiliert und mit Bibliotheken verknüpft, um in der ECU ausführbar zu sein.
    • – Laufzeitphase: In dieser wird die ausführbare ECU gestartet und betrieben. Im Zusammenhang mit VAP werden Experimente in der Laufzeitphase durchgeführt.
  • Eine ausführbare Standard-ECU ist statisch verbunden und enthält die erforderlichen Hardwaretreibermodule. Variationen für experimentelle Setups, wie bspw. Austausch von Hardware-Implementierungen, Austausch von physischen Einheiten durch simulierte Einheiten und umgekehrt, erfordern ein erneutes Bilden der statisch verbundenen, ausführbaren ECU. Die ursprüngliche, dem Kunden bereitgestellte ECU-Konfiguration muss geändert werden. Der vollständige Betriebszyklus von der Authorisierungsphase bis zur Laufzeitphase muss wiederholt werden.
  • Es gibt verschiedene Nachteile bei einer solchen vorübersetzten Zeitkonfiguration im Zusammenhang der AUTOSAR-Validierungsplattform:
    Die ECU-Konfigurationsdatenbank des Kunden muss angepasst und geändert werden.
  • Die VECU-Software muss während der Autorisierung, der Codegenerierung und Bildungsphase überarbeitet werden, wenn die Laufzeitkonfiguration geändert wird. Diese Überarbeitung erfordert weitreichende Kenntnisse von AUTOSAR. Weiterhin stellt dies eine zeitaufwendige und fehleranfällige Aufgabe dar.
  • VAP spezifische Laufzeitkonfigurationen werden nicht durch AUTOSAR-Standardwerkzeuge abgedeckt.
  • Die Autorisierungsphase und Laufzeitphase sind miteinander verbunden, was zu den Arbeitsabläufen der Kunden nur bedingt passt. Ein getrenntes Lizensieren von Autorisierungs- und Laufzeitwerkzeugen ist so nicht möglich.
  • Offenbarung der Erfindung
  • Vor diesem Hintergrund werden ein Verfahren mit den Merkmalen des Anspruchs 1 und eine Anordnung gemäß Anspruch 8 vorgestellt. Weitere Ausführungen ergeben sich aus den abhängigen Ansprüchen und der Beschreibung.
  • Bei dem vorgestellten Verfahren zur Abstraktion einer Hardware eines Steuergeräts auf der Basis von AUTOSAR ist in Ausgestaltung vorgesehen, eine Konfiguration während einer Ladezeit vorzunehmen sowie weiterhin ein Plugin für einen Treiber zu konzipieren. Dabei wird auf Grundlage von Konfigurationsdateien eines realen Steuergeräts ein virtuelles Steuergerät bereitgestellt.
  • Zur Ladezeit kann eine Konfiguration des virtuellen Steuergeräts ausgeführt. Die Ladezeit ist ein Zeitraum, der vor dem eigentlichen Programmablauf, der Simulation mittels VECU, liegt und in dem Konfigurationen vorgenommen werden können.
  • Somit stellt das vorgestellte Verfahren eine sogenannte Konfiguration zur Ladezeit von virtuellen ECUs in Verbindung mit einem Plugin-Treiber-Konzept für Einheitentreiber bereit. Die Ladezeitkonfiguration ist vorteilhaft. So muss die ECU-Konfiguration des Kunden nicht geändert werden, wenn eine VECU zu VAP oder zurück zu der ursprünglichen Hardware portiert wird. Die Laufzeitkonfiguration und Parameter können geändert oder gesetzt werden, ohne die Software überarbeiten zu müssen. Die Autorisierungs- und Laufzeitphase sind streng entkoppelt. Die Autorisierungs-Werkzeugkette ist bei allen experimentellen Umgebungen nicht notwendigerweise erforderlich, was besser zum Arbeitsablauf des Kunden passt und ein Lizensieren vereinfacht.
  • Da die Konfiguration erfolgt, nachdem die VECU-Software in den Speicher des VAP-Targets geladen wurde, sind tiefere Laufzeitkonfigurationsänderungen und Variationen möglich. Weiterhin sind produktinterne Hardwarevariationen vor der ECU-Softwarekonfiguration verborgen.
  • Die vorgestellte Ladezeit-Konfiguration stellt ein flexibles Verfahren dar, um experimentelle Umgebungen für eine ECU-Software-Validierung einzurichten, ohne die AUTOSAR-Konfiguration, die mit dem Standard des Kunden übereinstimmt, ändern zu müssen.
  • Grundsätzlich wird in einem ersten Schritt die Hardware, auf der die Simulation ausgeführt wird, erkannt. Dies kann bedeuten, dass dies dem System bzw. dem VAP mitgeteilt wird. In einem nächsten Schritt wird eine Mikrocontroller-Abstraktionsschicht generiert, in der die Schnittstelle, über die die Hardwaretreiber mit der Software verbunden sind, angepasst ist.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen.
  • Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt eine Ausführung des vorgestellten Verfahrens.
  • 2 zeigt ein Zustandsdiagramm einer VECU.
  • 3 zeigt ein Beispiel für ein Rahmenwerk einer Ladezeitkonfiguration und eines Treiber-Plugins.
  • Ausführungsformen der Erfindung
  • Die Erfindung ist anhand von Ausführungsformen in den Zeichnungen schematisch dargestellt und wird nachfolgend unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.
  • In 1 ist eine mögliche Ausführung des vorgestellten Verfahrens in einem Flussdiagramm, einem sogenannten Konfigurationsfluss, beschrieben. In einem ersten Schritt 10 liegen die ECU-Konfigurationsdateien vor. In einem darauffolgenden Schritt 12 wird die ECU-Konfiguration angepasst. Anschließend wird in einem Schritt 14 der modifiziert Code für Treiber generiert. Hierzu wird die Treiber-Konfiguration-VAP 16 verwendet. Der modifitierte Code wird in VAP-Treiber-Proxies 18 eingegeben. Hierin erfolgt eine Übersetzung von Symbolen zu einer Sprungtabelle. Diese Treiberproxies 18 werden verwendet, um in einem nächsten Schritt 20 eine ausführbare Version der VECU zu bilden. Diese VECU wird in einem nächsten Schritt 22 verwendet, um die ausführbare Version der VECU auf das VAP-Target herunterzuladen. Diese geladene VECU wird in einem nächsten Schritt 24 ausgeführt.
  • Anschließend wird in einem Schritt 26 die ECU konfiguriert, hierzu werden Plugins geladen, Plugins initialisiert und Sprungtabellen ausgefüllt. In Sprungtabellen werden die Einsprung-Adressen von Software-Funktionen hinterlegt.
  • Hierzu werden VAP-Treiber-Plugins 28 verwendet. Parallel dazu (Schritt 40) erfolgt die Entwicklung der Plugins. Dann erfolgt in einem Schritt 30 das Starten der ausführbaren Version der VECU, anschließend (Schritt 32) ein Stoppen der ausführbaren Version und abschließend (Schritt 34) ein Entladen der ausführbaren Version.
  • In 2 sind in einem Zustandsdiagramm Zustände einer VECU wiedergegeben. Ein erster Zustand 50 ENTLADEN wird nach dem Starten eingenommen. Durch Laden der VECU in die VAP-Target-Steuerung (Pfeil 52) wird der Zustand 54 GELADEN eingenommen. Wird die VECU wieder entladen (Pfeil 56) erfolgt ein Rücksprung zum Zustand 50.
  • Ausgehend von irgendeinem Zustand 60 kann im Falle eines Fehlers (Pfeil 62) der Zustand 64 FEHLER eingenommen werden. Lädt ausgehend hiervon die VAP-Target-Steuerung die VECU, wird der Zustand 54 GELADEN eingenommen. Ausgehend von diesem Zustand 54 wird, wenn die VECU gestartet wird oder ein Autostart erfolgt, der Zustand 70 STARTUP eingenommen, in dem alte Plugins entladen, neue Plugins geladen und die gesammelte Konfiguration angewendet wird.
  • Im nächsten Zustand 72 AUSFÜHREN wird die VECU zur Ausführung gebracht. Ausgehend von diesem Zustand 72 erfolgt, wenn die VECU-Kontrolle eine Pause erfordert (Pfeil 74) die Einnahme des Zustands 77 PAUSE. Wird die Wiederaufnahme gefordert, wird wieder Zustand 72 eingenommen.
  • Ausgehend vom Zustand 72 wird, wenn die VECU-Steuerung dazu auffordert (Pfeil 76) der Zustand 78 ABGESCHLOSSEN eingenommen. Anschließend wird der Zustand 80 ABSCHALTEN eingenommen. Ausgehend vom Zustand 80 wird, wenn die VECU erneut geladen wird (Pfeil 82) der Zustand 54 eingenommen. Ausgehend vom Zustand 72 wird, wenn ein Fehler entdeckt wird (Pfeil 84) der Zustand 86 ERROR eingenommen. Wird ausgehend von diesem Zustand 86 die VECU erneut gestartet oder diese gestoppt (Pfeil 90) so erfolgt ein Übergang zum Zustand 80.
  • 1 zeigt somit eine Übersicht des allgemeinen Konfigurationsflusses und 2 zeigt die zugeordneten Zustände der VECU. Sobald die VECU geladen wurde, was dem Zustand 54 entspricht, ist diese in dem Speicher der CPU und es gibt einen vollständigen Zugriff auf den gesamten Speicher und die Peripheriehardware. Die VECU AUTOSAR-Software läuft jedoch noch nicht.
  • Während der Laufzeitkonfiguration im Zustand 54 GELADEN werden Informationen gesammelt. Dieses Sammeln während der Laufzeitkonfiguration wird entweder interaktiv durchgeführt, wobei das VAP-Steuerwerkzeug verwendet wird, oder automatisch von einer vorab definierten Laufzeitkonfigurationsdatenbank. Die VECU tritt in den Zustand 70 STARTUP ein, wenn der Nutzer dazu auffordert, oder automatisch, wenn die Sammlung zur Laufzeitkonfiguration abgeschlossen ist. Im Zustand 70 STARTUP werden Gerätetreiber-Plugins geladen, wobei die darunter liegenden dynamischen Verbindungssysteme des Betriebssystems verwendet werden. Nachdem die Treiber-Plugins geladen wurden, wird die zuvor gesammelte Konfiguration ausgeführt. Während der Ausführung der Laufzeitkonfiguration werden die Treiber-Plugins initialisiert und die VECU-Software wird parametrisiert. Die VECU-Software ist nunmehr in der Lage, die ECU-Hardware vollständig zu abstrahieren und startet. Die VECU ist nunmehr im Zustand 72 AUSFÜHREN.
  • Unter einem Plugin ist ein Erweiterungsmodul zu verstehen, das ein Softwaremodul darstellt, das von einer Softwareanwendung während seiner Laufzeit entdeckt und eingebunden werden kann, um dessen Funktionalität zu erweitern.
  • Während des Zustands AUSFÜHREN dürfen die Laufzeitkonfigurationssammlung der VECU und die Treiber-plugins sich nicht ändern. Die Treiber-Plugins können im Zustand AUSFÜHREN nicht entladen werden. Es ist jedoch noch möglich, die VECU zu steuern und spezifische Laufzeitparameter zu Experimentzwecken zu ändern.
  • Die Rekonfiguration und der Austausch von Treiber-Plugins, bspw. der Austausch von simulierten Geräten durch physische Geräte, erfordern ein Abschalten der laufenden VECU-Software. Nachdem die VECU den Betrieb abgeschlossen hat, tritt diese in den Zustand 80 ABSCHALTEN, während die Treiber-Plugins sich vorbereiten, entladen oder erneut geladen zu werden, indem alle zugeordneten Systemressourcen freigegeben werden. Die VECU kann dann wieder den Zustand 52 GELADEN einnehmen und Treiber-Plugins können refonfiguriert oder sogar ausgetauscht werden.
  • 3 zeigt das Rahmenwerk für die Ladezeitkonfiguration und das Treiber-Plugin, das insgesamt mit der Bezugsziffer 100 bezeichnet ist. Somit wird der logische Aufbau einer Software, am Beispiel CAN, die auf einem VAP-Target ausgeführt wird, gezeigt. Das VAP-Target ist bspw. ein PC. Die Darstellung zeigt die Hardware unabhängige VECU-Software 102, die den AUTOSAR-Bereich darstellt, und die Hardware- und Software-Struktur 104 auf der PC-Plattform. Eine ausführbare Version 106 der statischen VECU ist umrandet verdeutlicht.
  • Weiterhin sind eine VAP-Steuerung 108, ein VECU-Manager 110, ein PC 112, auf dem die Anwendung zur Ausführung kommt, und ein VAP-Hardware-Manager 114 dargestellt.
  • In der VECU-Software 102 sind die Identifizierer der Protokoll-Dateneinheit (protocol data unit ID) 116, Hardware-Objekt-handles 118, Controller 120 und eine CAN-Schnittstelle 122 vorgesehen. Ein Hardware-Objekt-handle repräsentiert eine abstrakte Referenz auf eine CAN-Mailbox-Struktur, die CAN bezogene Parameter enthält.
  • In der Hard- und Software-Struktur 104 ist ein erster Proxy 130 für einen Treiber A und ein zweiter Proxy 132 für einen Treiber B vorgesehen. Weiterhin sind ein Plugin X 134, ein Plugin Y 134, die eine Anbindung zu realen Treibern darstellen, CAN-Knoten 138 und eine Anzahl von Puffern 140 bereitgestellt.
  • Weiterhin ist eine Reihe von Schnittstellen gezeigt, nämlich eine AUTOSAR-API 150 mit Namenskonvention, eine AUTOSAR-API 152 ohne Namenskonvention, eine Plugin-API 154, eine Plattform API 156, eine Linux-Bibliotheks-API 158 für ein dynamisches Laden, eine API 160 für RTPC-Dienste, eine Schnittstelle 162 zum Steuern bzw. Überwachen der VECU-Software zur Laufzeit, eine VECU-Steuerungsschnittstelle 164 und eine VAP-Target-Steuerungsschnittstelle 166. API (application programming interface) steht dabei für eine Schnittstelle zur Anwendungsprogrammierung.
  • Das in 3 beispielhaft gezeigte Rahmenwerk 100 besteht aus folgenden Funktionskomponenten:
    Treiberkonfiguration vor dem Kompilieren,
    VECU-Manager,
    VECU-Software,
    Gerätetreiber-Proxy-Module,
    Gerätetreiber-Plugin-Module,
    Plugin-Ladeeinheit,
    Konfigurationssammlung,
    Konfigurationsausführung.
  • Der AUTOSAR-Softwareerstellungsprozess beruht auf einer statisch verbundenen ausführbaren Version der VECU, wobei Module in der ECU-Abstraktionsschicht zwischen Treibermodulimplementierungen für verschiedene zugrundeliegende Hardware durch Namenskonvention unterscheiden. Alle globalen Symbole, wie bspw. Funktionen und Variablen, der API (application programming interface: Programmerschnittstelle), die durch ein Treiber-Softwaremodul exportiert werden, werden erweitert, indem Verkäufer spezifische Informationen verwendet werden.
  • Diese implementationsspezifischen Symbolreferenzen können durch generische, implementierungsunabhängige, dynamisch gemeinsam genutzte Bibliotheken erfüllt werden, die in jede ECU-Implementierung passen müssen.
  • Jede statistische AUTOSAR konforme ausführbare Version der VECU erfordert eine AUTOSAR konforme Konfiguration der Treiberparameter, die typischerweise in dem ECU-ROM platziert sind. Lediglich der Gehalt und der C-Typenname der Konfigurationsstruktur sind standardisiert. Die interne Struktur des Konfigurationsdatensatzes ist spezifisch und transparent für höhere Softwareschichten. Das Letzere ermöglicht Treibern, Verkäufer spezifische Parameter einzubinden, die für Standard-AUTOSAR-Funktionen nicht sichtbar sind. Das Plugin-Konzept verwendet diesen Ansatz, indem dieses seine eigene interne VAP spezifische Struktur bereitstellt. Diese Struktur ersetzt Kundenstrukturen auf dieselbe Weise wie Proxytreiber-Module Kundentreibermodule ersetzen. VAP-spezifische Treiberkonfigurationen verstanden durch Treiber-Plugin-Module können leicht an diesem Punkt eingebunden werden. Es ist zu empfehlen, die Konfiguration in Speicherorte mit Ladezeitschreibzugriff anzuordnen. Diese Konfigurationsstrukturen werden zusammen mit der Proxytreiber-Modul-Codegeneration erzeugt.
  • Der VECU-Manager ist die Hauptausführungsstrang eines VECU-Prozesses. Dieser läuft, wenn die VECU geladen wird. Der VECU-Manager dient der VAP-Steuer-Schnittstelle und hat Zugriff auf das Datensystem des Computers. Dieser sammelt die VECU-Ladezeitkonfiguration, lädt Gerätetreiber-Plugin-Module und führt die VECU-Ladezeitkonfiguration aus. Dieser steuert ebenfalls die VECU-Software und überwacht deren Status während der Laufzeit.
  • Die VECU-Software enthält alle AUTOSAR definierten Software-Komponenten, wie bspw. Anwendungscode, Echtzeitbetriebssystem und grundlegende Software-Module.
  • Die Gerätetreiber-Proxymodule werden als eine Anpassungs- bzw. Adaptionsschicht zwischen der statisch verbundenen ausführbaren Version der VECU und den dynamisch geladenen Gerätetreiber-Plugin-Modulen verwendet. Ein Gerätetreiber-Proxy führt die folgenden spezifische Aufgaben durch:
    Bereitstellen der AUTOSAR konformen API,
    Übersetzen der namenbasierten Treiberimplementierung-Unterscheidung in adressbasierte Treiberimplentierung-Unterscheidung, wobei indizierte Sprungtabellen verwendet werden, die Symboladressen eher während der Ladezeit als während der Bildungszeit auflösen.
  • Da die Gerätetreiber-Proxymodule AUTOSAR konfigurationsspezifische Symbolnamen präsentieren müssen, werden diese automatisch während der AUTOSAR-Autorisierungsphase erzeugt. Für jeden kundendefinierten Hardware-Treiber wird ein Proxymodul erzeugt, wobei die Verkäufer-ID von der kundenerzeugten AUTOSAR-Konfigurationsdatenbank genommen wird. Die Codeerzeugung für Gerätetreiber-Proxymodule ist einfach, da die internen Funktionen der Proxytreibermodule AUTOSAR-Standardsignaturen und lediglich Adressübersetzungen bereitstellen müssen und eine Vorwärtsfunktionalität aufrufen.
  • Die Gerätetreiber-Pluginmodule enthalten die tatsächlichen Gerätefunktionen ohne Namenserweiterung. Es gibt ein Gerätetreiber-Plugin-Modul für jede VAP-Hardware oder jeden simulierten Gerätetyp. Die Gerätetreiber-Plugin-Module stellen eine Plugin-API mit den folgenden Diensten bereit:
  • – Erhalte Symbolreferenzen
  • Die Plugin-Module liefern einen Treiber spezifischen Satz von Laufzeitreferenzen, die durch das Rahmenwerk der Ladezeitkonfiguration verwendet werden, um die Sprungtabellen der Gerätetreiber-Proxymodule zu füllen.
  • – Setze Symbolreferenzen
  • Die Plugin-Module stellen eine Sprungtabelle bereit, um Funktionen in den Gerätetreiber-Proxymodulen zurückzurufen. Die Gerätetreiber-Proxymodul spezifischen Rückruffunktionen-Referenzen werden in diese Sprungtabellen eingesetzt.
  • – Initialisierung
  • Die Plugin-Module werden initialisiert. Es ist zu bemerken, dass dies nicht die AUTOSAR-ECU-Software-Initialisierung der Treiberfunktionalität ist. Der Letztere ist Teil des Dienstes, der durch das Plugin-Modul bereitgestellt wird.
  • – Deinitialisierung
  • Die Plugin-Module setzen alle zugewiesenen Ressourcen frei und sind bereit, um von dem Speicher entladen zu werden.
  • Die Konfigurationssammlung ist ein Dienst, der durch die VECU außerhalb AUTOSAR bereitgestellt wird. Dieser besteht aus einem Satz von Datenstrukturen, die während der Initialisierung der Gerätetreiber-Plugin-Module verwendet werden. Diese Datenstrukturen enthalten die folgende Ladezeitkonfigurationsinformation:
    • – Gerätetreiber-Plugin-Auswahl,
    • – Plugin spezifische Gerätetreiber, nicht-AUTOSAR-Parameter,
    • – Laufzeitwerte für AUTOSAR-Parameter.
  • Die Konfigurationssammlung stellt also Mittel bereit, um diese Ladezeitkonfigurationsinformation von der VAP-Steuerschnittstelle oder von den Konfigurationsdateien zu empfangen.
  • Die Plugin-Modul-Ladeeinheit ist ein generischer Dienst, der durch die VECU außerhalb der AUTOSAR-Software bereitgestellt wird. Dieser verwendet die Konfigurationssammlung, um die ausgewählten Treiber-Plugins zu laden.
  • Die Konfigurationsausführung ist ein Dienst, der durch die VECU außerhalb der AUTOSAR-Software bereitgestellt wird. Dieser führt die folgenden Funktionen aus:
    • – Initialisieren der geladenen Gerätetreiber-Plugins, wobei die Konfigurationssammlung spezifischen Nicht-AUTOSAR-Parameter verwendet werden,
    • – Parametrisieren der VECU, wobei die Konfigurationssammlungslaufzeitwerte für AUTOSAR-Parameter verwendet werden.
  • Der AUTOSAR-Software-Erzeugungsprozess beruht auf einer statisch verbundene VECU, die ausführbar ist, wobei Module in der ECU-Abstraktionsschicht sich zwischen Treibermodulen und anderen Modulen unterscheiden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • EP 2172857 A1 [0006]
    • DE 102005044236 A1 [0007]

Claims (9)

  1. Verfahren zum Simulieren eines Steuergeräts, auf dem eine Software zur Ausführung kommt, auf einer Rechner-Plattform, die durch eine Hardware charakterisiert ist und über Hardwaretreiber anzusteuern ist, wobei die Hardwaretreiber über eine Schnittstelle mit der Software des Steuergeräts verbunden sind, wobei in einem ersten Schritt die Hardware erkannt wird und in einem darauffolgenden Schritt eine Mikrocontroller-Abstraktionsschicht auf der Rechner-Plattform generiert wird, in der die Schnittstelle an die vorliegenden Hardwaretreiber angepasst wird, wobei mindestens ein Plugin für mindestens einen Hardwaretreiber erzeugt wird.
  2. Verfahren nach Anspruch 1, das mit einer AUTOSAR-Validierungsplattform durchgeführt wird.
  3. Verfahren nach Anspruch 1 oder 2, bei dem als Rechner-Plattform ein Personal Computer (PC) verwendet wird.
  4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem während einer Ladezeit eine Konfiguration durchgeführt wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem eine Anzahl von Steuergeräten auf der Rechner-Plattform simuliert wird.
  6. Verfahren nach einem der Ansprüche 1 bis 5, bei dem Gerätetreiber-Proxymodule verwendet werden.
  7. Verfahren nach einem der Ansprüche 1 bis 6, bei dem Gerätetreiber-Plugin-Module verwendet werden.
  8. Anordnung zum Simulieren eines Steuergeräts, die eine Rechner-Plattform umfasst, die zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 7 ausgelegt ist.
  9. Anordnung nach Anspruch 4, bei der als Rechner-Plattform ein PC dient.
DE102012217328.5A 2012-09-25 2012-09-25 Verfahren zum Simulieren eines Steuergeräts Withdrawn DE102012217328A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102012217328.5A DE102012217328A1 (de) 2012-09-25 2012-09-25 Verfahren zum Simulieren eines Steuergeräts
US14/034,766 US20140088946A1 (en) 2012-09-25 2013-09-24 Method for simulating a control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102012217328.5A DE102012217328A1 (de) 2012-09-25 2012-09-25 Verfahren zum Simulieren eines Steuergeräts

Publications (1)

Publication Number Publication Date
DE102012217328A1 true DE102012217328A1 (de) 2014-03-27

Family

ID=50235232

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012217328.5A Withdrawn DE102012217328A1 (de) 2012-09-25 2012-09-25 Verfahren zum Simulieren eines Steuergeräts

Country Status (2)

Country Link
US (1) US20140088946A1 (de)
DE (1) DE102012217328A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582623B2 (en) * 2014-02-12 2017-02-28 Synopsys, Inc. Dynamically loaded system-level simulation
EP3001313A1 (de) * 2014-09-23 2016-03-30 dSPACE digital signal processing and control engineering GmbH Verfahren zur Simulation eines Anwendungsprogramms eines elektronischen Steuergeräts auf einem Computer
DE102018221251A1 (de) * 2018-12-07 2020-06-10 Robert Bosch Gmbh Vorrichtung zum Simulieren eines Steuergerätes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005044236A1 (de) 2005-09-16 2007-03-29 Volkswagen Ag Diagnosegerät
EP2172857A1 (de) 2008-09-26 2010-04-07 Robert Bosch Gmbh Schnelles Prototypsystem mit Hostcomputersystemen mit Multicore

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5854905A (en) * 1996-09-03 1998-12-29 Intel Corporation Extensible bios for boot support of devices on multiple hierarchical buses
EP1588275A1 (de) * 2002-12-17 2005-10-26 Systemauto System, verfahren und computerprogrammprodukt zur gemeinsamen nutzung von informationen in einem verteilten framework
EP1530137A1 (de) * 2003-11-10 2005-05-11 Robert Bosch Gmbh Simulationssystem und Computerimplementiertes Verfahren zur Simulation und Verifikation von Kontrollsystemen
US9360853B2 (en) * 2011-09-19 2016-06-07 Dspace Gmbh Exchange of files and meta-information between system design tools and behavior modeling tools and/or simulators for the creation of ECU software
US20130103379A1 (en) * 2011-10-20 2013-04-25 Electronics And Elecommunications Research Institute Apparatus and method for verifying interoperability between application software and autosar service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005044236A1 (de) 2005-09-16 2007-03-29 Volkswagen Ag Diagnosegerät
EP2172857A1 (de) 2008-09-26 2010-04-07 Robert Bosch Gmbh Schnelles Prototypsystem mit Hostcomputersystemen mit Multicore

Also Published As

Publication number Publication date
US20140088946A1 (en) 2014-03-27

Similar Documents

Publication Publication Date Title
CN107784152B (zh) 包括多个模拟器的模拟
EP2685382B1 (de) Verfahren und Vorrichtung zum Erstellen und Testen eines Steuergeräteprogramms
DE102012009482B4 (de) Funktional erweiterbares Fahrzeugsteuergerät und Verfahren zum Ergänzen der Funktionalität eines Fahrzeugsteuergeräts
EP2009525B1 (de) Testvorrichtung zum Testen wenigstens eines elektronischen Steuerungssystems und Verfahren dazu
DE102016119320A1 (de) Verfahren zum Konfigurieren eines realen oder virtuellen elektronischen Steuergerätes
EP3001313A1 (de) Verfahren zur Simulation eines Anwendungsprogramms eines elektronischen Steuergeräts auf einem Computer
DE102017211433B4 (de) Verfahren zum Durchführen eines Funktionstests eines Steuergeräts in einem Hardware-in-the-Loop-Test, HIL-Test, sowie HIL-Prüfstand und Steuergerät
EP3451202B1 (de) Verfahren zum erzeugen eines auf einem testgerät ausführbaren modells eines technischen systems und testgerät
EP1428126A2 (de) Verfahren zur softwareverifikation für steuereinheiten und verifikationssystem
DE10333087A1 (de) Verfahren zum automatischen Zerlegen von dynamischen Systemmodellen in Teilmodelle
EP2866111A1 (de) Testen eines Steuergerätes mittels einer Testumgebung
EP3285165A1 (de) Modifizieren und simulieren der betriebssoftware eines technischen systems
DE102010025954A1 (de) Verfahren und Anordnung zur vollständigen oder teilweisen Nachbildung und/oder Simulation eines Automatisierungssystems
DE102012217328A1 (de) Verfahren zum Simulieren eines Steuergeräts
DE112010005509T5 (de) Robotersystemsteuerverfahren und eine Vorrichtung davon
WO2019211122A1 (de) Feature-development-framework und feature-integration-framework zum implementieren physikalischer funktionsfeatures in einem zielgerät
EP2083339A1 (de) Verfahren und Vorrichtung zur Ausführung von Tests mittels funktional kaskadierten Test- und Experimentiervorrichtungen
WO2006035038A2 (de) Verfahren zum testen von steuergerätesoftware für ein steuergerät
DE102014002593A1 (de) Dynamisches speicherprogrammierbares Steuergerät
EP2653850B1 (de) Verfahren und IT-System zum Durchführen von Gesamtfahrzeugtests
DE202016008563U1 (de) Konfigurationssystem zum Konfigurieren eines für das Testen eines Steuergeräts eingerichteten Testgeräts
EP4010765A1 (de) System und verfahren zum bereitstellen einer digitalen nachbildung einer anlage und entsprechendes computerprogrammprodukt
DE102009054137A1 (de) Verfahren zum Testen einer Applikation hinsichtlich ihrer Performanz
DE102009057979A1 (de) Verfahren und Vorrichtung zur Konfiguration eines Steuergeräts eines Fahrzeugs
DE102014105109A1 (de) Verfahren und Vorrichtung zum Erzeugen und Abarbeiten von Testfällen

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee