WO2017021506A1 - Verfahren zum betreiben einer steuervorrichtung und diagnosesystem - Google Patents

Verfahren zum betreiben einer steuervorrichtung und diagnosesystem Download PDF

Info

Publication number
WO2017021506A1
WO2017021506A1 PCT/EP2016/068681 EP2016068681W WO2017021506A1 WO 2017021506 A1 WO2017021506 A1 WO 2017021506A1 EP 2016068681 W EP2016068681 W EP 2016068681W WO 2017021506 A1 WO2017021506 A1 WO 2017021506A1
Authority
WO
WIPO (PCT)
Prior art keywords
output
buffer
control device
variable
selection signal
Prior art date
Application number
PCT/EP2016/068681
Other languages
English (en)
French (fr)
Inventor
Markus Breitfelder
Simon Tobias Eder
Ralph Mader
Original Assignee
Continental Automotive 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 Continental Automotive Gmbh filed Critical Continental Automotive Gmbh
Publication of WO2017021506A1 publication Critical patent/WO2017021506A1/de

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Definitions

  • a method for operating a control device for a vehicle is specified. It also specifies a diagnostic system.
  • the object underlying the invention is to
  • the invention relates to a method for operating a control device for a vehicle.
  • the control device comprises a global memory, a data consistency buffer and an output buffer and is designed to process several computing processes at the same time and / or cooperatively and / or preemptively.
  • the method provides an output sequence that is representative of possible computational process output timing of variables used in the computational processes.
  • a first selection signal is provided which is representative of at least one variable to be provided in the output buffer of the variables used in the computing processes.
  • a second selection signal provided that is representative of at least one desired output computing process time of the respective ⁇ reitrise be variable.
  • an arithmetic process output timing of the jewei ⁇ then be provided variable is selected from the output sequence.
  • the respective variable is to be provided depending on the time of delivery of the selected Rechenrete ⁇ copied to the output buffer during a predetermined time period from the output data consistency buffer or the global memory.
  • the method enables an automated readout of the respective variable to be provided, wherein a data consistency can be ensured when operating the control device.
  • a data consistency can be ensured when operating the control device.
  • it is contributed to a value of the respective variable to be provided coinciding with a value that is or was used in the processing of the respective computing process.
  • the control device can in particular be a multi-core processor which is designed to process several computation processes simultaneously.
  • the computational processes each comprise at least one runable function, which may have input, intermediate and output values, respectively.
  • the input, intermediate and output values are in a respective memory of the control device, in particular the global memory and / or or the data consistency buffer and are referred to here and below as variables.
  • the variables are used in other words in processing the computational processes.
  • the global memory is, for example, a memory area of the control device that can be read out and / or written by all computing processes or executable functions.
  • the data consistency buffer is a memory area of the control device which comprises individual buffer sections which can each be allocated to a variable of a computational process or function and can only be read out and / or written during runtime of the respective computation process or the respective function , After processing the respective computing process or the respective function, this buffer section can be released, for example.
  • the off ⁇ transfer buffer is, for example, be a memory area of the control device, which can be read, for example, cyclically over a communication interface of the control device from ⁇ given and / or exemplified by a diagnostic unit.
  • a diagnostic unit for example, in this context includes the diagnosis ⁇ unit, a display device via which the variable you want to view a user.
  • the user can thereby automate the variable to be output, that is, in particular, be reliably displayed without manual setting of breakpoints, so that a particularly simple and efficient functional validation of the control device is contributed.
  • the possible Rechenrete ⁇ times of variables used in the computing processes can be determined. In particular, these can then be provided as an output sequence during runtime of the program.
  • the control device can be signal-technically coupled to a diagnostic unit, via which a user can output a variable as well as the desired one
  • the predetermined output time duration denotes a time duration in which both the copying into the output buffer is carried out and a buffer copying function (so-called "fill / flush”) is carried out, ie a copy of the respective variable from the global memory into the data consistency buffer or vice versa.
  • the copying of the variable into the data consistency buffer serves in particular for a data consistency in the event of an interruption of the computation process or a simultaneous one
  • variable By another calculation process. In particular, this can be the case with several producers, ie in the case that several computing processes or functions within the computing process change the value of the variable.
  • the calculation process time of issue of the respective Cincinnatizu ⁇ Vice end variable can also act as so-called "Alternative Sample Point" are referred to.
  • a region enclosed by the predetermined output time period for that calculation process is executed without interruption. This makes an additional contribution that the Value of the variable to be provided with the value which is or was used in the processing of the respective computational process.
  • the program for performing the method can be used in this context, protected from ⁇ reproducing time period include (Engl. "Exclusive Area").
  • the respective variable to be provided is copied from the global memory into the output buffer and then into the data consistency buffer during the predetermined output time period.
  • variable to be provided can thus be provided in the data consistency buffer prior to copying, so that a computing process which uses the value of this variable and possibly changes it, has no influence on the value of the variable to be provided. In particular, it is thus contributed to the value of the variable to be provided coinciding with the value used in the execution of the respective computing process.
  • the variable represents, in particular, an input value of the respective computing process or the function performed in the computing process.
  • the respective variable to be provided is copied into the data consistency buffer immediately after the copying into the output buffer.
  • the predetermined output period can be kept so short. This enables a safe and efficient operation of the control device, in particular in the Case that the specified output time is processed without interruption.
  • the respective variable to be provided is copied from the data consistency buffer into the global memory and then into the output buffer during the predetermined output time period.
  • the variable to be provided can thus be provided after copying into the global memory, so that an influence on the value of the variable to be provided can be taken into account, for example by a calculation process which uses the value of this variable and if necessary changes it. In particular, this helps to ensure that the value of the variable to be provided coincides with the value that was used during the execution of the respective calculation process.
  • the variable represents in particular an output value of the respective computing process or of the function performed in the computing process.
  • the copying of the respective variable into the global memory can also be referred to as a so-called "flush routine.”
  • the respective variable to be provided is copied into the output buffer immediately after copying into the global memory 16.
  • the predetermined output period can be kept particularly short This enables a safe and efficient operation of the control device, in particular in the event that the predetermined output time is processed without interruption.
  • the invention is characterized by a diagnostic system.
  • the diagnostic system comprises a control device and a diagnostic unit, which is signal-technically coupled to the control device.
  • the diagnostic unit is designed to provide the control device with a first selection signal.
  • the first selection signal is representative of at least one variable to be provided which is used in operating the control device.
  • the diagnostic unit is also designed to provide the control device with a second selection signal.
  • the second selection signal is representative of at least one desired arithmetic process output timing of the respective variable.
  • the diagnostic unit is further configured to read out data stored in a Ausga ⁇ bepuffer the control device. This advantageously allows a simple function ⁇ validation of the control device.
  • the diagnostic unit can in particular be operated with a measurement, Ka ⁇ librier- and diagnostics software like INCA (Integrated Calibration and Application Tool).
  • the diagnostic system can also be referred to as a measuring system.
  • control device is designed to perform a method according to the first aspect. Embodiments are explained in more detail below with reference to the schematic drawings.
  • FIG. 1 shows a schematically illustrated diagnostic system
  • FIG. 2 shows a sequence of execution when operating a control device according to FIG. 1,
  • FIG. 3 shows a flowchart for operating the control device according to FIG. 1.
  • FIG. 1 shows diagnostic system 10 for a control device 1 for a vehicle, comprising a diagnostic unit 3, which is coupled with the control device 1 in terms of sig ⁇ naltechnisch.
  • the control device 1 is designed as a multi-core processor comprising a plurality of cores Cl, C2 (see FIG. 2).
  • the cores Cl, C2 are in particular computing cores of the control device 1.
  • the control device 1 comprises two cores Cl, C2.
  • a number of cores Cl, C2 of the control device 1 thereof may differ, and in particular exceed.
  • the control device 1 is designed to execute several computing processes T preemptively and / or cooperatively and / or simultaneously.
  • FIG. 1 also shows such a basic sequence of a computing process T.
  • the computing processes T each comprise at least one executable function R1, R2, R3, R4, R5, R6, which may each have input, intermediate and output values.
  • data for software algorithms example, ⁇ to operate the vehicle, copied to buffer to ensure data consistency safe.
  • the control device 1 In this context, a data consistency buffer D is assigned.
  • the data consistency buffer D is, in particular, a buffer process memory (so-called "task individual buffer”)
  • the control device 1 is assigned a global memory G.
  • the global memory G is in particular a so-called "global data RAM”.
  • T does not indicate the value that the software algorithm has seen as an input value or that an output value in the case of multiple producers of the value at the end of the relevant calculation
  • the value of the variable could be determined at the right time.
  • the control unit software is therefore instrumented such that a transmission of the relevant global data to the diagnostic unit 3 can take place at the points in time in question. Between the executable functions R1 ... R6, buffer copy functions (Fill / Flush) can be called.
  • a fill routine L is a copying process in which a variable is read from the global memory G and copied into the data consistency buffer D.
  • a flush routine S is a co ⁇ piervorgang in which a variable from the data consistency buffer D in the global memory G is written.
  • FIG. 2 shows an exemplary sequence over the time t when the control device 1 according to FIG. 1 is operated.
  • a computing process T1, T2 is executed on the cores C1, C2 of the control device 1.
  • a variable "var" is assigned the value "2". This value is used by the executable function Rl of the calculation process Tl.
  • the value "2" is copied to a data consistency buffer D1 by the fill routine LI and used as the input value El of the executable function R1, in case it is important to set the value of the variable "var" corresponding to the algorithm in Rl has been handed over, for example to be seen by the diagnostic unit 3, an output having the arithmetic process output time M 1 (so-called “alternative sample point") must take place just prior to being copied into the data consistency buffer D 1.
  • the arithmetic process output time Ml passes the value "2", which is used by the executable function Rl.
  • the value "2" is copied by the fill routine L2 into a data consistency buffer D2 and used as the input value E2 of the executable function R2
  • the executable function R2 outputs the value "3” as the output value A2 and writes this into the data consistency buffer D2.
  • the value "3” is copied by the flushing routine S2 into the global memory G.
  • a so-called "end of cylce” event M2 passes the value "3", which has been renewed by the executable function R2.
  • the control device 1 comprises, in particular, a data and program memory in which steps of the method are stored as a program, as explained in more detail below with reference to the flowchart of FIG.
  • the program is started in a step PI.
  • step PI an output sequence is provided which is representative of possible calculation process output times of variables used in the computing processes T. The relevant times are specified by the data consistency buffer method.
  • step PI in particular, a first selection signal representative of a variable to be provided in the output buffer and a second selection signal representative of a desired arithmetic process output timing of the variable are provided.
  • the selection of the calculation process output time (“Alternative Sample Point") and the data is performed by the user through the diagnostic system 10.
  • the program is then continued in a step P3.
  • step P3 depending on the first selection signal and the second selection signal, a calculation process output time of the respective variable to be provided is selected from the output sequence, that is to say the points in time specified by the data consistency buffer method.
  • the program is then continued in a step P5.
  • step P5 a buffer copy function is called.
  • the data is copied to a data consistency buffer D.
  • the copying takes place, for example, in an interruption-protected predetermined output duration, so-called "Exclusive Areas" of the program execution
  • the variables selected by the user to be output are copied to an output buffer during the predetermined output period and are read by the diagnostic unit 3 read out.
  • a section of the respective computing process which is encompassed by the predetermined output time duration is processed without interruption.
  • Each of these Exclusive Areas is instrumentation.
  • the instrumentation is for sections that perform copying into the data consistency buffer D at the beginning. For sections that perform copying from the data consistency buffer D at the end.
  • the instrumentation as well as the data definition for the selection of the so-called "sample points" is coordinated with the buffer layout tool ⁇ based.
  • the position of the Rechenluiausga- can be adapted to the problem time. Through the tool-based implementation, this point in time is easily selectable by the user.
  • the instrumentation consumes only significantly running time when the user abuts a Rechenretemaschine and therefore can remain in the software of the control device 1.
  • the "Alternative Sample Point" method extends the existing diagnostic options without changing the diagnostic method, enabling a detailed analysis of the data behavior in the vehicle under real Be ⁇ operating conditions. In particular, as a particularly reliable and efficient function validation can be performed the control apparatus 1 ,

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Es wird ein Verfahren zum Betreiben einer Steuervorrichtung (1) für ein Fahrzeug angegeben. Die Steuervorrichtung (1) umfasst einen globalen Speicher (G), einen Datenkonsistenzpuffer (D) und einen Ausgabepuffer und ist ausgebildet, mehrere Rechenprozesse (T) zeitgleich und/oder kooperativ und/oder präemptiv abzuarbeiten. Bei dem Verfahren wirdeine Ausgabeabfolge bereitgestellt, die repräsentativ ist für mögliche Rechenprozessausgabezeitpunkte von in den Rechenprozessen (T) verwendeten Variablen. Es werden ein erstes Auswahlsignal, das repräsentativ ist für wenigstens eine in dem Ausgabepuffer bereitzustellende Variable der in den Rechenprozessen (T) verwendeten Variablen, sowie ein zweites Auswahlsignal bereitgestellt, das repräsentativ ist für wenigstens einen gewünschten Rechenprozessausgabezeitpunkt der jeweiligen bereitzustellenden Variable. Abhängig von dem ersten Auswahlsignal und dem zweiten Auswahlsignal wird ein Rechenprozessausgabezeitpunkt (M1) der jeweiligen bereitzustellenden Variable aus der Ausgabeabfolge ausgewählt und abhängig von dem ausgewählten Rechenprozessausgabezeitpunkt (M1) die jeweilige bereitzustellende Variable während einer vorgegebenen Ausgabezeitdauer aus dem Datenkonsistenzpuffer (D) oder dem globalen Speicher (G) in den Ausgabepuffer kopiert. Es wird ferner ein Diagnosesystem (10) angegeben.

Description

Beschreibung
Verfahren zum Betreiben einer Steuervorrichtung und Diagnosesystem
Es wird ein Verfahren zum Betreiben einer Steuervorrichtung für ein Fahrzeug angegeben. Es wird ferner ein Diagnosesystem angegeben . Die Aufgabe, die der Erfindung zugrunde liegt, ist es, ein
Verfahren zum Betreiben einer Steuervorrichtung für ein Fahrzeug sowie ein korrespondierendes Diagnosesystem zu schaffen, das eine zuverlässige und effiziente Funktionsvalidierung der Steuervorrichtung ermöglicht.
Die Aufgabe wird gelöst durch die unabhängigen Patentansprüche. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen gekennzeichnet . Gemäß einem ersten Aspekt betrifft die Erfindung ein Verfahren zum Betreiben einer Steuervorrichtung für ein Fahrzeug. Die Steuervorrichtung umfasst einen globalen Speicher, einen Da- tenkonsistenzpuffer und einen Ausgabepuffer und ist ausgebildet, mehrere Rechenprozesse zeitgleich und/oder kooperativ und/oder präemptiv abzuarbeiten.
Bei dem Verfahren wird eine Ausgabeabfolge bereitgestellt, die repräsentativ ist für mögliche Rechenprozessausgabezeitpunkte von in den Rechenprozessen verwendeten Variablen.
Des Weiteren wird ein erstes Auswahlsignal bereitgestellt, das repräsentativ ist für wenigstens eine in dem Ausgabepuffer bereitzustellende Variable der in den Rechenprozessen verwendeten Variablen. Es wird ferner ein zweites Auswahlsignal bereitgestellt, das repräsentativ ist für wenigstens einen gewünschten Rechenprozessausgabezeitpunkt der jeweiligen be¬ reitzustellenden Variable. Abhängig von dem ersten Auswahlsignal und dem zweiten Auswahlsignal wird ein Rechenprozessausgabezeitpunkt der jewei¬ ligen bereitzustellenden Variable aus der Ausgabeabfolge ausgewählt. Abhängig von dem ausgewählten Rechenprozessaus¬ gabezeitpunkt wird die jeweilige bereitzustellende Variable während einer vorgegebenen Ausgabezeitdauer aus dem Datenkonsistenzpuffer oder dem globalen Speicher in den Ausgabepuffer kopiert .
Das Verfahren ermöglicht ein automatisiertes Auslesen der jeweiligen bereitzustellenden Variable, wobei eine Datenkonsistenz bei Betreiben der Steuervorrichtung gewährleistet werden kann. Insbesondere wird in diesem Zusammenhang dazu beigetragen, dass ein Wert der jeweiligen bereitzustellenden Variable mit einem Wert übereinstimmt, der bei der Abarbeitung des jeweiligen Rechenprozesses verwendet wird bzw. wurde. In vorteilhafter
Weise wird so zu einer zuverlässigen Funktionsvalidierung der Steuervorrichtung beigetragen.
Bei der Steuervorrichtung kann es sich insbesondere um einen Mehrkernprozessor handeln, der ausgebildet ist mehrere Rechenprozesse gleichzeitig abzuarbeiten. Die Rechenprozesse umfassen jeweils wenigstens eine ausführbare Funktion (engl. „Runable") , die jeweils Eingangs-, Zwischen- und Ausgangswerte aufweisen können. Die Eingangs-, Zwischen und Ausgangswerte sind in einem j eweiligen Speicher der Steuervorrichtung, insbesondere dem globalen Speicher und/oder dem Datenkonsistenzpuffer gespeichert und werden hier und im Folgenden als Variablen bezeichnet. Die Variablen werden in anderen Worten bei Abarbeitung der Rechenprozesse verwendet. Bei dem globalen Speicher handelt es sich beispielsweise um einen Speicherbereich der Steuervorrichtung, der von allen Rechenprozessen bzw. ausführbaren Funktionen ausgelesen und/oder beschrieben werden kann. Bei dem Datenkonsistenzpuffer handelt es sich beispielsweise um einen Speicherbereich der Steuervorrichtung, der einzelne Pufferabschnitte umfasst, die jeweils einer Variable eines Rechenprozesses oder Funktion zugewiesen werden können, und lediglich zur Laufzeit des jeweiligen Re- chenprozesses oder der jeweiligen Funktion ausgelesen und/oder beschrieben werden kann. Nach Abarbeitung des jeweiligen Rechenprozesses oder der jeweiligen Funktion kann dieser Pufferabschnitt beispielsweise freigegeben werden. Bei dem Aus¬ gabepuffer handelt es sich beispielsweise um einen Speicher- bereich der Steuervorrichtung, der beispielsweise zyklisch über eine Kommunikationsschnittstelle der Steuervorrichtung aus¬ gegeben und/oder beispielhaft durch eine Diagnoseeinheit ausgelesen werden kann. Beispielsweise umfasst die Diagnose¬ einheit in diesem Zusammenhang eine Anzeigevorrichtung, über die die auszugebende Variable einem Anwender angezeigt werden kann.
In vorteilhafter Weise kann einem Anwender die auszugebende Variable dabei automatisiert, also insbesondere ohne manuelles Setzen von Haltepunkten zuverlässig angezeigt werden, so dass zu einer besonders einfachen und effizienten Funktionsvalidierung der Steuervorrichtung beigetragen wird.
Bei einer Konfigurationszeit des Verfahrens, also beispielsweise bei einem Kompilationsvorgang eines Programms zur Durchführung des Verfahrens, können die möglichen Rechenprozessausgabe¬ zeitpunkte von in den Rechenprozessen verwenden Variablen ermittelt werden. Insbesondere können diese dann zur Laufzeit des Programms als Ausgabeabfolge bereitgestellt werden. Zu einer Laufzeit des Programms können ferner das erste Aus¬ wahlsignal sowie das zweite Auswahlsignal bereitgestellt werden. Beispielsweise kann die Steuervorrichtung hierzu signaltechnisch mit einer Diagnoseeinheit gekoppelt sein, über die ein Anwender eine auszugebende Variable sowie den gewünschten
Rechenprozessausgabezeitpunkt der auszugebenden bzw. bereit¬ zustellenden Variable festlegt.
Diese bereitzustellende Variable wird dann während der vor- gegebenen Ausgabezeitdauer in den Ausgabepuffer der Steuervorrichtung kopiert. Die vorgegebene Ausgabezeitdauer bezeichnet dabei eine Zeitdauer, in der sowohl das Kopieren in den Ausgabepuffer durchgeführt wird, als auch eine Pufferkopierfunktion (sogenanntes „Fill / Flush") durchgeführt wird, also eine Kopie der jeweiligen Variable von dem globalen Speicher in den Datenkonsistenzpuffer oder umgekehrt.
Das Kopieren der Variable in den Datenkonsistenzpuffer dient dabei insbesondere einer Datenkonsistenz im Falle einer Un- terbrechung des Rechenprozesses oder einer gleichzeitigen
Verwendung der Variable durch einen weiteren Rechenprozess . Insbesondere kann dies der Fall bei mehreren Produzenten sein, also im Falle, dass mehrere Rechenprozesse bzw. Funktionen innerhalb des Rechenprozesses den Wert der Variable verändern.
Der Rechenprozessausgabezeitpunkt der jeweiligen bereitzu¬ stellenden Variable kann auch als sogenannter „Alternative Sample Point" bezeichnet werden. In einer vorteilhaften Ausgestaltung gemäß dem ersten Aspekt wird ein durch die vorgegebene Ausgabezeitdauer umfasster Abschnitt des jeweiligen Rechenprozesses unterbrechungsfrei abgearbeitet. Dies leistet einen zusätzlichen Beitrag, dass der Wert der jeweiligen bereitzustellenden Variable mit dem Wert überein- stimmt, der bei der Abarbeitung des jeweiligen Rechenprozesses verwendet wird bzw. wurde. Das Programm zur Durchführung des Verfahrens kann in diesem Zusammenhang eine geschützte Aus¬ gabezeitdauer umfassen (engl. „Exclusive Area").
In einer weiteren vorteilhaften Ausgestaltung gemäß dem ersten Aspekt wird während der vorgegebenen Ausgabezeitdauer die jeweilige bereitzustellende Variable aus dem globalen Speicher in den Ausgabepuffer und anschließend in den Datenkonsis- tenzpuffer kopiert.
In vorteilhafter Weise kann die bereitzustellende Variable somit vor dem Kopieren in den Datenkonsistenzpuffer bereitgestellt werden, so dass ein Rechenprozess , welcher den Wert dieser Variable verwendet und gegebenenfalls verändert, keinen Einfluss auf den Wert der bereitzustellenden Variable nimmt. Insbesondere wird so dazu beigetragen, dass der Wert der bereitzustellenden Variable mit dem Wert übereinstimmt, der bei der Abarbeitung des jeweiligen Rechenprozesses verwendet wird. Die Variable stellt in diesem Zusammenhang insbesondere einen Eingangswert des jeweiligen Rechenprozesses bzw. der in dem Rechenprozess ausgeführten Funktion dar. Das Kopieren der jeweiligen Variable in den Datenkonsistenzpuffer kann auch als sogenannte
„Fill-Routine" bezeichnet werden.
In einer weiteren vorteilhaften Ausgestaltung gemäß dem ersten Aspekt wird die jeweilige bereitzustellende Variable direkt anschließend an das Kopieren in den Ausgabepuffer in den Datenkonsistenzpuffer kopiert.
In vorteilhafter Weise kann die vorgegebene Ausgabezeitdauer so besonders kurz gehalten werden. Dies ermöglicht einen sicheren und effizienten Betrieb der Steuervorrichtung, insbesondere im Falle, dass die vorgegebene Ausgabezeitdauer unterbrechungsfrei abgearbeitet wird.
In einer weiteren vorteilhaften Ausgestaltung gemäß dem ersten Aspekt wird während der vorgegebenen Ausgabezeitdauer die jeweilige bereitzustellende Variable aus dem Datenkonsis- tenzpuffer in den globalen Speicher und anschließend in den Ausgabepuffer kopiert. In vorteilhafter Weise kann die bereitzustellende Variable somit nach dem Kopieren in den globalen Speicher bereitgestellt werden, so dass ein Einfluss auf den Wert der bereitzustellenden Variable berücksichtigt werden kann, beispielsweise durch einen Re- chenprozess, welcher den Wert dieser Variable verwendet und gegebenenfalls verändert . Insbesondere wird so dazu beigetragen, dass der Wert der bereitzustellenden Variable mit dem Wert übereinstimmt, der bei der Abarbeitung des jeweiligen Rechenprozesses verwendet wurde. Die Variable stellt in diesem Zusammenhang insbesondere einen Ausgangswert des jeweiligen Rechenprozesses bzw. der in dem Rechenprozess ausgeführten Funktion dar. Das Kopieren der jeweiligen Variable in den globalen Speicher kann auch als sogenannte „Flush-Routine" bezeichnet werden. In einer weiteren vorteilhaften Ausgestaltung gemäß dem ersten Aspekt wird die jeweilige bereitzustellende Variable direkt anschließend an das Kopieren in den globalen Speicher in den Ausgabepuffer kopiert. In vorteilhafter Weise kann die vorgegebene Ausgabezeitdauer so besonders kurz gehalten werden. Dies ermöglicht einen sicheren und effizienten Betrieb der Steuervorrichtung, insbesondere im Falle, dass die vorgegebene Ausgabezeitdauer unterbrechungsfrei abgearbeitet wird. Gemäß einem zweiten Aspekt zeichnet sich die Erfindung aus durch ein Diagnosesystem. Das Diagnosesystem umfasst eine Steuervorrichtung und eine Diagnoseeinheit, die signaltechnisch mit der Steuervorrichtung gekoppelt ist.
Die Diagnoseeinheit ist ausgebildet, der Steuervorrichtung ein erstes Auswahlsignal bereitzustellen. Das erste Auswahlsignal ist repräsentativ für wenigstens eine bereitzustellende Va- riable, die bei Betreiben der Steuervorrichtung verwendet wird.
Die Diagnoseeinheit ist ferner ausgebildet, der Steuervor¬ richtung ein zweites Auswahlsignal bereitzustellen. Das zweite Auswahlsignal ist repräsentativ für wenigstens einen gewünschten Rechenprozessausgabezeitpunkt der jeweiligen Variable.
Die Diagnoseeinheit ist ferner ausgebildet, in einem Ausga¬ bepuffer der Steuervorrichtung gespeicherte Daten auszulesen. In vorteilhafter Weise ermöglicht dies eine einfache Funktions¬ validierung der Steuervorrichtung.
Die Diagnoseeinheit kann insbesondere mit einer Mess-, Ka¬ librier- und Diagnosesoftware wie INCA (Integrated Calibration and Application Tool) betrieben werden. In diesem Zusammenhang kann das Diagnosesystem auch als Messsystem bezeichnet werden.
In einer vorteilhaften Ausgestaltung gemäß dem zweiten Aspekt ist die Steuervorrichtung ausgebildet, ein Verfahren gemäß dem ersten Aspekt durchzuführen. Ausführungsbeispiele sind im Folgenden anhand der schematischen Zeichnungen näher erläutert.
Es zeigen: Figur 1 ein schematisch dargestelltes Diagnosesystem,
Figur 2 eine Ablaufsequenz bei einem Betreiben einer Steuervorrichtung gemäß Figur 1, und
Figur 3 ein Ablaufdiagramm zum Betreiben der Steuervorrichtung gemäß Figur 1.
Elemente gleicher Konstruktion oder Funktion sind figurenübergreifend mit den gleichen Bezugszeichen versehen.
Figur 1 zeigt Diagnosesystem 10 für eine Steuervorrichtung 1 für ein Fahrzeug, umfassend eine Diagnoseeinheit 3, welche sig¬ naltechnisch mit der Steuervorrichtung 1 gekoppelt ist.
Die Steuervorrichtung 1 ist als Mehrkernprozessor ausgebildet, der mehrere Kerne Cl, C2 umfasst (vergleiche Figur 2) . Bei den Kernen Cl, C2 handelt es sich insbesondere um Rechenkerne der Steuervorrichtung 1. In diesem Ausführungsbeispiel umfasst die Steuervorrichtung 1 zwei Kerne Cl, C2. In anderen Ausführungsbeispielen kann eine Anzahl der Kerne Cl, C2 der Steuervorrichtung 1 hiervon abweichen, und diese insbesondere übersteigen .
Die Steuervorrichtung 1 ist ausgebildet, mehrere Rechenprozesse T präemptiv und/oder kooperativ und/oder gleichzeitig abzuarbeiten. In Figur 1 ist ferner ein solcher prinzipieller Ablauf eines Rechenprozesses T dargestellt. Die Rechenprozesse T umfassen jeweils wenigstens eine ausführbare Funktion Rl, R2, R3, R4, R5, R6, die jeweils Eingangs-, Zwischen- und Ausgangswerte aufweisen können. Gegebenenfalls werden, wie in diesem Ausführungsbeispiel, Daten für Software Algorithmen, beispiels¬ weise zum Betreiben des Fahrzeugs, in Pufferspeicher kopiert, um eine Datenkonsistenz sicher zu stellen. Der Steuervorrichtung 1 ist in diesem Zusammenhang ein Datenkonsistenzpuffer D zugeordnet. Bei dem Datenkonsistenzpuffer D handelt es sich insbesondere um einen rechenprozessindividuellen Pufferspeicher (sogenannter „Task individual buffer") . Ferner ist der Steu- ervorrichtung 1 ein globaler Speicher G zugeordnet. Bei dem globalen Speicher G handelt es sich insbesondere um sogenannten „Global Data RAM".
Um zu verhindern, dass eine Übermittlung der Daten an die Diagnoseeinheit 3 am Ende eines Rechenprozesses T nicht den Wert anzeigt, den der Software Algorithmus als Eingangswert gesehen hat, bzw. dass ein Ausgabewert im Falle von mehreren Produzenten von dem Wert am Ende der relevanten Berechnung abweicht, könnte beispielsweise durch geeignetes Setzen von Haltepunkten am Softwaretestplatz der Wert der Variable zum richtigen Zeitpunkt ermittelt werden. Mangeins realistischer Stimulation kann es jedoch dazu kommen, dass der Betriebspunkt am Softwaretestplatz nicht eingestellt werden kann. In diesem Ausführungsbeispiel ist die Steuergerätesoftware daher so instrumentiert, dass zu den in Frage kommenden Zeitpunkten eine Übertragung der relevanten globalen Daten an die Diagnoseeinheit 3 erfolgen kann. Zwischen den einzelnen ausführbaren Funktionen R1...R6 können Pufferkopierfunktionen (Fill/Flush) aufgerufen werden. Bei einer Fill-Routine L handelt es sich um einen Kopiervorgang, bei dem eine Variable aus dem globalen Speicher G ausgelesen und in den Datenkonsistenzpuffer D kopiert wird. Bei einer Flush-Routine S handelt es sich um einen Ko¬ piervorgang, bei dem eine Variable aus dem Datenkonsistenzpuffer D in den globalen Speicher G geschrieben wird. Ein derartiges Vorgehen kann auch als Datenkonsistenzpufferverfahren bezeichnet werden. Figur 2 zeigt eine beispielhafte Ablaufsequenz über die Zeit t bei Betreiben der Steuervorrichtung 1 gemäß Figur 1. Auf den Kernen Cl, C2 der Steuervorrichtung 1 wird jeweils ein Re- chenprozess Tl, T2 ausgeführt. In dem globalen Speicher G ist einer Variable „var" beispielsweise der Wert „2" zugeordnet. Dieser Wert wird von der ausführbaren Funktion Rl des Rechenprozesses Tl verwendet. In diesem Zusammenhang wird der Wert „2" durch die Fill-Routine LI in einen Datenkonsistenzpuffer Dl kopiert, und als Eingangswert El der ausführbaren Funktion Rl genutzt. Im Falle, dass es wichtig ist den Wert der Variable "var", der dem Algorithmus in Rl übergeben wurde, beispielsweise durch die Diagnoseeinheit 3 zu sehen, muss eine Ausgabe mit Rechenprozessausgabezeitpunkt Ml (sogenannter „Alternative Sample Point") genau vor dem Kopieren in den Datenkonsis- tenzpuffer Dl erfolgen. Der Rechenprozessausgabezeitpunkt Ml übergibt den Wert „2", der durch die ausführbare Funktion Rl genutzt wird.
Des Weiteren wird der Wert „2" durch die Fill-Routine L2 in einen Datenkonsistenzpuffer D2 kopiert, und als Eingangswert E2 der ausführbaren Funktion R2 genutzt. Die ausführbare Funktion R2 gibt als Ausgabewert A2 den Wert „3" aus und schreibt diesen in den Datenkonsistenzpuffer D2. Anschließend wird der Wert „3" durch die Flush-Routine S2 in den globalen Speicher G kopiert. Ein sogenanntes „End of cylce" Ereignis M2 übergibt den Wert „3", der durch die ausführbare Funktion R2 erneuert wurde.
Die Steuervorrichtung 1 umfasst insbesondere einen Daten- und Programmspeicher, in dem Schritte des Verfahrens als Programm gespeichert sind, wie es im Folgenden anhand des Ablaufdiagramms der Figur 3 näher erläutert ist.
Das Programm wird in einem Schritt PI gestartet. Beispielsweise wird in dem Schritt PI eine Ausgabeabfolge bereitgestellt, die repräsentativ ist für mögliche Rechenprozessausgabezeitpunkte von in den Rechenprozessen T verwendeten Variablen. Die relevanten Zeitpunkte sind durch das Datenkonsistenzpufferverfahren vorgegeben. Ferner wird in dem Schritt PI insbesondere ein erstes Auswahlsignal, das repräsentativ ist für eine in dem Ausgabepuffer bereitzustellende Variable, und ein zweites Auswahlsignal bereitgestellt, das repräsentativ ist für einen gewünschten Rechenprozessausgabezeitpunkt der Variable. Die Auswahl des Rechenprozessausgabezeitpunktes („Alternative Sample Point") und der Daten erfolgt durch das Diagnosesystem 10 vom Anwender. Das Programm wird anschließend in einem Schritt P3 fortgesetzt .
In dem Schritt P3 werden abhängig von dem ersten Auswahlsignal und dem zweiten Auswahlsignal ein Rechenprozessausgabezeitpunkt der jeweiligen bereitzustellenden Variable aus der Ausgabeabfolge, also den durch das Datenkonsistenzpufferverfahren vorgegebenen Zeitpunkten ausgewählt. Das Programm wird anschließend in einem Schritt P5 fortgesetzt.
In dem Schritt P5 wird eine Pufferkopierfunktion aufgerufen. So werden vor der Ausführung einer Software-Funktion die Daten in einen Datenkonsistenzpuffer D kopiert. Das Kopieren erfolgt beispielsweise in einer vor Unterbrechung geschützten vorge- gebenen Ausgabezeitdauer, sogenannten „Exclusive Areas" der Programmausführung. Abhängig von dem ausgewählten Rechenprozessausgabezeitpunkt werden die durch den Anwender ausgewählten, zur Ausgabe bereitzustellenden Variablen während der vorgegebenen Ausgabezeitdauer in einen Ausgabepuffer kopiert und durch die Diagnoseeinheit 3 ausgelesen.
Ein durch die vorgegebene Ausgabezeitdauer umfasster Abschnitt des jeweiligen Rechenprozesses wird dabei unterbrechungsfrei abgearbeitet. Jede dieser Exclusive Areas wird mit einer In- strumentierung versehen. Die Instrumentierung befindet sich für Abschnitte, die das Kopieren in den Datenkonsistenzpuffer D durchführen am Beginn. Für Abschnitte, die das Kopieren aus dem Datenkonsistenzpuffer D durchführen am Ende. Die Instrumen- tierung sowie die Datendefinition zur Auswahl der sogenannten „Samplepoints" erfolgt abgestimmt auf das Pufferlayout tool¬ basiert .
In vorteilhafter Weise kann die Lage des Rechenprozessausga- bezeitpunktes an das Problem angepasst werden. Durch die toolgestützte Implementierung ist dieser Zeitpunkt einfach durch den Anwender auswählbar. Die Instrumentierung verbraucht nur signifikant Laufzeit wenn der Anwender eine Rechenprozessausgabe anstößt und kann deshalb in der Software der Steuervorrichtung 1 verbleiben. Die „Alternative Sample Point" Methode erweitert die schon bestehenden Diagnosemöglichkeiten, ohne das Diagnoseverfahren zu ändern und ermöglicht so eine detaillierte Analyse des Datenverhaltens im Fahrzeug unter realen Be¬ triebsbedingungen. Insbesondere kann so eine besonders zu- verlässige und effiziente Funktionsvalidierung der Steuervorrichtung 1 durchgeführt werden.

Claims

1. Verfahren zum Betreiben einer Steuervorrichtung (1) für ein Fahrzeug, wobei die Steuervorrichtung (1) einen globalen Speicher (G) , einen Datenkonsistenzpuffer (D) und einen Ausgabepuffer umfasst und ausgebildet ist mehrere Re¬ chenprozesse (T) zeitgleich und/oder kooperativ und/oder präemptiv abzuarbeiten, bei dem
- eine Ausgabeabfolge bereitgestellt wird, die repräsentativ ist für mögliche Rechenprozessausgabezeitpunkte von in den Rechenprozessen (T) verwendeten Variablen,
- ein erstes Auswahlsignal bereitgestellt wird, das reprä¬ sentativ ist für wenigstens eine in dem Ausgabepuffer bereitzustellende Variable der in den Rechenprozessen verwendeten Variablen,
- ein zweites Auswahlsignal bereitgestellt wird, das reprä¬ sentativ ist für wenigstens einen gewünschten Rechenprozessausgabezeitpunkt der jeweiligen bereitzustellenden Variable,
- abhängig von dem ersten Auswahlsignal und dem zweiten Auswahlsignal ein Rechenprozessausgabezeitpunkt (Ml) der jeweiligen bereitzustellenden Variable aus der Ausgabeabfolge ausgewählt wird, und
- abhängig von dem ausgewählten Rechenprozessausgabezeitpunkt
(Ml) die jeweilige bereitzustellende Variable während einer vorgegebenen Ausgabezeitdauer aus dem Datenkonsistenz- puffer (D) oder dem globalen Speicher (G) in den Ausgabepuffer kopiert wird.
2. Verfahren nach Anspruch 1, bei dem
- ein durch die vorgegebene Ausgabezeitdauer umfasster Abschnitt des jeweiligen Rechenprozesses (T) unterbrechungsfrei abgearbeitet wird.
3. Verfahren nach einem der vorstehenden Ansprüche, bei dem während der vorgegebenen Ausgabezeitdauer die jeweilige bereitzustellende Variable aus dem globalen Speicher (G) in den Ausgabepuffer und anschließend in den Datenkonsis- tenzpuffer (D) kopiert wird.
Verfahren nach Anspruch 3, bei dem
die jeweilige bereitzustellende Variable direkt anschließend an das Kopieren in den Ausgabepuffer in den Datenkon- sistenzpuffer (D) kopiert wird.
Verfahren nach einem der vorstehenden Ansprüche, bei dem während der vorgegebenen Ausgabezeitdauer die jeweilige
bereitzustellende Variable aus dem Datenkonsistenzpuffer (D) in den globalen Speicher (G) und anschließend in den Ausgabepuffer kopiert wird.
Verfahren nach Anspruch 5, bei dem
die jeweilige bereitzustellende Variable direkt anschließend an das Kopieren in den globalen Speicher (G) in den Ausgabepuffer kopiert wird.
7. Diagnosesystem (10), umfassend eine Steuervorrichtung (1) und eine Diagnoseeinheit (3) , die signaltechnisch mit der Steuervorrichtung (1) gekoppelt und ausgebildet ist, der Steuervorrichtung (1)
- ein erstes Auswahlsignal bereitzustellen, das repräsentativ ist für wenigstens eine bereitzustellende Variable, die bei Betreiben der Steuervorrichtung (1) verwendet wird,
- ein zweites Auswahlsignal bereitzustellen, das repräsentativ ist für wenigstens einen gewünschten Rechenprozessaus¬ gabezeitpunkt der jeweiligen Variable,
und
- in einem Ausgabepuffer der Steuervorrichtung (1) gespeicherte
Daten auszulesen. Diagnosesystem (10) nach Anspruch 7, bei dem die Steuervorrichtung (1) ausgebildet ist, ein Verfahren nach einem der vorstehenden Ansprüche 1 bis 6 durchzuführen.
PCT/EP2016/068681 2015-08-06 2016-08-04 Verfahren zum betreiben einer steuervorrichtung und diagnosesystem WO2017021506A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015215068.2 2015-08-06
DE102015215068.2A DE102015215068A1 (de) 2015-08-06 2015-08-06 Verfahren zum Betreiben einer Steuervorrichtung und Diagnosesystem

Publications (1)

Publication Number Publication Date
WO2017021506A1 true WO2017021506A1 (de) 2017-02-09

Family

ID=56686793

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/068681 WO2017021506A1 (de) 2015-08-06 2016-08-04 Verfahren zum betreiben einer steuervorrichtung und diagnosesystem

Country Status (2)

Country Link
DE (1) DE102015215068A1 (de)
WO (1) WO2017021506A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1970812A2 (de) * 2007-03-08 2008-09-17 Whirpool Corporation Eingebettete Systemfehlerbeseitigung

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2221723A1 (de) * 2009-02-20 2010-08-25 Robert Bosch Gmbh Doppelkernprozessor und Verfahren zur Fehlerdetektion in einem Doppelkernprozessor
JP5900061B2 (ja) * 2012-03-19 2016-04-06 富士通株式会社 試験方法、試験装置及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1970812A2 (de) * 2007-03-08 2008-09-17 Whirpool Corporation Eingebettete Systemfehlerbeseitigung

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"JTAG", 1 August 2015 (2015-08-01), XP002763694, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=JTAG&oldid=674115182> [retrieved on 20161031] *

Also Published As

Publication number Publication date
DE102015215068A1 (de) 2016-12-08

Similar Documents

Publication Publication Date Title
EP2685382B1 (de) Verfahren und Vorrichtung zum Erstellen und Testen eines Steuergeräteprogramms
EP2009525B1 (de) Testvorrichtung zum Testen wenigstens eines elektronischen Steuerungssystems und Verfahren dazu
DE112008001528T5 (de) Multiprozessorsystem und Steuerverfahren hierfür
EP2799983B1 (de) Flexible Aufteilung der I/O Kanäle einer Hardware Komponente
DE10127170A1 (de) Fehlersuchverfahren und Fehlersuchvorrichtung
DE102019203251B3 (de) Verfahren und System zur sicheren Signalmanipulation für den Test integrierter Sicherheitsfunktionalitäten
EP3308276A1 (de) Verfahren zur realistischen abschätzung von funktionslaufzeiten in pil simulation
EP2083339A1 (de) Verfahren und Vorrichtung zur Ausführung von Tests mittels funktional kaskadierten Test- und Experimentiervorrichtungen
EP0234273A2 (de) Prüfbares elektronisches Gerät und Verfahren zum Prüfen eines solchen Geräts
DE202016008563U1 (de) Konfigurationssystem zum Konfigurieren eines für das Testen eines Steuergeräts eingerichteten Testgeräts
DE102009043287A1 (de) Verfahren und Anordnung zum Installieren und Konfigurieren eines Computersystems
WO2017021506A1 (de) Verfahren zum betreiben einer steuervorrichtung und diagnosesystem
DE102018117509A1 (de) Verfahren, Vorrichtung, Computerprogramm und Computerprogrammprodukt zum Überwachen einer Wirkkette eines Wirknetzes eines Fahrzeuges
EP2309354B1 (de) Vorrichtung und Verfahren zur Simulation
DE102020102996A1 (de) Verfahren für einen integrierten Entwurf zur Modellierung, Simulation und Test einer Echtzeit-Architektur innerhalb einer modellbasierten System- und Softwareentwicklung
EP3173928B1 (de) Verfahren und vorrichtung zum überprüfen eines komponentenfehlerbaums
DE102015209033A1 (de) Verfahren und Vorrichtung zum Liefern einer Prüfantwort
WO2013127646A1 (de) Vorrichtung und verfahren zum testen von elektronischen geräten mit einer räumlich getrennten steuereinrichtung
DE102018201710A1 (de) Verfahren und Vorrichtung zum Überprüfen einer Funktion eines neuronalen Netzes
DE102011052511A1 (de) Verfahren zur Verarbeitung von Daten in einem Beeinflussungsgerät
EP4130898B1 (de) Sicherheitssystem und verfahren mit einem sicherheitssystem
DE102010014720A1 (de) Verfahren zum Verifizieren eines aus einem Quellmodell generierten Zielprogramms
DE102017120013A1 (de) Verfahren zur Konfiguration eines zum Testen eines elektronischen Steuergeräts eingerichteten Testgeräts sowie Konfigurationssystem
EP4198722A1 (de) Konfiguration einer auf einem computer laufenden sil-simulation eines steuergeräts
DE19803032A1 (de) Verfahren zur computergestützten Optimierung von Prüfspezifikationen und Minimierung von Prüfsoftware

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16751547

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16751547

Country of ref document: EP

Kind code of ref document: A1