DE102020213371A1 - Device and method for controlling a technical system - Google Patents

Device and method for controlling a technical system Download PDF

Info

Publication number
DE102020213371A1
DE102020213371A1 DE102020213371.9A DE102020213371A DE102020213371A1 DE 102020213371 A1 DE102020213371 A1 DE 102020213371A1 DE 102020213371 A DE102020213371 A DE 102020213371A DE 102020213371 A1 DE102020213371 A1 DE 102020213371A1
Authority
DE
Germany
Prior art keywords
preferred embodiments
further preferred
service
quality
application
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.)
Pending
Application number
DE102020213371.9A
Other languages
German (de)
Inventor
Axel Aue
Matthias Schreiber
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 DE102020213371.9A priority Critical patent/DE102020213371A1/en
Publication of DE102020213371A1 publication Critical patent/DE102020213371A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Verfahren, beispielsweise computerimplementiertes Verfahren, zum Betreiben einer Vorrichtung zur Steuerung eines technischen Systems, insbesondere eines Kraftfahrzeugs bzw. für ein Kraftfahrzug, aufweisend: Verwenden einer Dienstgüte, QoS, Quality of Service, und/oder wenigstens einer die Dienstgüte charakterisierenden Größe, beispielsweise um Partitionen bzw. Applikationen zumindest zeitweise voneinander zu trennen, wobei beispielsweise wenigstens eine Applikation eine Dienstgüte, z.B. charakterisierbar durch Latenz und/oder Bandbreite, für wenigstens eine Peripheriekomponente einstelltVerfahren zur Steuerung eines technischen Systems, insbesondere eines Kraftfahrzeugs.Method, for example computer-implemented method, for operating a device for controlling a technical system, in particular a motor vehicle or for a motor vehicle, comprising: using a quality of service, QoS, quality of service, and/or at least one variable characterizing the quality of service, for example partitions or to separate applications from one another at least temporarily, for example at least one application setting a quality of service, e.g. characterized by latency and/or bandwidth, for at least one peripheral component Method for controlling a technical system, in particular a motor vehicle.

Description

Stand der TechnikState of the art

Es gibt Steuergeräte, die Teilfunktionen eines technischen Systems, z.B. eines Fahrzeugs, steuern. Diese steuern jeweils bestimmte Teilfunktionen und/oder zugehörige Applikationen.There are control units that control sub-functions of a technical system, e.g. a vehicle. These each control specific sub-functions and/or associated applications.

Offenbarung der ErfindungDisclosure of Invention

Bevorzugte Ausführungsformen beziehen sich auf ein Verfahren, beispielsweise ein computerimplementiertes Verfahren, zum Betreiben einer Vorrichtung zur Steuerung eines technischen Systems, insbesondere eines Kraftfahrzeugs bzw. für ein Kraftfahrzug, aufweisend: Verwenden einer Dienstgüte, QoS, Quality of Service, und/oder wenigstens einer die Dienstgüte charakterisierenden Größe, beispielsweise um Partitionen bzw. (z.B. durch die Vorrichtung ausführbare) Applikationen zumindest zeitweise voneinander zu trennen, wobei wenigstens eine Applikation eine Dienstgüte, z.B. charakterisierbar durch Latenz und/oder Bandbreite, für wenigstens eine Peripheriekomponente einstellt.Preferred embodiments relate to a method, for example a computer-implemented method, for operating a device for controlling a technical system, in particular a motor vehicle or for a motor vehicle, comprising: using a quality of service, QoS, quality of service, and/or at least one of the Size characterizing the quality of service, for example in order to at least temporarily separate partitions or applications (e.g. executable by the device) from one another, with at least one application setting a quality of service, e.g. characterizable by latency and/or bandwidth, for at least one peripheral component.

Bei weiteren bevorzugten Ausführungsformen weist das Verfahren weiter auf: Trennen von Zugriffen von Partitionen bzw. Applikationen auf die wenigstens eine Peripheriekomponente basierend auf der Dienstgüte und/oder der wenigstens einen die Dienstgüte charakterisierenden Größe.In further preferred embodiments, the method also includes: separating accesses by partitions or applications to the at least one peripheral component based on the quality of service and/or the at least one variable characterizing the quality of service.

Bei weiteren bevorzugten Ausführungsformen weist das Verfahren weiter auf: Vorgeben einer ersten Dienstgüte für eine erste Peripheriekomponente, Vorgeben einer zweiten Dienstgüte für eine zweite Peripheriekomponente.In further preferred embodiments, the method also includes: specifying a first quality of service for a first peripheral component, specifying a second quality of service for a second peripheral component.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Vorgeben der ersten Dienstgüte bezüglich einer Bandbreite und/oder einer Latenz erfolgt, und/oder dass das Vorgeben der zweiten Dienstgüte bezüglich einer Bandbreite und/oder einer Latenz erfolgt.In further preferred embodiments, it is provided that the first quality of service is specified with regard to a bandwidth and/or a latency, and/or that the second quality of service is specified with regard to a bandwidth and/or a latency.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Emulieren der Dienstgüte und/oder der wenigstens einen die Dienstgüte charakterisierenden Größe mittels wenigstens eines Zählers, und/oder Verwenden einer hardwarebasierten Verwaltung der Dienstgüte bzw. der die Dienstgüte charakterisierenden Größe.In further preferred embodiments it is provided that the method further comprises: emulating the quality of service and/or the at least one variable characterizing the quality of service using at least one counter, and/or using hardware-based management of the quality of service or the variable characterizing the quality of service.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter wenigstens eines der folgenden Elemente aufweist: a) Verwenden wenigstens eines ersten Zählers für eine mit einer ersten Peripheriekomponente assoziierte Latenz, b) Verwenden eines zweiten Zählers für eine mit der ersten Peripheriekomponente assoziierte Bandbreite, c) Verwenden wenigstens eines dritten Zählers für eine mit einer zweiten Peripheriekomponente assoziierte Latenz, d) Verwenden eines vierten Zählers für eine mit der zweiten Peripheriekomponente assoziierte Bandbreite.In further preferred embodiments it is provided that the method further comprises at least one of the following elements: a) using at least a first counter for a latency associated with a first peripheral component, b) using a second counter for a bandwidth associated with the first peripheral component, c ) using at least a third counter for a latency associated with a second peripheral component, d) using a fourth counter for a bandwidth associated with the second peripheral component.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Auswerten des wenigstens einen Zählers, beispielsweise durch eine Softwarekomponente und/oder eine Hardwarekomponente, wobei beispielsweise die Softwarekomponente eine höhere Priorität bezüglich der Ausführung durch die Recheneinrichtung aufweist als wenigstens eine Applikation, und, optional, Betreiben bzw. Weiterbetreiben der Vorrichtung bzw. wenigstens einer Applikation der Vorrichtung basierend auf dem wenigstens einen Zähler.In further preferred embodiments it is provided that the method further comprises: evaluating the at least one counter, for example by a software component and/or a hardware component, the software component for example having a higher priority with regard to execution by the computing device than at least one application, and optionally operating or continuing to operate the device or at least one application of the device based on the at least one counter.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Vergleichen eines Zählerwerts des wenigstens einen Zählers mit einem Vergleichswert, und, falls der Zählerwert größer ist als der Vergleichswert, Signalisieren, beispielsweise des Überschreitens des Vergleichswerts, an die wenigstens eine Applikation und/oder eine mit der wenigstens einen Applikation assoziierte Partition.In further preferred embodiments it is provided that the method further comprises: comparing a counter value of the at least one counter with a comparison value and, if the counter value is greater than the comparison value, signaling, for example that the comparison value has been exceeded, to the at least one application and/or or a partition associated with the at least one application.

Weitere bevorzugte Ausführungsformen beziehen sich auf eine Vorrichtung zur Ausführung des Verfahrens gemäß den Ausführungsformen.Further preferred embodiments relate to a device for carrying out the method according to the embodiments.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Vorrichtung aufweist: eine wenigstens einen Rechenkern aufweisende Recheneinrichtung („Computer“), eine der Recheneinrichtung zugeordnete Speichereinrichtung zur zumindest zeitweisen Speicherung wenigstens eines der folgenden Elemente: a) Daten, b) Computerprogramm, insbesondere zur Ausführung eines Verfahrens gemäß den Ausführungsformen. Bei weiteren bevorzugten Ausführungsformen kann das Computerprogramm auch wenigstens eine Anwendung (nachfolgend auch als „Applikation“ bezeichnet) charakterisieren, die auf der Recheneinrichtung ausgeführt wird, z.B. zur Steuerung des technischen Systems.In further preferred embodiments, it is provided that the device has: a computing device (“computer”) having at least one computing core, a memory device assigned to the computing device for at least temporarily storing at least one of the following elements: a) data, b) computer program, in particular for execution of a method according to the embodiments. In further preferred embodiments, the computer program can also characterize at least one application (hereinafter also referred to as “application”) that is executed on the computing device, e.g. for controlling the technical system.

Bei weiteren bevorzugten Ausführungsformen weist die Vorrichtung bzw. die Recheneinrichtung mehrere Rechenkerne auf.In further preferred embodiments, the device or the arithmetic unit has a plurality of arithmetic cores.

Bei weiteren bevorzugten Ausführungsformen weist die Speichereinrichtung einen flüchtigen Speicher (z.B. Arbeitsspeicher (RAM)) auf, und/oder einen nichtflüchtigen Speicher (z.B. Flash-EEPROM).In further preferred embodiments, the storage device comprises a volatile memory (e.g. random access memory (RAM)) and/or a non-volatile memory (e.g. flash EEPROM).

Bei weiteren bevorzugten Ausführungsformen weist die Recheneinrichtung wenigstens eines der folgenden Elemente auf: Mikroprozessor (µP), Mikrocontroller (µC), anwendungsspezifischer integrierter Schaltkreis (ASIC), System on Chip (SoC), programmierbarer Logikbaustein (z.B. FPGA, field programmable gate array), Hardwareschaltung, oder beliebige Kombinationen hieraus.In further preferred embodiments, the computing device has at least one of the following elements: microprocessor (μP), microcontroller (μC), application-specific integrated circuit (ASIC), system on chip (SoC), programmable logic module (e.g. FPGA, field programmable gate array), hardware circuit, or any combination thereof.

Weitere bevorzugte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium, umfassend Befehle, die bei der Ausführung durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.Further preferred embodiments relate to a computer-readable storage medium comprising instructions which, when executed by a computer, cause it to carry out the method according to the embodiments.

Weitere bevorzugte Ausführungsformen beziehen sich auf ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.Further preferred embodiments relate to a computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method according to the embodiments.

Weitere bevorzugte Ausführungsformen beziehen sich auf ein Datenträgersignal, das das Computerprogramm gemäß den Ausführungsformen charakterisiert und/oder überträgt. Das Datenträgersignal ist beispielsweise über eine optionale Datenschnittstelle der Vorrichtung empfangbar.Further preferred embodiments relate to a data carrier signal which characterizes and/or transmits the computer program according to the embodiments. The data carrier signal can be received, for example, via an optional data interface of the device.

Weitere bevorzugte Ausführungsformen beziehen sich auf ein Verfahren zur Steuerung eines technischen Systems, z.B. eines Fahrzeugs, bei dem eine Dienstgüte (QoS, Quality of Service) bzw. wenigstens eine die Dienstgüte charakterisierende Größe dazu verwendet wird, Partitionen bzw. Applikation zumindest zeitweise voneinander zu trennen, also zu separieren.Further preferred embodiments relate to a method for controlling a technical system, e.g. a vehicle, in which a quality of service (QoS, Quality of Service) or at least one variable characterizing the quality of service is used to separate partitions or applications from one another at least temporarily , i.e. to separate.

Gemäß weiteren bevorzugten Ausführungsformen kann es in Vorrichtungen bzw. Systemen, in denen mehrere Applikationen gleichzeitig laufen können, insbesondere zur Erreichung gleicher Laufzeiten der Applikationen bzw. einer vorgebbaren Ressourcenverteilung (insbesondere unabhängig von anderen Applikationen) vorteilhaft sein, auch einen oder mehrere Busse mit zu berücksichtigen, die insbesondere für Datenübertragungen zwischen Komponenten nutzbar sind.According to further preferred embodiments, it can be advantageous in devices or systems in which several applications can run simultaneously, in particular to achieve the same runtimes of the applications or a definable distribution of resources (in particular independently of other applications), to also take into account one or more buses , which can be used in particular for data transmissions between components.

Da die Laufzeit von Applikationen bei weiteren bevorzugten Ausführungsformen durch mehrere Faktoren beeinflusst wird, können bei weiteren bevorzugten Ausführungsformen diese Faktoren auch einzeln oder in Kombination miteinander adressiert werden: - Core selber (Mechanismus Hypervisor), - Zugriff auf Speicher (QoS), - Zugriff auf Module im Rechner - wie SPI, Safety, ...Since the runtime of applications is influenced by a number of factors in further preferred embodiments, these factors can also be addressed individually or in combination with one another in further preferred embodiments: core itself (hypervisor mechanism), access to memory (QoS), access to Modules in the computer - such as SPI, Safety, ...

Gemäß weiteren bevorzugten Ausführungsformen wird vorgeschlagen, einen Mechanismus zur Separierung von Zugriffen auf Speicher, wie er z.B. bei Bussystemen bzw. Busarchitekturen der Vorrichtung bzw. der Recheneinrichtung vorgesehen sein kann, zur Separierung von Zugriffen auf die (Peripherie-)Module zu nutzen.According to further preferred embodiments, it is proposed to use a mechanism for separating accesses to memory, such as can be provided in bus systems or bus architectures of the device or the computing device, for separating accesses to the (peripheral) modules.

Bei weiteren bevorzugten Ausführungsformen stellt wenigstens eine Applikation, stellen bevorzugt mehrere bzw. alle Applikationen, eine Dienstgüte („QoS“), z.B. charakterisierbar durch Latenz und/oder Bandbreite, für wenigstens eine Peripheriekomponente bzw. wenigstens ein Peripheriemodul ein. Zum Beispiel:

  1. a) Applikation 1 stellt 15 Takte Latenz und 20 % Busbandbreite für Zugriffe bezüglich einer Peripheriekomponente ein,
  2. b) Applikation 2 stellt 40 Takte Latenz und 70 % Busbandbreite auf dieselbe Peripheriekomponente ein.
In further preferred embodiments, at least one application, preferably several or all applications, sets a quality of service (“QoS”), eg characterizable by latency and/or bandwidth, for at least one peripheral component or at least one peripheral module. For example:
  1. a) Application 1 sets a latency of 15 cycles and 20% bus bandwidth for access to a peripheral component,
  2. b) Application 2 sets 40 clocks latency and 70% bus bandwidth on the same peripheral component.

Mit anderen Worten kann bei weiteren bevorzugten Ausführungsformen eine Nutzung der QoS bzw. von QoS-Mechanismen (z.B. implementiert mittels Hardware) für eine Steuerung von Bandbreite und/oder Latenz einzelner Applikationen verwendet werden, insbesondere zur Trennung von Peripheriezugriffen (Zugriffen von Applikationen auf Peripheriemodule) und nicht auf Speicher, wobei insbesondere auch eine Nutzung zur deterministischen Trennung von Anwendungen und eine Reduktion des Aufwandes bei einer Implementierung von mehreren Anwendungen in einer Vorrichtung bzw. Recheneinrichtung, z.B. in einem Steuergerät, möglich ist.In other words, in further preferred embodiments, the QoS or QoS mechanisms (e.g. implemented using hardware) can be used to control the bandwidth and/or latency of individual applications, in particular to separate peripheral accesses (applications accessing peripheral modules) and not to memory, whereby in particular it can also be used for the deterministic separation of applications and to reduce the effort involved in implementing a number of applications in one device or computing device, e.g. in a control unit.

Bei weiteren bevorzugten Ausführungsformen ist vorgeschlagen, wenigstens einen Zähler zu nutzen, um eine Dienstgüte (QoS) zu emulieren, was gemäß weiteren bevorzugten Ausführungsformen insbesondere dann nützlich sein kann, wenn QoS nicht mittels Hardware realisierbar ist.In further preferred embodiments, it is proposed to use at least one counter to emulate a quality of service (QoS), which according to further preferred embodiments can be particularly useful when QoS cannot be implemented using hardware.

Bei weiteren bevorzugten Ausführungsformen wird vorgeschlagen, einen oder mehrere QoS-Mechanismen zu emulieren, z.B. mittels wenigstens eines der folgenden Elemente: a) Zähler für Latenz und/oder Bandbreite werden implementiert, b) auf einem hohen Prioritätslevel (z.B. oberhalb von Applikationen) wertet eine Software diese Zähler aus. Eine mögliche Implementierung gemäß weiteren bevorzugten Ausführungsformen sieht z.B. vor: es werden pro Bus x * 2 viele Register (z.B. 32 Bit breit) als Counter (Zähler) implementiert, wobei x eine Anzahl der zu unterstützenden Partitionen charakterisiert, und bevorzugt werden in dem bzw. den Register(n) pro Takt Zugriffe der jeweiligen zugeordneten Applikation gezählt. Weiter bevorzugt wird z.B. alle z ms der Zählerwert mit einem erwarteten Zählerwert verglichen, und wenn der Zählerwert größer als der erwartete Zählerwert ist, wird die Applikation und z.B. der Partition Manager informiert, insbesondere um eine Ersatzmaßnahme einzuleiten.In further preferred embodiments it is proposed to emulate one or more QoS mechanisms, eg using at least one of the following elements: a) counters for latency and/or bandwidth are implemented, b) at a high priority level (eg above applications) evaluates a software these counters. A possible implementation according to further preferred embodiments provides, for example: x * 2 many registers (e.g. 32 bits wide) are implemented as counters per bus, with x characterizing a number of the partitions to be supported, and preferably in which or counts the register(s) per clock access of the respective assigned application. More preferably, the counter value is compared with an expected counter value every z ms, and if the counter value is greater than the expected counter value, the application and Eg the Partition Manager informs, in particular to initiate an alternative measure.

Bei weiteren bevorzugten Ausführungsformen kann - je nach Typ der Vorrichtung bzw. Steuerung bzw. je nach dem Typ des Zielsystems für die Vorrichtung bzw. Steuerung - ein zeitsynchrones Raster bzw. ein winkelsynchrones Raster (z.B. bezüglich einer Umdrehung einer Kurbelwelle einer Brennkraftmaschine) verwendet werden, insbesondere für die vorstehend beispielhaft beschriebene QoS-Emulation mittels Zähler(n).In further preferred embodiments - depending on the type of device or control or depending on the type of target system for the device or control - a time-synchronous grid or an angle-synchronous grid (e.g. with regard to one revolution of a crankshaft of an internal combustion engine) can be used. in particular for the QoS emulation described above by way of example using counter(s).

Bei weiteren bevorzugten Ausführungsformen wird bei jedem Anliegen einer Aktion auf dem Bus mit einer (insbesondere vorgebbaren) Partition ID ein Zähler um einen vorgebbaren Wert, z.B. eins, erhöht, wodurch z.B. ein eine Bandbreite charakterisierendes Maß ermittelbar ist.In further preferred embodiments, each time an action is pending on the bus with a (particularly predeterminable) partition ID, a counter is incremented by a predeterminable value, e.g. one, as a result of which a measure characterizing a bandwidth can be determined, for example.

Bei weiteren bevorzugten Ausführungsformen werden ab einem Request (Anfrage) am Bus einer (insbesondere vorgebbaren) Partition die Takte gezählt, bis die Partition den Bus (-Zugriff erteilt) bekommt. Sofern z.B. die gezählte Anzahl Takte geringer ist als eine vorgebbare Latenz ist es o.k. - falls der Wert der gezählten Takte größer ist als die vorgebbare Latenz kann dies bei weiteren bevorzugten Ausführungsformen gespeichert werden und z.B. am Ende des eingestellten Zeitintervalls kann ausgelesen werden, ob die Latenz in dem betrachteten Zeitintervall jemals größer als die voreingestellte Zeit war, und optional, wenn ja, um wieviel höher.In further preferred embodiments, starting with a request (request) on the bus of a (particularly specifiable) partition, the clock pulses are counted until the partition gets the bus (access granted). If, for example, the counted number of clocks is less than a specified latency, it is o.k. - if the value of the counted clock pulses is greater than the specifiable latency, this can be stored in further preferred embodiments and e.g. at the end of the set time interval it can be read out whether the latency in the considered time interval was ever larger than the preset time, and optionally, if so, by how much higher.

Bei weiteren bevorzugten Ausführungsformen ist alternativ oder ergänzend ein z.B. voreingestelltes, automatisches Vergleichen mittels Hardware und/oder ein Auslösen eines Interrupts möglich.In further preferred embodiments, a preset, automatic comparison using hardware and/or the triggering of an interrupt is possible as an alternative or in addition.

Bei weiteren bevorzugten Ausführungsformen können an wenigstens einem Bus der Vorrichtung bzw. Recheneinrichtung ein oder mehrere Zähler vorgesehen werden.In further preferred embodiments, one or more counters can be provided on at least one bus of the device or computing device.

Bei weiteren bevorzugten Ausführungsformen können die Zähler zusammen mit entsprechender Software (und/oder Hardware) z.B. zur Bewertung einer eingehaltenen zugeteilten Bandbreite und/oder einer (eingehaltenen) Latenz verwendet werden.In further preferred embodiments, the counters can be used in conjunction with appropriate software (and/or hardware) to evaluate, for example, a met allocated bandwidth and/or (meshed) latency.

Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen und/oder des computerlesbaren Speichermediums gemäß den Ausführungsformen und/oder des Computerprogramms gemäß den Ausführungsformen und/oder des Datenträgersignals gemäß den Ausführungsformen für wenigstens eines der folgenden Elemente: a) Ermöglichen eines deterministischen Laufzeitverhaltens wenigstens mancher, bevorzugt aller, Anwendungen der Vorrichtung, b) Vermeidung einer neuen Homologation für eine erste Anwendung, insbesondere bei dem Verändern wenigstens einer weiteren Anwendung, c) deterministische Trennung von Anwendungen, beispielsweise bezüglich Zugriffen auf die wenigstens eine Peripheriekomponente.Further preferred embodiments relate to use of the method according to the embodiments and/or the device according to the embodiments and/or the computer-readable storage medium according to the embodiments and/or the computer program according to the embodiments and/or the data carrier signal according to the embodiments for at least one of the following elements: a) enabling a deterministic runtime behavior of at least some, preferably all, applications of the device, b) avoidance of a new homologation for a first application, in particular when changing at least one further application, c) deterministic separation of applications, for example with regard to access to the at least one peripheral component.

Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Ansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung.Further features, application possibilities and advantages of the invention result from the following description of exemplary embodiments of the invention, which are illustrated in the figures of the drawing. All of the described or illustrated features form the subject matter of the invention, either alone or in any combination, regardless of how they are summarized in the claims or their back-reference and regardless of their wording or representation in the description or in the drawing.

In der Zeichnung zeigt:

  • 1 schematisch ein vereinfachtes Blockdiagramm eines technischen Systems gemäß bevorzugten Ausführungsformen,
  • 2 schematisch ein vereinfachtes Blockdiagramm einer Vorrichtung gemäß weiteren bevorzugten Ausführungsformen,
  • 3A schematisch ein vereinfachtes Flussdiagramm mit Bezug auf Verfahrensaspekte gemäß weiteren bevorzugten Ausführungsformen,
  • 3B, 3C, 3D, 3E, 3F, 3G, 3H, 3l jeweils schematisch ein vereinfachtes Flussdiagramm mit Bezug auf Verfahrensaspekte gemäß weiteren bevorzugten Ausführungsformen,
  • 4A schematisch ein vereinfachtes Flussdiagramm mit Bezug auf Verfahrensaspekte gemäß weiteren bevorzugten Ausführungsformen,
  • 4B schematisch ein vereinfachtes Flussdiagramm mit Bezug auf Verfahrensaspekte gemäß weiteren bevorzugten Ausführungsformen,
  • 4C schematisch ein vereinfachtes Flussdiagramm mit Bezug auf Verfahrensaspekte gemäß weiteren bevorzugten Ausführungsformen,
  • 4D schematisch ein vereinfachtes Flussdiagramm mit Bezug auf Verfahrensaspekte gemäß weiteren bevorzugten Ausführungsformen,
  • 4E schematisch ein vereinfachtes Flussdiagramm mit Bezug auf Verfahrensaspekte gemäß weiteren bevorzugten Ausführungsformen,
  • 4F schematisch ein vereinfachtes Flussdiagramm mit Bezug auf Verfahrensaspekte gemäß weiteren bevorzugten Ausführungsformen.
In the drawing shows:
  • 1 schematically a simplified block diagram of a technical system according to preferred embodiments,
  • 2 schematically a simplified block diagram of a device according to further preferred embodiments,
  • 3A schematically a simplified flow chart with reference to method aspects according to further preferred embodiments,
  • 3B , 3C , 3D , 3E , 3F , 3G , 3H , 3l each schematically a simplified flow chart with reference to method aspects according to further preferred embodiments,
  • 4A schematically a simplified flow chart with reference to method aspects according to further preferred embodiments,
  • 4B schematically a simplified flow chart with reference to method aspects according to further preferred embodiments,
  • 4C schematically a simplified flow chart with reference to method aspects according to further preferred embodiments,
  • 4D schematically a simplified flow chart with reference to method aspects according to further preferred embodiments,
  • 4E schematically a simplified flow chart with reference to method aspects according to further preferred embodiments,
  • 4F schematically shows a simplified flow chart with reference to method aspects according to further preferred embodiments.

Bevorzugte Ausführungsformen beziehen sich auf Verfahren und/oder eine Vorrichtung 200 zur Steuerung eines technischen Systems 1, z.B. eines Fahrzeugs 1, insbesondere Kraftfahrzeugs, vgl. 1.Preferred embodiments relate to a method and/or a device 200 for controlling a technical system 1, for example a vehicle 1, in particular a motor vehicle, cf. 1 .

Bei weiteren bevorzugten Ausführungsformen, vgl. 2, ist vorgesehen, dass die Vorrichtung 200 aufweist: eine wenigstens einen (vorliegend z.B. drei) Rechenkern(e) 202a, 202b, 202c aufweisende Recheneinrichtung („Computer“) 202, eine der Recheneinrichtung 202 zugeordnete Speichereinrichtung 204 zur zumindest zeitweisen Speicherung wenigstens eines der folgenden Elemente: a) Daten DAT, b) Computerprogramm PRG, insbesondere zur Ausführung eines Verfahrens gemäß den Ausführungsformen. Bei weiteren bevorzugten Ausführungsformen kann das Computerprogramm PRG auch wenigstens eine Anwendung (nachfolgend auch als „Applikation“ bezeichnet) APP1, APP2, APP3 charakterisieren, die zumindest zeitweise auf der Recheneinrichtung 202 ausgeführt wird, z.B. zur Steuerung des technischen Systems 1 oder von Komponenten (z.B. Bremssystem, Brennkraftmaschine) hiervon.In further preferred embodiments, cf. 2 , it is provided that device 200 has: a computing device (“computer”) 202 having at least one (here, e following elements: a) data DAT, b) computer program PRG, in particular for carrying out a method according to the embodiments. In further preferred embodiments, the computer program PRG can also characterize at least one application (hereinafter also referred to as "application") APP1, APP2, APP3, which is executed at least temporarily on the computing device 202, e.g. for controlling the technical system 1 or components (e.g Braking system, internal combustion engine) thereof.

Bei weiteren bevorzugten Ausführungsformen weist die Vorrichtung 200 bzw. die Recheneinrichtung 202 mehrere Rechenkerne 202a, 202b, 202c auf. Mehr als die in 1 beispielhaft abgebildeten drei Rechenkerne 202a, 202b, 202c sind bei weiteren bevorzugten Ausführungsformen auch möglich.In further preferred embodiments, the device 200 or the arithmetic unit 202 has a plurality of arithmetic cores 202a, 202b, 202c. More than the in 1 The three computing cores 202a, 202b, 202c shown by way of example are also possible in further preferred embodiments.

Bei weiteren bevorzugten Ausführungsformen weist die Speichereinrichtung 204 einen flüchtigen Speicher 204a (z.B. Arbeitsspeicher (RAM)) auf, und/oder einen nichtflüchtigen (NVM-) Speicher 204b (z.B. Flash-EEPROM).In further preferred embodiments, the storage device 204 comprises a volatile memory 204a (e.g. random access memory (RAM)), and/or a non-volatile (NVM) memory 204b (e.g. flash EEPROM).

Bei weiteren bevorzugten Ausführungsformen weist die Recheneinrichtung 202 wenigstens eines der folgenden Elemente auf bzw. ist als wenigstens eines dieser Elemente ausgebildet: Mikroprozessor (µP), Mikrocontroller (µC), anwendungsspezifischer integrierter Schaltkreis (ASIC), System on Chip (SoC), programmierbarer Logikbaustein (z.B. FPGA, field programmable gate array), Hardwareschaltung, oder beliebige Kombinationen hieraus.In further preferred embodiments, computing device 202 has at least one of the following elements or is designed as at least one of these elements: microprocessor (μP), microcontroller (μC), application-specific integrated circuit (ASIC), system on chip (SoC), programmable logic module (e.g. FPGA, field programmable gate array), hardware circuit, or any combination thereof.

Weitere bevorzugte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium SM, umfassend Befehle PRG, die bei der Ausführung durch einen Computer 202 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.Further preferred embodiments relate to a computer-readable storage medium SM, comprising instructions PRG which, when executed by a computer 202, cause it to carry out the method according to the embodiments.

Weitere bevorzugte Ausführungsformen beziehen sich auf ein Computerprogramm PRG, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer 202 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.Further preferred embodiments relate to a computer program PRG, comprising instructions which, when the program is executed by a computer 202, cause it to carry out the method according to the embodiments.

Weitere bevorzugte Ausführungsformen beziehen sich auf ein Datenträgersignal DCS, das das Computerprogramm PRG gemäß den Ausführungsformen charakterisiert und/oder überträgt. Das Datenträgersignal DCS ist beispielsweise über eine optionale Datenschnittstelle 206 der Vorrichtung 200 empfangbar.Further preferred embodiments relate to a data carrier signal DCS, which characterizes and/or transmits the computer program PRG according to the embodiments. The data carrier signal DCS can be received via an optional data interface 206 of the device 200, for example.

Weitere bevorzugte Ausführungsformen, 4A, beziehen sich auf ein Verfahren, beispielsweise ein computerimplementiertes Verfahren, zum Betreiben einer Vorrichtung 200 zur Steuerung eines technischen Systems, insbesondere eines Kraftfahrzeugs 1 bzw. für ein Kraftfahrzug 1, aufweisend: Verwenden 1300 einer Dienstgüte, QoS, Quality of Service, DG und/oder wenigstens einer die Dienstgüte DG charakterisierenden Größe DG-CG, beispielsweise um Partitionen bzw. Applikationen APP1, APP2 z.B. der Vorrichtung 200 zumindest zeitweise voneinander zu trennen, wobei beispielsweise wenigstens eine Applikation APP1 eine Dienstgüte DG, z.B. charakterisierbar durch Latenz und/oder Bandbreite, für wenigstens eine Peripheriekomponente 208, 208a, 208b (2) einstellt.Other preferred embodiments 4A , relate to a method, for example a computer-implemented method, for operating a device 200 for controlling a technical system, in particular a motor vehicle 1 or for a motor vehicle 1, comprising: using 1300 a quality of service, QoS, quality of service, DG and/or or at least one variable DG-CG characterizing the quality of service DG, for example in order to at least temporarily separate partitions or applications APP1, APP2, for example of the device 200, with at least one application APP1 having a quality of service DG, for example characterizable by latency and/or bandwidth, for at least one peripheral component 208, 208a, 208b ( 2 ) sets.

Bei weiteren bevorzugten Ausführungsformen weist das Verfahren weiter auf: Trennen 1302 (4A) von Zugriffen von Partitionen PART1, PART2 bzw. Applikationen APP1, APP2 (z.B. den jeweiligen Partitionen PART1, PART2 zugeordneten Applikationen APP1, APP2) auf die wenigstens eine Peripheriekomponente 208 basierend auf der Dienstgüte DG und/oder der wenigstens einen die Dienstgüte DG charakterisierenden Größe DG-CG. Dadurch kann ein Zugriff auf die wenigstens eine Peripheriekomponente 208 vorteilhaft basierend z.B. auf einem Dienstgüteschema festgelegt bzw. unter verschiedenen Applikationen APP1, APP2 aufgeteilt werden, so dass sich z.B. ein deterministisches Verhalten auch bei Zugriffen der verschiedenen Applikationen APP1, APP2 auf eine z.B. gemeinsam nutzbare Peripheriekomponente 208 ergibt.In further preferred embodiments, the method further comprises: separating 1302 ( 4A ) of accesses by partitions PART1, PART2 or applications APP1, APP2 (e.g. applications APP1, APP2 assigned to the respective partitions PART1, PART2) to the at least one peripheral component 208 based on the quality of service DG and/or the at least one variable characterizing the quality of service DG DG-CG. As a result, access to the at least one peripheral component 208 can advantageously be based, for example, on a quality of service scheme or divided among different applications APP1, APP2, so that, for example, there is deterministic behavior even when the different applications APP1, APP2 access a peripheral component that can be shared, for example 208 results.

Bei weiteren bevorzugten Ausführungsformen, 4B, weist das Verfahren weiter auf: Vorgeben 1310 einer ersten Dienstgüte DG1 für eine erste Peripheriekomponente 208a, Vorgeben 1311 einer zweiten Dienstgüte DG2 für eine zweite Peripheriekomponente 208b.In further preferred embodiments, 4B , the method further includes: specifying 1310 a first quality of service DG1 for a first Peripheral component 208a, specification 1311 of a second quality of service DG2 for a second peripheral component 208b.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Vorgeben 1310 der ersten Dienstgüte DG1 bezüglich einer Bandbreite und/oder einer Latenz erfolgt, und/oder dass das Vorgeben 1311 der zweiten Dienstgüte DG2 bezüglich einer Bandbreite und/oder einer Latenz erfolgt.In further preferred embodiments it is provided that the specification 1310 of the first quality of service DG1 takes place with regard to a bandwidth and/or a latency, and/or that the specification 1311 of the second quality of service DG2 takes place with regard to a bandwidth and/or a latency.

Bei weiteren bevorzugten Ausführungsformen, 4C, ist vorgesehen, dass das Verfahren weiter aufweist: Emulieren 1320 der Dienstgüte DG und/oder der wenigstens einen die Dienstgüte charakterisierenden Größe DG-CG mittels wenigstens eines Zählers Z1, und/oder Verwenden 1322 einer hardwarebasierten Verwaltung der Dienstgüte DG bzw. der die Dienstgüte DG charakterisierenden Größe DG-CG, beispielsweise mittels einer dazu ausgebildeten Hardwarekomponente HW-K (2).In further preferred embodiments, 4C , it is provided that the method further comprises: emulating 1320 the quality of service DG and/or the at least one quantity DG-CG characterizing the quality of service by means of at least one counter Z1, and/or using 1322 hardware-based management of the quality of service DG or the quality of service DG characterizing quantity DG-CG, for example by means of a hardware component HW-K ( 2 ).

Bei weiteren bevorzugten Ausführungsformen, 4D, ist vorgesehen, dass das Verfahren weiter wenigstens eines der folgenden Elemente aufweist: a) Verwenden 1330 wenigstens eines ersten Zählers Z1-LAT für eine mit einer ersten Peripheriekomponente 208a (2) assoziierte Latenz, b) Verwenden 1331 (4D) eines zweiten Zählers Z1-BB für eine mit der ersten Peripheriekomponente 208a assoziierte Bandbreite, c) Verwenden 1332 wenigstens eines dritten Zählers Z2-LAT für eine mit einer zweiten Peripheriekomponente 208b assoziierte Latenz, d) Verwenden 1333 eines vierten Zählers Z2-BB für eine mit der zweiten Peripheriekomponente 208b assoziierte Bandbreite.In further preferred embodiments, 4D , it is provided that the method further comprises at least one of the following elements: a) Using 1330 at least one first counter Z1-LAT for a with a first peripheral component 208a ( 2 ) associated latency, b) Use 1331 ( 4D ) a second counter Z1-BB for a bandwidth associated with the first peripheral component 208a, c) using 1332 at least a third counter Z2-LAT for a latency associated with a second peripheral component 208b, d) using 1333 a fourth counter Z2-BB for a bandwidth associated with the second peripheral component 208b.

Bei weiteren bevorzugten Ausführungsformen, 4E, ist vorgesehen, dass das Verfahren weiter aufweist: Auswerten 1340 des wenigstens einen Zählers Z1, beispielsweise durch eine Softwarekomponente SW-K (2) und/oder eine bzw. die Hardwarekomponente HW-K, wobei beispielsweise die Softwarekomponente SW-K eine höhere Priorität bezüglich der Ausführung durch die Recheneinrichtung 202 aufweist als wenigstens eine Applikation APP1, und, optional, Betreiben 1342 bzw. Weiterbetreiben der Vorrichtung 200 bzw. wenigstens einer Applikation App1 der Vorrichtung 200 basierend auf dem wenigstens einen Zähler Z1.In further preferred embodiments, 4E , it is provided that the method further comprises: evaluating 1340 the at least one counter Z1, for example by a software component SW-K ( 2 ) and/or one or the hardware component HW-K, with the software component SW-K, for example, having a higher priority with regard to execution by the computing device 202 than at least one application APP1, and, optionally, operating 1342 or continuing to operate the device 200 or at least one application App1 of the device 200 based on the at least one counter Z1.

Bei weiteren bevorzugten Ausführungsformen, 4F, ist vorgesehen, dass das Verfahren weiter aufweist: Vergleichen 1350 eines Zählerwerts ZW1 des wenigstens einen Zählers Z1 mit einem Vergleichswert VW1, und, falls der Zählerwert ZW1 größer ist als der Vergleichswert VW1, Signalisieren 1352, beispielsweise des Überschreitens des Vergleichswerts VW1, an die wenigstens eine Applikation APP1 und/oder eine mit der wenigstens einen Applikation APP1 assoziierte Partition PART1.In further preferred embodiments, 4F , it is provided that the method further comprises: comparing 1350 a counter value ZW1 of the at least one counter Z1 with a comparison value VW1, and, if the counter value ZW1 is greater than the comparison value VW1, signaling 1352, for example, that the comparison value VW1 has been exceeded, to the at least one application APP1 and/or a partition PART1 associated with the at least one application APP1.

Weitere bevorzugte Ausführungsformen beziehen sich auf eine Vorrichtung 200 zur Ausführung des Verfahrens gemäß den Ausführungsformen.Further preferred embodiments relate to a device 200 for carrying out the method according to the embodiments.

Weitere bevorzugte Ausführungsformen, vgl. 3A, beziehen sich auf ein Zurücksetzen 100, 102 („Resetieren“, „Reset“) von wenigstens einer Hardwarekomponente, insbesondere für wenigstens eine Applikation APP1.Further preferred embodiments, cf. 3A , relate to resetting 100, 102 (“reset”, “reset”) of at least one hardware component, in particular for at least one application APP1.

Bei weiteren bevorzugten Ausführungsformen wird ein Reset 100, 102 von Modulen der Vorrichtung 200 und/oder ggf. vorhandenen, insbesondere externen, Schaltungen 208 (z.B. Analog/Digital-Wandler, ADC) so ausgeführt, dass mehrere unabhängige Anwendungen APP1, APP2, APP3 betrieben werden können und sich diese bevorzugt nicht gegenseitig beeinflussen.In further preferred embodiments, a reset 100, 102 of modules of the device 200 and/or possibly present, in particular external, circuits 208 (e.g. analog/digital converter, ADC) is carried out in such a way that several independent applications APP1, APP2, APP3 are operated and these preferably do not influence each other.

Bei weiteren bevorzugten Ausführungsformen ist die Vorrichtung 200 dazu ausgebildet, jeden Rechenkern 202a, 202b, 202c einzeln zurückzusetzen. Insbesondere werden daher durch den Reset eines Rechenkerns 202a gegebenenfalls bei der Recheneinrichtung 202 vorhandene weitere Rechenkerne 202b, 202c nicht beeinflusst.In further preferred embodiments, the device 200 is designed to individually reset each processor core 202a, 202b, 202c. In particular, further processor cores 202b, 202c that may be present in processor 202 are therefore not affected by the reset of one processor core 202a.

Bei weiteren bevorzugten Ausführungsformen können mehrere Bereiche bzw. Cluster vorgesehen sein, die beispielsweise durch wenigstens einen Rechenkern 202a und optional mit dem wenigstens einen Rechenkern assoziierten Speicher 204a charakterisiert sind. Bei weiteren bevorzugten Ausführungsformen kann die Zuordnung des Speichers zu dem wenigstens einen Rechenkern logisch und/oder physikalisch sein. Bei weiteren bevorzugten Ausführungsformen kann wenigstens einer der Cluster unabhängig von einem Betrieb der weiteren Cluster zurückgesetzt werden, insbesondere ohne einen Betrieb der weiteren Cluster zu beeinträchtigen. Dadurch kann bei weiteren bevorzugten Ausführungsformen beispielsweise wenigstens ein Cluster zurückgesetzt werden, während gegebenenfalls vorhandene weitere Cluster unabhängig von dem Zurücksetzen des einen Clusters weiter betrieben werden können, beispielsweise zur Ausführung einer oder mehrerer Anwendungen.In further preferred embodiments, several areas or clusters can be provided, which are characterized, for example, by at least one processor core 202a and optionally with the at least one processor core associated memory 204a. In further preferred embodiments, the assignment of the memory to the at least one computing core can be logical and/or physical. In further preferred embodiments, at least one of the clusters can be reset independently of operation of the other clusters, in particular without impairing operation of the other clusters. In other preferred embodiments, this means that at least one cluster can be reset, for example, while other clusters that may be present can continue to be operated independently of the one cluster being reset, for example to run one or more applications.

Bei weiteren bevorzugten Ausführungsformen kann wenigstens ein Cluster auch wenigstens eine Schaltungskomponente bzw. einen Schaltungsteil aufweisen, beispielsweise eine Phasenregelschleife (PLL, phased locked loop). Bei weiteren bevorzugten Ausführungsformen kann bei dem Resetieren des wenigstens einen Clusters auch die wenigstens eine Schaltungskomponente mit zurückgesetzt werden.In further preferred embodiments, at least one cluster can also have at least one circuit component or circuit part, for example a phase-locked loop (PLL, phased locked loop). In further preferred embodiments, when resetting the at least one cluster, the at least one circuit component can also be reset.

Bei weiteren bevorzugten Ausführungsformen können gegebenenfalls vorhandene Peripheriemodule, die z.B. den einzelnen Applikationen APP1, APP2, APP3 zugewiesen werden können, in einem Supervisormode und/oder wenigstes einer Applikation zurückgesetzt werden.In further preferred embodiments, any peripheral modules that may be present, which can be assigned to the individual applications APP1, APP2, APP3, for example, can be reset in a supervisor mode and/or at least one application.

Bei weiteren bevorzugten Ausführungsformen können optional vorhandene externe Komponenten wie beispielsweise externe Logik über wenigstens eine gesonderte Datenleitung, beispielsweise separate GPIO (general purpose input output) resetiert werden, wobei das Resetieren gemäß weiteren bevorzugten Ausführungsformen beispielsweise von einem Supervisormode oder von einer Applikation APP1, APP2, APP3 ausgeführt wird. Bei weiteren bevorzugten Ausführungsformen kann hierfür das GPIO (-Signal) z.B. als Reset-Signal an einen Reset-Eingang der externen Komponente (beispielsweise externes Bauelement oder Schaltung) geführt werden.In further preferred embodiments, optionally present external components such as external logic can be reset via at least one separate data line, for example separate GPIO (general purpose input output), the resetting being performed according to further preferred embodiments, for example, by a supervisor mode or by an application APP1, APP2, APP3 is running. In other preferred embodiments, the GPIO (signal) can be routed to a reset input of the external component (e.g. external component or circuit) as a reset signal, for example.

Bei weiteren bevorzugten Ausführungsformen können mehrere Reset-Anschlüsse („Pins“) für gegebenenfalls vorhandene externe Komponenten bzw. Schaltungen bereit gestellt werden, so dass zum Beispiel die zu jeder Applikation gehöhrenden externen Schaltungen separat zurück gesetzt werden können.In further preferred embodiments, a plurality of reset connections (“pins”) can be provided for any external components or circuits that may be present, so that, for example, the external circuits belonging to each application can be reset separately.

Bei weiteren bevorzugten Ausführungsformen kann das Resetieren durch wenigstens eine der nachfolgend genannten, insbesondere voneinander unabhängigen, Quellen ausgeführt werden: a) Ein Signal, insbesondere Hardware-Signal, das z.B. Von einem Supervisor und/oder einer Überwachungslogik ausgelöst wird, b) durch ein Bit, das, wenn es beschrieben wird, die Reset-Funktion ausführt, c) indem eine Software, insbesondere eine Anwendung, die Bits so setzt, wie dies dem Reset-Zustand entspricht.In further preferred embodiments, the resetting can be carried out by at least one of the sources mentioned below, which are in particular independent of one another: a) a signal, in particular hardware signal, which is triggered, for example, by a supervisor and/or a monitoring logic, b) by a bit which, when described, performs the reset function, c) by having software, particularly an application, set the bits to reflect the reset state.

Bei weiteren bevorzugten Ausführungsformen können bei der vorstehend genannten Variante c) gezielt bestimmte Funktionen noch aufrechterhalten werden. Als Beispiel gemäß weiteren bevorzugten Ausführungsformen sei ein optionaler Zeitgeberbaustein („Timer“) genannt, der beispielsweise ein Pulsweitenmoduliertes (PWM) Signal ausgibt und der dabei nicht, insbesondere auch nicht durch den Reset, unterbrochen werden soll. Hierbei können gemäß weiteren bevorzugten Ausführungsformen die anderen Instanzen bzw. Parameter des Timer, insbesondere im selben Modul, das gemäß weiteren bevorzugten Ausführungsformen auch per Hardware zurück gesetzt werden könnte, über die Registereinstellungen (Schreiben bzw. Setzen der Bits) in einen Zustand gebracht werden, der beispielsweise den Reset-Werten entspricht („Neuinitialisierung“).In further preferred embodiments, specific functions can still be maintained in a targeted manner in the variant c) mentioned above. An example according to further preferred embodiments is an optional timer module (“timer”) which, for example, outputs a pulse width modulated (PWM) signal and which should not be interrupted, in particular not by the reset. According to further preferred embodiments, the other instances or parameters of the timer, in particular in the same module, which according to further preferred embodiments could also be reset by hardware, can be brought into a state via the register settings (writing or setting the bits), which, for example, corresponds to the reset values (“reinitialization”).

Bei weiteren bevorzugten Ausführungsformen ist es mit den vorstehend beispielhaft aufgeführten Schaltungsfunktionen gemäß weiteren bevorzugten Ausführungsformen möglich, sowohl durch einen Supervisor als auch wenigstens eine Anwendung APP1 selber die für einen Betrieb der Anwendung notwendigen Komponenten bzw. Schaltungsteile, insbesondere unabhängig vom Zustand und/oder Betrieb der anderen Applikationen APP2, APP3 (diese können im Reset, Startup, Ramp-Down oder in der Normalfunktion sein), zurückzusetzen.In further preferred embodiments, it is possible with the circuit functions listed above as examples according to further preferred embodiments, both by a supervisor and at least one application APP1 itself, the components or circuit parts necessary for operation of the application, in particular independently of the state and / or operation of other applications APP2, APP3 (these can be in reset, startup, ramp-down or normal function).

Weitere bevorzugte Ausführungsformen beziehen sich auf ein Verfahren zum Zurücksetzen einer Vorrichtung 200 zur Steuerung eines technischen Systems 1, insbesondere eines Kraftfahrzeuges, beispielsweise eines Steuergeräts, wobei das Zurücksetzen während eines laufenden Betriebs (beispielsweise in einem von mehreren verschiedenen möglichen Betriebszuständen) der Vorrichtung 200 bzw. des technischen Systems 1 ausgeführt wird.Further preferred embodiments relate to a method for resetting a device 200 for controlling a technical system 1, in particular a motor vehicle, for example a control unit, the resetting being carried out during ongoing operation (for example in one of several different possible operating states) of the device 200 or of the technical system 1 is running.

Bei weiteren bevorzugten Ausführungsformen werden auf der Vorrichtung 200 mehrere, insbesondere voneinander unabhängige oder zumindest teilweise abhängige, Applikationen APP1, APP2, APP3 gleichzeitig oder zumindest zeitlich überlappend betrieben.In further preferred embodiments, a plurality of applications APP1, APP2, APP3, in particular independent or at least partially dependent on one another, are operated on the device 200 simultaneously or at least with a temporal overlap.

Bei weiteren bevorzugten Ausführungsformen können optional vorgesehene weitere Komponenten 208 bzw. Schaltungen, insbesondere externe Komponenten bzw. Schaltungen, beispielsweise Peripheriekomponenten 208, wenigstens einer Applikation APP1 zugeordnet werden, die zumindest zeitweise durch die Vorrichtung 200 bzw. ihre Recheneinrichtung 202 bzw. wenigstens einen Rechenkern 202a der Recheneinrichtung 202 ausgeführt wird.In further preferred embodiments, additional components 208 or circuits that are optionally provided, in particular external components or circuits, for example peripheral components 208, can be assigned to at least one application APP1, which is at least temporarily managed by device 200 or its computing device 202 or at least one computing core 202a of the computing device 202 is executed.

Bei weiteren bevorzugten Ausführungsformen kann das Zuordnen der Komponenten zu der wenigstens einen Applikation auch dynamisch, also während einer Laufzeit der Vorrichtung bzw. der Applikation, ausgeführt werden. In further preferred embodiments, the assignment of the components to the at least one application can also be carried out dynamically, ie while the device or the application is running.

Bei weiteren bevorzugten Ausführungsformen können die optional vorgesehenen weiteren Komponenten bzw. Schaltungen, insbesondere getrennt von einem Supervisor und/oder wenigstens einer Applikation, zurückgesetzt werden, insbesondere ohne ein Laufzeitverhalten wenigstens einer, vorzugsweise mehrerer, insbesondere aller weiteren Applikationen der Vorrichtung zu beeinflussen.In further preferred embodiments, the optionally provided further components or circuits can be reset, in particular separately from a supervisor and/or at least one application, in particular without affecting the runtime behavior of at least one, preferably several, in particular all further applications of the device.

Bei weiteren bevorzugten Ausführungsformen ist das Laufzeitverhalten dadurch gekennzeichnet, dass dieselben Ausführungszeiten eingehalten werden, insbesondere bezüglich einer Bandbreite und/oder bezüglich von Latenzrandbedingungen, wobei bei weiteren bevorzugten Ausführungsformen ein taktgenau selbes Verhalten nicht erforderlich ist.In further preferred embodiments, the runtime behavior is characterized in that the same execution times are maintained, in particular with regard to a bandwidth and/or with regard to latency boundary conditions, with further preferred embodiments not requiring the same clock-exact behavior.

Bei weiteren bevorzugten Ausführungsformen werden weitere Applikationen APP3 der Vorrichtung 200 weiter betrieben, während bzw. wenn wenigstens eine andere Applikation APP2 der Vorrichtung 200 die ihr zugeordneten Module 208 und/oder Schaltungsteile zurückgesetzt.In further preferred embodiments, further applications APP3 of the device 200 continue to be operated while or when at least one other application APP2 of the device 200 is resetting the modules 208 and/or circuit parts assigned to it.

Weitere bevorzugte Ausführungsformen, vgl. 3B, beziehen sich auf ein Verhalten von Speicherbereichen der Speichereinrichtung, insbesondere von nichtflüchtigen Speicherbereichen („NVM (non-volatile memory)-Speicherbereich“) der Speichereinrichtung, wobei insbesondere ein oder mehrere insbesondere der nichtflüchtigen Speicherbereiche SB1 jeweils einer Applikation APP1 oder mehreren Applikationen zugeordnet 110 werden bzw. zugeordnet sein können.Further preferred embodiments, cf. 3B , relate to the behavior of memory areas of the memory device, in particular non-volatile memory areas (“NVM (non-volatile memory) memory area”) of the memory device, with one or more in particular of the non-volatile memory areas SB1 each being assigned to an application APP1 or to multiple applications 110 are or can be assigned.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass wenigstens ein NVM Speicherbereich SB1 wenigstens einer, insbesondere genau einer, Applikation APP1 zugeordnet werden kann.In further preferred embodiments it is provided that at least one NVM memory area SB1 can be assigned to at least one, in particular precisely one, application APP1.

Bei weiteren bevorzugten Ausführungsformen ist der NVM Speicherbereich so angeordnet, dass dieser z.B. über a) eine MPU (memory protection unit, Speicherschutzeinrichtung), und/oder b) über einen Supervisor, insbesondere über eine Zuweisung einer Partition-ID, der wenigstens einen Applikation zugeordnet werden kann.In further preferred embodiments, the NVM memory area is arranged in such a way that it is assigned to the at least one application, e.g. via a) an MPU (memory protection unit, memory protection device), and/or b) via a supervisor, in particular via an assignment of a partition ID can be.

Bei weiteren bevorzugten Ausführungsformen weist die Vorrichtung 200 bzw. die Recheneinrichtung 202 drei Rechenkerne („Cores“) 202a, 202b, 202c auf, wobei z.B. auf jedem Core eine Applikation ausgeführt wird, und wobei z.B. jeder Applikation ein vorgebbarer Speicherbereich, z.B. 4 Megabytes (MB), zugeordnet wird. Z.B. ist ein erster Speicherbereich SB1 einer ersten Applikation APP1 und ein zweiter Speicherbereich SB2 einer zweiten Applikation APP1 zugeordnet, vgl. die Schritte 110, 112 gemäß 3B.In further preferred embodiments, the device 200 or the computing device 202 has three computing cores (“cores”) 202a, 202b, 202c, with an application being executed on each core, for example, and with each application being assigned a predefinable memory area, for example 4 megabytes ( MB), is assigned. For example, a first memory area SB1 is assigned to a first application APP1 and a second memory area SB2 to a second application APP1, cf. steps 110, 112 according to 3B .

Bei weiteren bevorzugten Ausführungsformen sind bei der Speichereinrichtung 204, insbesondere für die NVM-Speicherbereiche 204b, mehrere Speichermodule vorgesehen, wobei bevorzugt wenigstens zwei, vorzugsweise mehr als zwei, weiter vorzugsweise alle der, Speichermodule so ausgeführt sind, dass sie entweder komplett oder aus kleineren Untermodulen aufgebaut bzw. zusammengesetzt sind.In further preferred embodiments, a plurality of memory modules are provided in the memory device 204, in particular for the NVM memory areas 204b, with preferably at least two, preferably more than two, more preferably all of the memory modules being designed such that they are either complete or made up of smaller sub-modules are constructed or assembled.

Bei weiteren bevorzugten Ausführungsformen weisen die Untermodule zumindest teilweise dieselben Eigenschaften wie ein zuzuordnendes Speichermodul auf, z.B. bezüglich gemeinsamer Wortleitungsansteuerungen und/oder gemeinsamer Bitleitungsausleseschaltungen und/oder gemeinsamer Programmierspannungszuführungen.In further preferred embodiments, the submodules have at least partially the same properties as a memory module to be assigned, e.g. with regard to common word line controls and/or common bit line readout circuits and/or common programming voltage supplies.

Bei weiteren bevorzugten Ausführungsformen ist die Vorrichtung 200 bzw. die Recheneinrichtung 202 dazu ausgebildet, ein Umprogrammieren der zugeordneten Speicherbereiche bzw. Module bzw. Untermodule unabhängig von einem Zustand anderer Speicherbereiche bzw. Module bzw. Untermodule auszuführen, wobei insbesondere die dazu notwendigen Ressourcen z.B. mehrfach in jedem Speicherbereich vorhanden sind. Deshalb ist es bei weiteren bevorzugten Ausführungsformen möglich, dass ein erster (Speicher-)Bereich umprogrammiert wird, während aus den anderen (Speicher-)Bereichen weiter die Applikationen so laufen, wie wenn die eine Applikation bzw. der ihr zugeordnete Speicherbereich nicht umprogrammiert wird.In further preferred embodiments, device 200 or computing device 202 is designed to reprogram the assigned memory areas or modules or submodules independently of the status of other memory areas or modules or submodules, with the resources required for this being available e.g. multiple times in are present in each memory area. It is therefore possible in further preferred embodiments for a first (memory) area to be reprogrammed while the applications from the other (memory) areas continue to run as if one application or the memory area assigned to it was not reprogrammed.

Bei weiteren bevorzugten Ausführungsformen kann das Umprogrammieren der einen Applikation bzw. des ihr zugeordneten Speicherbereichs aus einem Supervisor und/oder einem Partition Manager und/oder einer Applikation erfolgen.In further preferred embodiments, the one application or the memory area assigned to it can be reprogrammed from a supervisor and/or a partition manager and/or an application.

Bei weiteren bevorzugten Ausführungsformen kann, insbesondere durch Bereitstellung der oben beschriebenen Ressourcen, das Verfahren auch in einem (insbesondere bezüglich der Recheneinrichtung bzw. Vorrichtung) externen Speicher, insbesondere NVM-Speicher, erfolgen, der z.B. mehrere Blöcke aufweist, und der z.B. über eine separate Wortleitungsansteuerung für die Blöcke und/oder separate Bitleitungsausleseschaltungen für die Blöcke verfügen kann. Bei weiteren bevorzugten Ausführungsformen kann der NVM-Speicher als LPDDR (low power double data rate)-Speichertyp ausgebildet sein.In further preferred embodiments, in particular by providing the resources described above, the method can also be carried out in an external memory (in particular with regard to the computing device or device), in particular NVM memory, which, for example, has several blocks and which, for example, has a separate Word line drive for the blocks and/or separate bit line readout circuits for the blocks. In further preferred embodiments, the NVM memory can be in the form of an LPDDR (low power double data rate) memory type.

Weitere bevorzugte Ausführungsformen beziehen sich auf ein Verfahren zum Programmieren (und/oder Umprogrammieren) einer Vorrichtung bzw. einer Speichereinrichtung der bzw. für die Vorrichtung, wobei die Vorrichtung z.B. zur Steuerung eines technischen Systems wie z.B. eines Kraftfahrzeuges ausgebildet ist, gekennzeichnet durch wenigstens einen der folgenden Aspekte:

  1. a) das Verfahren wird, z.B. in einem Kraftfahrzeug, im laufenden Betrieb (z.B. in einem der verschiedenen Betriebszustände des Kraftfahrzeugs) durchgeführt
  2. b) auf bzw. mittels der Vorrichtung bzw. Steuerung werden mehrere unabhängige oder abhängige Applikationen gleichzeitig oder wenigstens zumindest teilweise zeitlich überlappend betrieben,
  3. c) verschiedene Speicherbereiche in und/oder außerhalb der Recheneinrichtung können, insbesondere flexibel und/oder dynamisch, den Applikationen zugeordnet werden,
  4. d) verschiedene Speicherbereiche in und/oder außerhalb der Recheneinrichtung können, insbesondere getrennt bzw. unabhängig voneinander, von einem Supervisor und/oder wenigstens einer (insbesondere einer zugeordneten) Applikation umprogrammiert werden, insbesondere ohne das Laufzeitverhalten wenigstens einer anderen Applikation bzw. mehrerer bzw. aller anderen Applikationen der Vorrichtung bzw. Recheneinrichtung zu beeinflussen (das Laufzeitverhalten ist z.B. dadurch gekennzeichnet, dass dieselben Ausführungszeiten (insbesondere bezüglich einer vorgebbaren Bandbreite und/oder vorgebbarer Latenzrandbedingungen eingehalten werden, wobei insbesondere ein taktgenau selbes Verhalten gemäß weiteren bevorzugten Ausführungsformen nicht erforderlich ist),
  5. e) wenigstens eine andere, vorzugsweise alle anderen, Applikationen der Vorrichtung bzw. Recheneinrichtung sind weiter funktional, wenn eine oder mehrere der Applikationen umprogrammiert werden.
Further preferred embodiments relate to a method for programming (and/or reprogramming) a device or a memory device of or for the device, the device being designed, for example, to control a technical system such as a motor vehicle, characterized by at least one of following aspects:
  1. a) the method is carried out, for example in a motor vehicle, during operation (for example in one of the various operating states of the motor vehicle).
  2. b) on or by means of the device or controller, several independent or dependent applications are operated simultaneously or at least partially overlapping in time,
  3. c) different memory areas in and/or outside the computing device can be assigned to the applications, in particular flexibly and/or dynamically,
  4. d) different memory areas in and/or outside of the computing device can be reprogrammed, in particular separately or independently of one another, by a supervisor and/or at least one (in particular an assigned) application, in particular without affecting the runtime behavior of at least one other application or several or to influence all other applications of the device or computing device (the runtime behavior is characterized, for example, by the fact that the same execution times (in particular with regard to a specifiable bandwidth and/or specifiable latency boundary conditions are observed, whereby in particular a clock-exactly the same behavior is not required according to further preferred embodiments),
  5. e) at least one other, preferably all other, applications of the device or computing device continue to be functional if one or more of the applications are reprogrammed.

Weitere bevorzugte Ausführungsformen, vgl. 3C, beziehen sich auf eine fault collection and control unit, FCCU, 201 (2), also auf eine Einrichtung zum Sammeln und Verwalten von Fehlern, insbesondere auf eine Aufteilung von Ressourcen der FCCU. Schritt 115 aus 3C symbolisiert die Verwendung der FCCU 201.Further preferred embodiments, cf. 3C , refer to a fault collection and control unit, FCCU, 201 ( 2 ), i.e. a device for collecting and managing errors, in particular a division of FCCU resources. Step 115 off 3C symbolizes the use of the FCCU 201.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die FCCU dazu ausgebildet ist, einen unabhängigen (Weiter-)Betrieb von Applikationen der Vorrichtung bzw. Recheneinrichtung zu gewährleisten, wodurch z.B. funktional deterministisch getrennte (insbesondere auf eine funktionale Sicherheit, „Safety“ bezogene) Reaktionen, z.B. auf Hardware-Fehler, ermöglicht werden. Mit anderen Worten kann dadurch bei weiteren bevorzugten Ausführungsformen ermöglicht werden, dass nicht durch den z.B. Hardware-Fehler betroffene Applikationen weiter ausgeführt werden können.In further preferred embodiments, it is provided that the FCCU is designed to ensure independent (further) operation of applications of the device or computing device, whereby, for example, functionally deterministically separate reactions (in particular related to functional safety, "safety") e.g. for hardware errors. In other words, it can be made possible in further preferred embodiments that applications not affected by the hardware error, for example, can continue to be executed.

Bei weiteren bevorzugten Ausführungsformen ist die FCCU dazu ausgebildet, Hardware-Fehler („HW-Fehler“) in einzelnen Modulen wie z.B. Core, RAM (Arbeitsspeicher), NVM (nichtflüchtiger Speicher) und/oder Peripheriemodulen zu sammeln 116 (3C) und z.B. Fehlerreaktionen auszuführen 117, die z.B. mittels eines Safety Setup (Einrichtung bzw. Konfiguration von Aspekten bezüglich funktionaler Sicherheit) einstellbar bzw. vorgebbar sind, z.B. Aktivierung eines oder mehrerer Error Pins (Fehleranschlüsse), das Auslösen eines Interrupt (Unterbrechungsanforderung), das Auslösen eines Reset oder die Aktivierung eines NMI (nicht maskierbare Unterbrechungsanforderung).In further preferred embodiments, the FCCU is designed to collect hardware errors (“HW errors”) in individual modules such as core, RAM (memory), NVM (non-volatile memory) and/or peripheral modules 116 ( 3C ) and e.g. carry out error reactions 117, which can be set or specified, e.g. by means of a safety setup (e.g. setting up or configuring aspects relating to functional safety), e.g. activating one or more error pins (error connections), triggering an interrupt (interrupt request), the Triggering a reset or activating an NMI (Non-Maskable Interrupt Request).

Bei weiteren bevorzugten Ausführungsformen werden Fehlereingangssignale einer oder mehreren Applikationen zugeordnet, wobei insbesondere auch Fehlerreaktionen (s. z.B. die vorstehend beispielhaft beschriebenen Ausführungsformen) an die Partitionen und/oder Applikationen und/oder zugeordnete Error Pins generiert bzw. ausgegeben werden können.In further preferred embodiments, error input signals are assigned to one or more applications, with error reactions (see e.g. the embodiments described above as examples) being able to be generated or output to the partitions and/or applications and/or assigned error pins.

Sobald beispielsweise bei einem ersten Rechenkern („Core 1“) 202a (2) der drei Rechenkerne, auf dem z.B. eine erste Applikation APP1 („Applikation 1“) läuft, ein Fehler erkannt wird, kann z.B. ein Lockstep Fehler im Core1 202a an die FCCU 201 gemeldet werden. Bei weiteren bevorzugten Ausführungsformen ist die FCCU 201 so konfiguriert, dass der Fehler bevorzugt nur auf die Aktionen, die der Applikation 1 zugeordnet sind, wirken kann - z.B. die Interruptressourcen im GIC ((generic) interrupt controller) des Core1 202a, den Reset des Core1, den NMI des Core1 oder einen/mehrere Error Pins. Bei weiteren bevorzugten Ausführungsformen kann bei einem Safety System Setup - z.B. durch einen Supervisor oder die Applikation 1 - festgelegt werden, dass dieser Fehler z.B. einen Reset des Core1 auslöst bzw. dass bei dem Auftreten dieses Fehler ein Reset des Core1 ausgelöst werden soll. Bei weiteren bevorzugten Ausführungsformen werden andere Applikationen (z.B. „Applikation 2“ und „Applikation 3“) durch den Lockstep-Fehler im Core 1 nicht beeinflusst und laufen bevorzugt im selben Zeitverhalten weiter.As soon as, for example, in a first computing core (“Core 1”) 202a ( 2 ) of the three computing cores on which, for example, a first application APP1 (“application 1”) is running, an error is detected, a lockstep error in Core1 202a can be reported to the FCCU 201, for example. In further preferred embodiments, the FCCU 201 is configured such that the error can preferably only affect the actions assigned to the application 1 - e.g. the interrupt resources in the GIC ((generic) interrupt controller) of Core1 202a, the reset of Core1 , the NMI of Core1 or one or more error pins. In further preferred embodiments, it can be specified in a safety system setup—for example by a supervisor or the application 1—that this error triggers a reset of Core1, for example, or that a reset of Core1 should be triggered when this error occurs. In further preferred embodiments, other applications (eg “Application 2” and “Application 3”) are not influenced by the lockstep error in core 1 and preferably continue to run in the same time behavior.

Gemäß weiteren bevorzugten Ausführungsformen kann beispielsweise bei einem dritten Rechenkern 202c („Core 3“) der drei Rechenkerne, dem eine dritte Applikation APP3 („Applikation 3“) zugeordnet ist, ein Fehler erkannt werden, z.B. ein nicht korrigierbarer „Double Bit“-Fehler in dem NVM-Speicherbereich, der der Applikation 3 zugeordnet ist. Bevorzugt ist die FCCU 201 so konfiguriert, dass der Fehler, insbesondere nur, auf die Aktionen, die der Applikation 3 zugeordnet sind, weitegeleitet wird. Weiter bevorzugt kann, beispielsweise durch die FCCU, eine Unterbrechungsanforderung (Interrupt) an die Applikation 3 ausgelöst werden, z.B. um eine Fehlerbehandlungsroutine für den Double Bit Fehler aufzurufen. Bei weiteren bevorzugten Ausführungsformen kann die Fehlerbehandlungsroutine z.B. zusätzliche Tests enthalten, z.B. um eine Schwere der Safety-Beeinflussung durch den Fehler festzustellen und, optional, dementsprechend entweder die Applikation 3 weiter laufen zu lassen oder diese z.B. zurückzusetzen (Reset), oder auch andere Applikationen, z.B. über den Supervisor, informieren - z.B. mittels Interrupt - dass diese evtl. (auch durch den Fehler) betroffen sein könnten und z.B. entsprechende Überprüfungen des den Applikationen 1 und 2 zugeordneten NVM-Speichers durchgeführt werden soll. According to further preferred embodiments, an error can be detected, for example, in a third processor core 202c (“Core 3”) of the three processor cores, to which a third application APP3 (“Application 3”) is assigned, eg an uncorrectable “double bit” error in the NVM memory area assigned to application 3. The FCCU 201 is preferably configured in such a way that the error, in particular only, is forwarded to the actions that are assigned to the application 3 . More preferably, an interrupt request (interrupt) to the application 3 can be triggered, for example by the FCCU, for example to call up an error handling routine for the double-bit error. In other preferred embodiments, the error handling routine may include additional tests, e.g to determine the severity of the safety influence caused by the error and, optionally, to either let application 3 continue to run accordingly or to reset it, for example, or to inform other applications, for example via the supervisor - for example by means of an interrupt - that these could possibly be affected (also by the error) and, for example, corresponding checks of the NVM memory assigned to applications 1 and 2 should be carried out.

Weitere bevorzugte Ausführungsformen beziehen sich auf ein Verfahren zur Fehlerbehandlung einer Applikation in einer Vorrichtung, z.B. Steuerung, für ein technisches System, z.B. für ein Kraftfahrzeug, gekennzeichnet durch wenigstens einen der folgenden Aspekte:

  1. a) das Verfahren wird, z.B. in einem Kraftfahrzeug, im laufenden Betrieb (z.B. in einem der verschiedenen Betriebszustände des Kraftfahrzeugs) durchgeführt,
  2. b) auf bzw. mittels der Vorrichtung bzw. Steuerung werden mehrere unabhängige oder abhängige Applikationen gleichzeitig oder wenigstens zumindest teilweise zeitlich überlappend betrieben,
  3. c) verschiedene Fehler bzw. Fehlerereignisse („Fehlerevents“) (z.B., RAM, Core, NVM, ...), die z.B. in und/oder außerhalb (externes NVM oder RAM) der Recheneinrichtung auftreten können, können jeweils wenigstens einer Applikation zugeordnet werden,
  4. d) wenigstens eine, bevorzugt mehrere, insbesondere alle, Applikationen können, zumindest innerhalb ihrer Ressourcen, einen bzw. den Fehler bewerten und/oder eine entsprechende Fehlerreaktion einleiten und/oder wenigstens eine andere Applikation informieren, z.B. über mögliche Safety-Fehler, insbesondere in den ihnen zugeordneten Ressourcen,
  5. e) wenigstens eine, bevorzugt mehrere, insbesondere alle, Applikationen können, durch wenigstens eine Andere Applikation über einen bzw. den Fehler informiert werden,
  6. f) andere, insbesondere nicht von einem bzw. dem Fehler betroffene Applikationen können weiter laufen, insbesondere so weiter laufen, dass das Laufzeitverhalten, speziell die Latenzrandbedingungen eingehalten werden, wobei insbesondere ein taktgenau selbes Verhalten nicht erforderlich ist,
Further preferred embodiments relate to a method for troubleshooting an application in a device, e.g. controller, for a technical system, e.g. for a motor vehicle, characterized by at least one of the following aspects:
  1. a) the method is carried out, e.g. in a motor vehicle, during operation (e.g. in one of the various operating states of the motor vehicle),
  2. b) on or by means of the device or controller, several independent or dependent applications are operated simultaneously or at least partially overlapping in time,
  3. c) Various errors or error events (“error events”) (e.g. RAM, core, NVM, ...), which can occur in and/or outside (external NVM or RAM) of the computing device, can each be assigned to at least one application will,
  4. d) at least one, preferably several, in particular all, applications can, at least within their resources, evaluate one or the error and/or initiate a corresponding error reaction and/or inform at least one other application, e.g. about possible safety errors, in particular in the resources assigned to them,
  5. e) at least one, preferably several, in particular all, applications can be informed about an error or the error by at least one other application,
  6. f) Other applications, in particular those not affected by an error or the error, can continue to run, in particular in such a way that the runtime behavior, especially the latency boundary conditions, are observed, whereby in particular the same clock-accurate behavior is not required,

Weitere bevorzugte Ausführungsformen, vgl. 3D, beziehen sich auf eine Weiterleitung 120 von einen Betriebszustand, insbesondere einen Betriebszustand („Safety Zustand“) bezüglich einer funktionalen Sicherheit („Safety“), einer Anwendung („Applikation“) APP1, APP2, APP3 charakterisierenden Informationen I1-FUSI an wenigstens eine weitere Einheit wie z.B. eine externe Einheit 300 (2), insbesondere eine extern der Recheneinrichtung 202 bzw. Vorrichtung 200 angeordnete Einheit 300.Further preferred embodiments, cf. 3D , relate to forwarding 120 of information I1-FUSI characterizing an operating state, in particular an operating state (“safety state”) with regard to functional safety (“safety”), an application (“application”) APP1, APP2, APP3 to at least one another unit such as an external unit 300 ( 2 ), in particular a unit 300 arranged externally to computing device 202 or device 200.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, insbesondere um bezüglich funktional deterministisch getrennter Safety-Reaktionen auf HW-Fehler einen unabhängigen Weiterbetrieb der nicht betroffenen Applikation(en) und ggf. der optional damit verbundenen externen Einheit(en) (wie z.B. eine Ansteuerung von Treibern, z.B. PHY für Signale, die eine Safety-Last tragen und die Umsetzung der Anschlüsse der Recheneinrichtung („Rechnerpins“) z.B. auf ein physikalisches Bus-Protokoll übernehmen) oder auch die Ansteuerungen von Komponenten wie Zündung/Einspritzung bei einem Verbrennungsmotor) gewährleisten zu können, dass diese extern (bezüglich der Recheneinrichtung) den Applikationen zugeordneten Schaltungen z.B. den Safety-Zustand „Error“ (kann bei weiteren bevorzugten Ausführungsformen auch „Reset“, sein aber auch zusätzlich zum Reset) signalisieren, insbesondere um die Schaltungsteile, die Applikationen zugeordnet sind, die nicht betroffen sind, nicht zu beeinflussen.In further preferred embodiments, it is provided, in particular with regard to functionally deterministically separate safety reactions to hardware errors, that the unaffected application(s) continue to operate independently and, if applicable, the external unit(s) optionally connected thereto (such as a control of drivers, e.g. PHY for signals that carry a safety load and the conversion of the connections of the computing device ("computer pins") e.g. to a physical bus protocol) or also the activation of components such as ignition/injection in an internal combustion engine) to be able to guarantee, that these circuits assigned externally (with respect to the computing device) to the applications signal, for example, the safety status "Error" (can also be "Reset" in further preferred embodiments, but also in addition to the reset), in particular around the circuit parts assigned to the applications, that are not affected, not to influence.

Bei weiteren bevorzugten Ausführungsformen sind beispielhaft drei Rechenkerne (3 Cores) vorgesehen, mit 3 Applikationen, wobei auf jedem Core eine der drei Applikationen läuft. Weiter sind z.B. drei Error Pins (Anschlüsse, z.B. zur Signalisierung von Fehlerzuständen) vorgesehen. Bei weiteren bevorzugten Ausführungsformen sind beispielhaft externe Interfaces für eine VCU (Fahrzeugsteuerung, vehicle control unit) (z.B. Applikation 1 auf Core1) und die eine Einspritzung für eine Verbrennungsapplikation (z.B. Applikation 3 auf Core3) vorgesehen.In further preferred embodiments, three computing cores (3 cores) are provided by way of example, with 3 applications, one of the three applications running on each core. Furthermore, e.g. three error pins (connections, e.g. for signaling error states) are provided. In further preferred embodiments, external interfaces for a VCU (vehicle control unit) (e.g. application 1 on Core1) and an injection for a combustion application (e.g. application 3 on Core3) are provided by way of example.

Bei weiteren bevorzugten Ausführungsformen möchte die Verbrennungsapplikation z.B. die Einspritzung abschalten, um das Drehmoment des Motors zu reduzieren. Dazu wird z.B. der Error Pin 3 (der z.B. im Startup (also beim Hochfahren der Vorrichtung) der Applikation 3 zugeordnet worden ist) aktiviert, der bevorzugt so mit dem (externen) Einspritz-Schaltkreis (IC) verbunden ist, dass dieser, insbesondere unabhängig von den Impulsen, die das Einspritztiming vorgeben, abgeschalten wird und die Einspritzventile z.B. nicht ansteuert. Bei weiteren bevorzugten Ausführungsformen läuft gleichzeitig die VCU-Funktion auf Applikation 1 auf Core 1 weiter - diese VCU überträgt z.B. über einen CAN Treiber auch Signale mit einer Safety-Last. Bei weiteren bevorzugten Ausführungsformen wird der Error Pin1 (z.B. im Startup der Applikation 1 zugeordnet) nicht aktiviert, so dass die CAN Signale, die aus der Recheneinrichtung bzw. der Vorrichtung kommen, über den aktuell nicht deaktivierten (mit Error Pin1 zu deaktivieren) CAN Treiber weitergeleitet werden. Dadurch läuft die VCU-Applikation auf Core1 vom Fehler der Applikation 3 nicht beeinflusst (weiter), und insbesondere die besagten CAN-Signale werden weiter übertragen.In further preferred embodiments, the combustion application would like to switch off the injection, for example, in order to reduce the torque of the engine. For this purpose, for example, the error pin 3 (which, for example, has been assigned to application 3 during startup (i.e. when the device is started up)) is activated, which is preferably connected to the (external) injection circuit (IC) in such a way that this, in particular, is independent is switched off by the impulses that specify the injection timing and does not control the injection valves, for example. In further preferred embodiments, the VCU function continues to run on application 1 on core 1 at the same time—this VCU also transmits signals with a safety load, for example via a CAN driver. In further preferred embodiments, the error Pin1 (e.g. assigned to application 1 during startup) is not activated, so that the CAN signals coming from the computing device or the device forwarded via the currently not deactivated (to be deactivated with Error Pin1) CAN driver. As a result, the VCU application on Core1 is not affected by the error in application 3 (continues), and in particular the said CAN signals continue to be transmitted.

Weitere bevorzugte Ausführungsformen beziehen sich auf ein Verfahren zur Signalisierung, insbesondere Weiterleitung, des Safety-Status wenigstens einer Applikation an Einheiten bzw. Bauelemente außerhalb der Recheneinrichtung bzw. Vorrichtung, gekennzeichnet durch wenigstens einen der folgenden Aspekte:

  1. a) Die Signalisierung des Safety-Status kann bevorzugt z.B. für die externen Bauelemente („Peripheriemodule“) als Abschalt-Signal genutzt werden,
  2. b) Die Signalisierung kann einzelnen Applikationen, die z.B. parallel auf der Recheneinrichtung laufen, zugeordnet sein, wobei insbesondere Peripheriemodule, die einer Applikation zugeordnet sind, unabhängig vom Zustand anderer Applikationen bzw. deren Peripheriemodule zurückgesetzt werden können,
  3. c) eine Zuordnung kann, bevorzugt unveränderbar, nach einem Reset vorgenommen werden,
  4. d) Aspekte dieser Ausführungsformen können auch für externe Security-Bauelemente wie z.B. externe Crypto Bauelemente (Kryptografie-Beschleuniger, Hardware-Sicherheitsmodul), Schnittstellen, genutzt werden,
  5. e) Verwendung sowohl in Bezug auf Aspekte der funktionalen Sicherheit („FUSI“, „Safety“) als auch in Bezug auf Aspekte der Sicherheit z.B. gegen Manipulationen („Security“).
Further preferred embodiments relate to a method for signaling, in particular forwarding, the safety status of at least one application to units or components outside the computing device or device, characterized by at least one of the following aspects:
  1. a) The signaling of the safety status can preferably be used, for example, as a switch-off signal for the external components ("peripheral modules"),
  2. b) The signaling can be assigned to individual applications that run in parallel on the computing device, for example, with peripheral modules assigned to an application being able to be reset independently of the status of other applications or their peripheral modules,
  3. c) an assignment can be made, preferably unchangeable, after a reset,
  4. d) Aspects of these embodiments can also be used for external security components such as external crypto components (cryptography accelerator, hardware security module), interfaces,
  5. e) Use both in relation to aspects of functional safety (“FUSI”, “Safety”) and in relation to aspects of security, eg against manipulation (“Security”).

Weitere bevorzugte Ausführungsformen, vgl. 3E, beziehen sich auf ein Verfahren zur Steuerung eines technischen Systems 1, z.B. eines Fahrzeugs 1, bei dem wenigstens ein Peripheriemodul 206 wenigstens einer, insbesondere genau einer, Applikation APP1 zugeordnet wird, vgl. Schritt 125 aus 3E. Bevorzugt können die Applikationen jeweils in getrennten Partitionen auf der Recheneinrichtung 202 laufen.Further preferred embodiments, cf. 3E , relate to a method for controlling a technical system 1, for example a vehicle 1, in which at least one peripheral module 206 is assigned to at least one, in particular precisely one, application APP1, see step 125 from FIG 3E . The applications can preferably each run in separate partitions on the computing device 202 .

Bei weiteren bevorzugten Ausführungsformen handelt es sich bei dem wenigstens einen Peripheriemodul 206 z.B. um wenigstens eines der folgenden Elemente: Timer (Zeitgeberbaustein), Kommunikationsinterfaces 206, GPIO Ports (allgemeine Eingabe- und/oder Ausgabeanschlüsse).In further preferred embodiments, the at least one peripheral module 206 is, for example, at least one of the following elements: timer (timer module), communication interfaces 206, GPIO ports (general input and/or output connections).

Hierdurch kann bevorzugt erreicht werden, dass sich mehrere Applikationen APP1, APP2, APP3 bei einem Betrieb auf der Recheneinrichtung 202 nicht gegenseitig beeinflussen.In this way, it can preferably be achieved that a number of applications APP1, APP2, APP3 do not mutually influence one another when they are operated on the computing device 202.

Beispiele für eine unerwünschte gegenseitige Beeinflussung, die gemäß weiteren bevorzugten Ausführungsformen vermeidbar ist, sind:

  1. 1. Betrieb eines Analog/Digital-Wandlers (ADC): Wenn mehrere Applikationen auf die Ressourcen des ADC (z.B. Kanäle/Eingänge und/oder Steuerregister) zugreifen, dann kann die eine Applikation z.B. die Einstellungen einer anderen Applikation überschreiben - z.B. Kanalzuordnung, Sample Time (Abtastrate), Conversion Time (Umwandlungszeit), ...
  2. 2. CAN (Controller Area Network): Wenn in mehreren Applikationen CAN-Identifier auf demselben CAN Bus genutzt werden, können in einem CAN Modul z.B. Queue- Einträge vorgenommen werden, wobei die Software einer Partition (d.h., z.B. eine Applikation) die Settings einer anderen Applikation überschreiben kann.
Examples of undesired mutual interference, which can be avoided according to further preferred embodiments, are:
  1. 1. Operation of an analog/digital converter (ADC): If several applications access the resources of the ADC (e.g. channels/inputs and/or control registers), then one application can, for example, overwrite the settings of another application - e.g. channel assignment, sample Time (sampling rate), Conversion Time (conversion time), ...
  2. 2. CAN (Controller Area Network): If CAN identifiers are used in several applications on the same CAN bus, queue entries can be made in a CAN module, for example, whereby the software of a partition (ie, for example an application) changes the settings of a can be overwritten by another application.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass wenigstens ein Peripheriemodul, bevorzugt vollständig, einer Partition bzw. Applikation zugeordnet werden kann.In further preferred embodiments it is provided that at least one peripheral module, preferably completely, can be assigned to a partition or application.

Bei weiteren bevorzugten Ausführungsformen sind z.B. Module bei der Vorrichtung bzw. Recheneinrichtung vorgesehen wie z.B. SPI (serial peripheral interface), LIN (local Interconnect Network), CAN, ADC, die z.B. bevorzugt komplett einer Anwendung zugeordnet werden können, insbesondere weil die Ressourcen dieser Module entweder komplett durch die Partition bzw. Anwendung (Applikation) benutzt werden, oder diese Module mehrfach, insbesondere so häufig, vorhanden sind, dass entsprechende einzelne dieser Module komplett einer Partition bzw. Anwendung (Applikation) zugeordnet werden können.In further preferred embodiments, modules are provided in the device or computing device, such as SPI (serial peripheral interface), LIN (local interconnect network), CAN, ADC, which, for example, can preferably be completely assigned to an application, in particular because the resources of these modules either be used completely by the partition or application (application), or these modules are present several times, in particular so frequently, that corresponding individual modules can be completely assigned to a partition or application (application).

Bei weiteren bevorzugten Ausführungsformen werden folgende Mechanismen vorgeschlagen, insbesondere um diese Module gemäß einem Ziel einer deterministischen Funktion zu trennen:

  • - Zuordnung wenigstens eines, vorzugsweise mehrere bzw. aller Module zu einer Partition bzw. Applikation (insbesondere in dem Modul), wobei insbesondere das Modul z.B. nur Schreib- und/oder Lesebefehle von einem Bus (z.B. Datenbus zur Anbindung des Moduls an Komponente(n) der Recheneinrichtung bzw. Vorrichtung) akzeptiert, die mit einer vorgebbaren Kennung, z.B. „Partition ID“, kommen, die z.B. vorher im System Setup von einem Partition Manager dem Modul zugewiesen worden ist.
In further preferred embodiments, the following mechanisms are proposed, in particular to separate these modules according to a goal of a deterministic function:
  • - Assignment of at least one, preferably several or all modules to a partition or application (in particular in the module), with the module in particular only receiving write and/or read commands from a bus (e.g. data bus for connecting the module to component(s). ) of the computing device or device) that come with a definable identifier, eg “Partition ID”, which has been assigned to the module beforehand in the system setup by a partition manager.

Bei weiteren bevorzugten Ausführungsformen werden somit Module, bevorzugt komplette Module, insbesondere fest (also statisch), zu Partitionen, insbesondere einer Partition bzw. Applikation, zugeordnet.In further preferred embodiments, modules, preferably complete modules, are thus assigned, in particular permanently (that is to say statically), to partitions, in particular to a partition or application.

Bei weiteren bevorzugten Ausführungsformen kann vorgesehen sein, dass (Peripherie-)Module mehreren Anwendungen zugeordnet werden können, z.B. vorgebbar bzw. steuerbar durch wenigstens eine Hardware-Funktion wie z.B. eine Adressbereichseinschränkung.In further preferred embodiments it can be provided that (peripheral) modules can be assigned to a number of applications, for example predeterminable or controllable by at least one hardware function such as an address range restriction.

Bei weiteren bevorzugten Ausführungsformen gibt es z.B. Module bei einer Vorrichtung bzw. Recheneinrichtung wie z.B. GTM (Zeitgeberbaustein), Ethernet, HSM (Hardwaresicherheitsmodul) (Windows), deren Komponenten bzw. Cluster oder Modulteile über eine interne Zuordnung von Adressbereichen zu Partitionen bzw. Applikationen zugeordnet werden können.In further preferred embodiments, there are e.g can become.

Um diese Module gemäß weiteren bevorzugten Ausführungsformen, insbesondere mit dem Ziel einer deterministischen Funktion, zu trennen, wird folgender Mechanismus vorgeschlagen:

  • - Zuordnung der Module zu den Partitionen bzw. Applikationen über Adressbereiche, und/oder
  • - Anordnung der Ressourcen in einem Modul so, dass die Ressourcen, die zu einer Partition (bzw. Applikation) zugeordnet werden, dass diese in einem Adressbereich nahe beieinander (z.B. benachbart) liegen, und/oder
  • - Die Zuweisung des Adressbereiches bzw. der Adressbereiche kann z.B. extern über eine Bus-Brücke erfolgen, und/oder über eine Speicherschutzeinrichtung (MPU), die z.B. sicherstellt, dass die internen Master/Slave(s), die nicht der zugeordneten Partition bzw. Applikation gehören, auf diesen Adressbereich nicht Lesen und/oder Schreiben können.
In order to separate these modules according to further preferred embodiments, in particular with the aim of a deterministic function, the following mechanism is proposed:
  • - Assignment of the modules to the partitions or applications via address ranges, and/or
  • - Arrangement of the resources in a module so that the resources that are assigned to a partition (or application) that they are close to each other (eg adjacent) in an address range, and/or
  • - The address range or ranges can be assigned externally via a bus bridge, for example, and/or via a memory protection device (MPU), which ensures, for example, that the internal master/slave(s) that are not assigned to the partition or application, cannot read and/or write to this address range.

Bei weiteren bevorzugten Ausführungsformen kann also eine Zuordnung von (Peripherie-)Modulen zur Applikationen bzw. Partitionen über eine, bevorzugt Modul-interne, Einschränkung der Adressbereiche erfolgen.In further preferred embodiments, (peripheral) modules can therefore be assigned to applications or partitions via a restriction of the address areas, preferably internal to the module.

Bei weiteren bevorzugten Ausführungsformen gibt es z.B. auch Module, die über Software(SW)-Mechanismen voneinander getrennt werden können, wobei diese Module z.B. von mehreren Partitionen bzw. Applikationen verwendet werden. Ein Beispiel gemäß weiteren bevorzugten Ausführungsformen ist z.B. Ethernet ohne Nutzung von implementierten Queues, ein weiteres Beispiel gemäß weiteren bevorzugten Ausführungsformen ist ein Bus für eine Interprozessorkommunikation, oder auch ein CAN-Modul, bei dem eine SW-Zuordnung, insbesondere der einzelnen ID(s), sinnvoll ist, da z.B. im System nicht genügend viele CAN Module vorhanden sind.In further preferred embodiments, there are also modules, for example, which can be separated from one another via software (SW) mechanisms, these modules being used, for example, by a number of partitions or applications. An example according to further preferred embodiments is e.g. Ethernet without using implemented queues, another example according to further preferred embodiments is a bus for interprocessor communication, or also a CAN module in which a SW assignment, in particular of the individual ID(s) , makes sense because, for example, there are not enough CAN modules in the system.

Bei weiteren bevorzugten Ausführungsformen wird daher vorgeschlagen:

  1. a) Diese Module, insbesondere im Startup (Hochfahren), durch ein Konfigurationstool so zu konfigurieren, dass die Randbedingungen aller Partitionen bzw. Applikationen, die diese Ressourcen nutzen, berücksichtigt werden,
  2. b) Bsp. CAN/Ethernet: Bandbreite und/oder Latenz aus der Anforderung wird so implementiert, dass die Anforderungen erfüllt werden - Aufteilung der Message ID auf die Queues der Module mit den entsprechenden zu vergebenden Prioritäten,
  3. c) Im laufenden Betrieb wird über den Partition Manager (SW, die in einem Rechte-Modus über den Partitionen bzw. Applikationen läuft) das Schreiben-/Lesen auf diese Ressourcen geregelt - hier gibt es bevorzugt mehrere Möglichkeiten, den Partition Manager aufzurufen - z.B. über einen Call oder auch über Trap/Emulate (es wird bewusst auf eine Ressource geschrieben, die gesperrt ist, und so der höhere Priviledge Level zur Lösung des Zugriffskonfliktes aufgerufen,
  4. d) Eine weitere Möglichkeit gemäß weiteren bevorzugten Ausführungsformen ist, das Schreiben und/oder Lesen über das Aufsetzen von DMA Kanälen im laufenden Betrieb zu regeln - diese DMA Kanäle werden dann z.B., bevorzugt nur, bei bestimmen Triggern aktiviert, und das Lesen und/oder Schreiben umfasst dann z.B. nur spezielle Ressourcen in dem Modul, und z.B. Schreiben-/Lesen der Daten dann von fest den einzelnen Partitionen zugeordneten Adressbereichen.
In further preferred embodiments it is therefore proposed:
  1. a) To configure these modules, in particular during startup, using a configuration tool in such a way that the boundary conditions of all partitions or applications that use these resources are taken into account,
  2. b) E.g. CAN/Ethernet: bandwidth and/or latency from the request is implemented in such a way that the requirements are met - allocation of the message ID to the queues of the modules with the corresponding priorities to be assigned,
  3. c) During operation, writing/reading to these resources is regulated via the Partition Manager (SW that runs in a rights mode via the partitions or applications) - here there are preferably several options for calling the Partition Manager - e.g via a call or via trap/emulate (a resource that is locked is deliberately written to and the higher privilege level is called up to solve the access conflict,
  4. d) A further possibility according to further preferred embodiments is to regulate the writing and/or reading by setting up DMA channels during operation—these DMA channels are then, for example, preferably only activated with specific triggers, and the reading and/or Writing then includes, for example, only special resources in the module, and then, for example, writing/reading the data from address areas permanently assigned to the individual partitions.

Bei weiteren bevorzugten Ausführungsformen wird daher vorgeschlagen: Zuordnen von Ressourcen (z.B. Peripherie-Modulen) der Vorrichtung bzw. Recheneinrichtung zu mehreren Partitionen bzw. Applikationen, wobei SW-Funktionen und HW-Funktionen genutzt werdenIn further preferred embodiments it is therefore proposed: allocation of resources (e.g. peripheral modules) of the device or computing device to a plurality of partitions or applications, with SW functions and HW functions being used

Weitere bevorzugte Ausführungsformen, vgl. 3F, beziehen sich auf ein Verfahren zur Steuerung eines technischen Systems, z.B. eines Fahrzeugs, bei dem eine Dienstgüte (QoS, Quality of Service) bzw. wenigstens eine die Dienstgüte charakterisierende Größe dazu verwendet wird, vgl. Schritt 130, Partitionen bzw. Applikation zumindest zeitweise voneinander zu trennen, also zu separieren.Further preferred embodiments, cf. 3F , relate to a method for controlling a technical system, for example a vehicle, in which a quality of service (QoS, Quality of Service) or at least one variable characterizing the quality of service is used, see step 130, partitions or application, at least temporarily separate from each other, i.e. separate.

Gemäß weiteren bevorzugten Ausführungsformen kann es in Vorrichtungen bzw. Systemen, in denen mehrere Applikationen gleichzeitig laufen können, insbesondere zur Erreichung gleicher Laufzeiten der Applikationen bzw. einer vorgebbaren Ressourcenverteilung (insbesondere unabhängig von anderen Applikationen) vorteilhaft sein, auch einen oder mehrere Busse mit zu berücksichtigen, die insbesondere für Datenübertragungen zwischen Komponenten nutzbar sind.According to further preferred embodiments, it can be advantageous in devices or systems in which several applications can run simultaneously, in particular to achieve the same runtimes of the applications or a definable distribution of resources (in particular independently of other applications), to also take into account one or more buses , which can be used in particular for data transmissions between components.

Da die Laufzeit von Applikationen bei weiteren bevorzugten Ausführungsformen durch mehrere Faktoren beeinflusst wird, können bei weiteren bevorzugten Ausführungsformen diese Faktoren auch einzeln oder in Kombination miteinander adressiert werden: - Core selber (Mechanismus Hypervisor), - Zugriff auf Speicher (QoS), - Zugriff auf Module im Rechner - wie SPI, Safety, ...Since the runtime of applications is influenced by a number of factors in further preferred embodiments, these factors can also be addressed individually or in combination with one another in further preferred embodiments: core itself (hypervisor mechanism), access to memory (QoS), access to Modules in the computer - such as SPI, Safety, ...

Gemäß weiteren bevorzugten Ausführungsformen wird vorgeschlagen, einen Mechanismus zur Separierung von Zugriffen auf Speicher, wie er z.B. bei Bussystemen bzw. Busarchitekturen der Vorrichtung bzw. der Recheneinrichtung vorgesehen sein kann, zur Separierung von Zugriffen auf die (Peripherie-)Module zu nutzen.According to further preferred embodiments, it is proposed to use a mechanism for separating accesses to memory, such as can be provided in bus systems or bus architectures of the device or the computing device, for separating accesses to the (peripheral) modules.

Bei weiteren bevorzugten Ausführungsformen stellt wenigstens eine Applikation, stellen bevorzugt mehrere bzw. alle Applikationen, eine Dienstgüte („QoS“), z.B. charakterisierbar durch Latenz und/oder Bandbreite, für wenigstens eine Peripheriekomponente bzw. wenigstens ein Peripheriemodul ein, vgl. den optionalen Schritt 132 gemäß 3F. Zum Beispiel:

  1. a) Applikation 1 stellt 15 Takte Latenz und 20 % Busbandbreite für Zugriffe bezüglich einer Peripheriekomponente ein,
  2. b) Applikation 2 stellt 40 Takte Latenz und 70 % Busbandbreite auf dieselbe Peripheriekomponente ein.
In further preferred embodiments, at least one application, preferably several or all applications, sets a quality of service (“QoS”), eg characterizable by latency and/or bandwidth, for at least one peripheral component or at least one peripheral module, see the optional step 132 according to 3F . For example:
  1. a) Application 1 sets a latency of 15 cycles and 20% bus bandwidth for access to a peripheral component,
  2. b) Application 2 sets 40 clocks latency and 70% bus bandwidth on the same peripheral component.

Mit anderen Worten kann bei weiteren bevorzugten Ausführungsformen eine Nutzung der QoS bzw. von QoS-Mechanismen (z.B. implementiert mittels Hardware) für eine Steuerung von Bandbreite und/oder Latenz einzelner Applikationen APP1 verwendet werden, insbesondere zur Trennung von Peripheriezugriffen (Zugriffen von Applikationen auf Peripheriemodule) und nicht auf Speicher, wobei insbesondere auch eine Nutzung zur deterministischen Trennung von Anwendungen und eine Reduktion des Aufwandes bei einer Implementierung von mehreren Anwendungen in einer Vorrichtung bzw. Recheneinrichtung, z.B. in einem Steuergerät, möglich ist.In other words, in other preferred embodiments, the QoS or QoS mechanisms (e.g. implemented using hardware) can be used to control the bandwidth and/or latency of individual applications APP1, in particular to separate peripheral access (application access to peripheral modules ) and not to memory, whereby in particular it can also be used for the deterministic separation of applications and to reduce the effort involved in implementing a number of applications in one device or computing device, e.g. in a control unit.

Bei weiteren bevorzugten Ausführungsformen ist vorgeschlagen, wenigstens einen Zähler zu nutzen, um eine Dienstgüte (QoS) zu emulieren, was gemäß weiteren bevorzugten Ausführungsformen insbesondere dann nützlich sein kann, wenn QoS nicht mittels Hardware realisierbar ist.In further preferred embodiments, it is proposed to use at least one counter to emulate a quality of service (QoS), which according to further preferred embodiments can be particularly useful when QoS cannot be implemented using hardware.

Bei weiteren bevorzugten Ausführungsformen wird vorgeschlagen, einen oder mehrere QoS-Mechanismen zu emulieren (vgl. auch Block 1320 gemäß 4C) , z.B. mittels wenigstens eines der folgenden Elemente: a) Zähler für Latenz und/oder Bandbreite werden implementiert, vgl. z.B. die Bezugszeichen Z1-LAT, Z1-BB, Z2-LAT, Z2-BB gemäß 4D, b) auf einem hohen Prioritätslevel (z.B. oberhalb von Applikationen) wertet eine Software SW-K diese Zähler aus.In further preferred embodiments it is proposed to emulate one or more QoS mechanisms (cf. also block 1320 according to 4C ), eg by means of at least one of the following elements: a) Counters for latency and/or bandwidth are implemented, cf. eg the reference symbols Z1-LAT, Z1-BB, Z2-LAT, Z2-BB according to FIG 4D, b ) at a high priority level (e.g. above applications) software SW-K evaluates these counters.

Eine mögliche Implementierung gemäß weiteren bevorzugten Ausführungsformen sieht z.B. vor: es werden pro Bus x * 2 viele Register (z.B. 32 Bit breit) als Counter (Zähler) implementiert, wobei x eine Anzahl der zu unterstützenden Partitionen charakterisiert, und bevorzugt werden in dem bzw. den Register(n) pro Takt Zugriffe der jeweiligen zugeordneten Applikation gezählt. Weiter bevorzugt wird z.B. alle z ms der Zählerwert mit einem erwarteten Zählerwert verglichen, und wenn der Zählerwert größer als der erwartete Zählerwert ist, wird die Applikation und z.B. der Partition Manager informiert, insbesondere um eine Ersatzmaßnahme einzuleiten.A possible implementation according to further preferred embodiments provides, for example: per bus x * 2 many registers (e.g. 32 bits wide) are implemented as counters, where x characterizes a number of the partitions to be supported, and preference is given to the counts the register(s) per clock access of the respective assigned application. More preferably, for example, the counter value is compared with an expected counter value every z ms, and if the counter value is greater than the expected counter value, the application and, for example, the partition manager are informed, in particular in order to initiate an alternative measure.

Bei weiteren bevorzugten Ausführungsformen kann - je nach Typ der Vorrichtung 200 bzw. Steuerung bzw. je nach dem Typ des Zielsystems 1 für die Vorrichtung bzw. Steuerung - ein zeitsynchrones Raster bzw. ein winkelsynchrones Raster (z.B. bezüglich einer Umdrehung einer Kurbelwelle einer Brennkraftmaschine) verwendet werden, insbesondere für die vorstehend beispielhaft beschriebene QoS-Emulation mittels Zähler(n).In further preferred embodiments--depending on the type of device 200 or controller or depending on the type of target system 1 for the device or controller--a time-synchronous grid or an angle-synchronous grid (e.g. with respect to one revolution of a crankshaft of an internal combustion engine) can be used in particular for the QoS emulation described above by way of example using counter(s).

Bei weiteren bevorzugten Ausführungsformen wird bei jedem Anliegen einer Aktion auf dem Bus mit einer (insbesondere vorgebbaren) Partition ID ein Zähler um einen vorgebbaren Wert, z.B. eins, erhöht, wodurch z.B. ein eine Bandbreite charakterisierendes Maß ermittelbar ist.In further preferred embodiments, each time an action is pending on the bus with a (particularly predeterminable) partition ID, a counter is incremented by a predeterminable value, e.g. one, as a result of which a measure characterizing a bandwidth can be determined, for example.

Bei weiteren bevorzugten Ausführungsformen werden ab einem Request (Anfrage) am Bus einer (insbesondere vorgebbaren) Partition die Takte gezählt, bis die Partition den Bus (-Zugriff erteilt) bekommt. Sofern z.B. die gezählte Anzahl Takte geringer ist als eine vorgebbare Latenz ist es o.k. - falls der Wert der gezählten Takte größer ist als die vorgebbare Latenz kann dies bei weiteren bevorzugten Ausführungsformen gespeichert werden und z.B. am Ende des eingestellten Zeitintervalls kann ausgelesen werden, ob die Latenz in dem betrachteten Zeitintervall jemals größer als die voreingestellte Zeit war, und optional, wenn ja, um wieviel höher.In further preferred embodiments, starting with a request (request) on the bus of a (particularly specifiable) partition, the clock pulses are counted until the partition gets the bus (access granted). If, for example, the counted number of clocks is less than a specified latency, it is o.k. - if the value of the counted clock pulses is greater than the specifiable latency, this can be stored in further preferred embodiments and e.g. at the end of the set time interval it can be read out whether the latency in the considered time interval was ever larger than the preset time, and optionally, if so, by how much higher.

Bei weiteren bevorzugten Ausführungsformen ist alternativ oder ergänzend ein z.B. voreingestelltes, automatisches Vergleichen mittels Hardware und/oder ein Auslösen eines Interrupts möglich.In further preferred embodiments, a preset, automatic comparison using hardware and/or the triggering of an interrupt is possible as an alternative or in addition.

Bei weiteren bevorzugten Ausführungsformen können an wenigstens einem Bus der Vorrichtung bzw. Recheneinrichtung ein oder mehrere Zähler vorgesehen werden.In further preferred embodiments, one or more counters can be provided on at least one bus of the device or computing device.

Bei weiteren bevorzugten Ausführungsformen können die Zähler zusammen mit entsprechender Software (und/oder Hardware) z.B. zur Bewertung einer eingehaltenen zugeteilten Bandbreite und/oder einer (eingehaltenen) Latenz verwendet werden.In further preferred embodiments, the counters can be used in conjunction with appropriate software (and/or hardware) to evaluate, for example, a met allocated bandwidth and/or (meshed) latency.

Weitere bevorzugte Ausführungsformen, vgl. 3G, beziehen sich auf ein Verfahren und eine Vorrichtung zur Steuerung eines technischen Systems, z.B. eines Fahrzeugs, bei dem eine Speicherschutzeinrichtung (MPU) vorgesehen wird wobei die Speicherschutzeinrichtung insbesondere dazu verwendet wird, vgl. Schritt 135, Zugriffsrechte bezüglich wenigstens eines Bussystems der Vorrichtung 200 bzw. Recheneinrichtung 202 einzuschränken.Further preferred embodiments, cf. 3G , relate to a method and a device for controlling a technical system, e.g. a vehicle, in which a memory protection device (MPU) is provided, the memory protection device being used in particular for this purpose, cf. step 135, access rights with regard to at least one bus system of device 200 or , computing device 202 .

Ein Vorteil eines Betriebs von mehreren Applikationen auf einer Vorrichtung bzw. Recheneinrichtung gemäß weiteren bevorzugten Ausführungsformen ist eine kurze Latenz eines Datenaustauschs und eine hohe Bandbreite des Austauschs wodurch z.B. Regler in geringeren als bei konventionellen Systemen vorgegebenen Zeitrastern gerechnet werden können, da die Daten aus den anderen Anwendungen vergleichsweise schnell zur Verfügung stehen.An advantage of operating several applications on one device or computing device according to further preferred embodiments is a short latency of data exchange and a high bandwidth of the exchange, which means that controllers, for example, can be calculated in shorter time frames than specified in conventional systems, since the data from the other Applications are available relatively quickly.

Bei weiteren bevorzugten Ausführungsformen wird, um dies zu ermöglichen und insbesondere sicherzustellen, dass sich mehrere Anwendungen nicht unzulässig gegenseitig beeinflussen, vorgeschlagen, eine MPU innerhalb der Recheneinrichtung oder außerhalb der Recheneinrichtung, z.B. im Bereich des Bussystems, dazu zu nutzen, Zugriffsrechte einzuschränken.In further preferred embodiments, in order to make this possible and in particular to ensure that multiple applications do not impermissibly influence one another, it is proposed to use an MPU within the computing device or outside of the computing device, e.g. in the area of the bus system, to restrict access rights.

Bei weiteren bevorzugten Ausführungsformen kann beispielhaft folgender Ablauf verwendet werden: Es ist z.B. eine Core-externe MPU vorgesehen, z.B. in einem Businterface, wobei zwei Applikationen vorgesehen sind, von denen jede auf einem Core läuft.In further preferred embodiments, the following sequence can be used as an example: A core-external MPU is provided, e.g. in a bus interface, with two applications being provided, each of which runs on a core.

Bei weiteren bevorzugten Ausführungsformen kann die MPU so konfiguriert werden, z.B. bei einem Systemstart, dass in dem jeweils dem anderen Core zugeordneten lokalen Speicher Regionen zum Schreiben zugewiesen werden, und in dem eigenen Speicher Regionen zum Lesen freigegeben. Damit kann dann z.B. jede Applikation die Daten des anderen Core lesen und ihm per Schreiben lokal Daten zur Verfügung stellen, insbesondere ohne dass andere (Speicher-)Bereiche überschrieben werden können.In further preferred embodiments, the MPU can be configured in such a way, e.g. during a system start, that regions in the local memory assigned to the other core are allocated for writing and regions in its own memory are released for reading. This means that each application can then, for example, read the data of the other core and write data to it locally, in particular without other (memory) areas being overwritten.

Bei weiteren bevorzugten Ausführungsformen ist demnach vorgeschlagen: ein Verfahren zur Nutzung einer Speicherbereichszuweisung mittels MPU zur Absicherung eines deterministischen Datenaustauschs zwischen mehreren auf der Recheneinrichtung bzw. der Vorrichtung laufenden Applikationen.In further preferred embodiments, the following is therefore proposed: a method for using a memory area allocation by means of an MPU to ensure a deterministic data exchange between a number of applications running on the computing device or the device.

Bei weiteren bevorzugten Ausführungsformen ist demnach vorgeschlagen: ein Verfahren zur Sicherstellung von deterministischen Speicherzugriffen und/oder Datenaustauschen unterschiedlicher Applikationen unter Verwendung wenigstens einer MPU. Besonders bevorzugt ist „deterministisch“ in diesem Zusammenhang auf das Applikationstiming (also das zeitliche Verhalten der Applikation(en)) bezogen, und insbesondere nicht auf eine konkrete Anzahl von Zyklen für einen Zugriff auf die jeweiligen Ressourcen.In other preferred embodiments, the following is therefore proposed: a method for ensuring deterministic memory accesses and/or data exchanges between different applications using at least one MPU. In this context, “deterministic” is particularly preferably related to the application timing (ie the temporal behavior of the application(s)), and in particular not to a specific number of cycles for accessing the respective resources.

Weitere bevorzugte Ausführungsformen, vgl. 3H, beziehen sich auf ein Verfahren und eine Vorrichtung zur Steuerung eines technischen Systems, z.B. eines Fahrzeugs, bei dem wenigstens eine Hardware-Beschleunigereinheit HSM (2) verwendet wird, um ein Hochfahren („Startup“) des Systems bzw. der Vorrichtung 200 zu beschleunigen.Further preferred embodiments, cf. 3H , relate to a method and a device for controlling a technical system, for example a vehicle, in which at least one hardware accelerator unit HSM ( 2 ) is used to speed up a startup of the system or device 200 .

In modernen (insbesondere automotive) Systemen kommt es vor, dass eine bestehende Software einer Vorrichtung durch andere SW ausgetauscht wird („Tuning“), um z.B. mehr Leistung in der Anwendung zur Verfügung zu haben (Beispiel mehr Leistung, PS). Eine Methode, dies zu erkennen und ggf. zu verhindern, schlägt vor, dass beim Booten (Starten bzw. Hochfahren) des Systems der Software-Code vorher daraufhin überprüft wird, ob es der Code ist, der tatsächlich ausgeführt werden soll, oder ob der Code manipuliert worden ist, beispielsweise im Rahmen einer Tuning-Maßnahme.In modern (particularly automotive) systems, it happens that the existing software of a device is replaced by other software (“tuning”), e.g. to have more power available in the application (e.g. more power, PS). One method of detecting and, if necessary, preventing this is to check the software code before booting (starting or booting up) the system to see whether it is the code that is actually supposed to be executed or whether the Code has been manipulated, for example as part of a tuning measure.

Ein Verfahren gemäß weiteren bevorzugten Ausführungsformen, um den SW-Code zu prüfen, sieht vor, wenigstens eine Checksumme (Prüfsumme) über einen vorgebbaren Speicherbereich bzw. den (insbesondere gesamten) Speicher zu ermitteln bzw. zu rechnen. Ein Problem dabei kann sein, dass die Ermittlung bzw. Rechnung der Prüfsumme vergleichsweise lange dauert, und so der Boot-Vorgang verlängert wird. Bei weiteren bevorzugten Ausführungsformen sollte ein Boot-Vorgang z.B. in 30 ms - 100 ms abgeschlossen sein. Durch die Checksummenberechnung kann jedoch u.U. eine signifikante Anzahl von Millisekunden dazukommen.A method according to further preferred embodiments for checking the SW code provides for determining or calculating at least one checksum (checksum) over a predefinable memory area or the (in particular entire) memory. A problem can be that the determination or calculation of the checksum takes a comparatively long time, which means that the boot process is lengthened. In further preferred embodiments, a boot process should be completed in 30 ms - 100 ms, for example. However, the checksum calculation may add a significant number of milliseconds.

Daher wird bei weiteren bevorzugten Ausführungsformen vorgeschlagen, wenigstens eine Hardware-Beschleunigereinheit HSM vorzusehen und zur Berechnung der Prüfsumme(n) zu verwenden („HW Checksummenbeschleuniger “). Bei weiteren bevorzugten Ausführungsformen können auch mehrere Hardware-Beschleunigereinheiten vorgesehen werden, die ggf. jeweils einen Teil des zu prüfenden Speichers bearbeiten bzw. für den entsprechenden Teil eine Prüfsumme bilden. Weiter bevorzugt erfolgt die Berechnung der Checksumme mittels der wenigstens einen Hardware-Beschleunigereinheit vor einem Start der Applikation(en) APP1, APP2, APP3.It is therefore proposed in further preferred embodiments to provide at least one hardware accelerator unit HSM and to calculation of the checksum(s) ("HW Checksum Accelerator"). In further preferred embodiments, a plurality of hardware accelerator units can also be provided which, if necessary, each process a part of the memory to be checked or form a checksum for the corresponding part. More preferably, the checksum is calculated using the at least one hardware accelerator unit before starting the application(s) APP1, APP2, APP3.

Bei weiteren bevorzugten Ausführungsformen können Hardware-Beschleunigereinheiten auch unterschiedlichen Partitionen bzw. Applikationen zugeordnet werden.In further preferred embodiments, hardware accelerator units can also be assigned to different partitions or applications.

Weitere bevorzugte Ausführungsformen, vgl. 3I, beziehen sich auf ein Verfahren und eine Vorrichtung 200 zur Steuerung eines technischen Systems 1, z.B. eines Fahrzeugs 1, bei dem in wenigstens einem Hardware-Modul 208 bzw. einer Peripheriekomponente ein Mechanismus, bevorzugt im Interface (Schnittstelle) des Moduls 208, implementiert wird, vgl. Schritt 150 gemäß 3I, mittels dem Aufträge von mehreren Partitionen bzw. Applikationen APP1, APP2, APP3 platziert werden können, die insbesondere jeweils von anderen Partitionen bzw. Applikationen nicht überschrieben oder beeinflusst werden können. Bei weiteren bevorzugten Ausführungsformen kann der Mechanismus auch als „Transfer Window(s)“ bezeichnet werden.Further preferred embodiments, cf. 3I , relate to a method and a device 200 for controlling a technical system 1, for example a vehicle 1, in which a mechanism, preferably in the interface (interface) of the module 208, is implemented in at least one hardware module 208 or a peripheral component , cf. step 150 according to 3I , by means of which orders from several partitions or applications APP1, APP2, APP3 can be placed, which in particular cannot be overwritten or influenced by other partitions or applications. In further preferred embodiments, the mechanism can also be referred to as “transfer window(s)”.

Bei weiteren bevorzugten Ausführungsformen ist das HW-Modul (bzw. eine Steuerung des Moduls wie z.B. ein Mikrocontroller des Moduls) bzw. die Peripheriekomponente dazu ausgebildet, diese Aufträge gemäß einer vorgegebenen Regel, z.B. in einem Round Robin Verfahren, abzuarbeiten, wodurch vorteilhaft für die (externen) Applikationen ein deterministisches Zeitverhalten dargestellt wird.In further preferred embodiments, the HW module (or a controller of the module such as a microcontroller of the module) or the peripheral component is designed to process these orders according to a predetermined rule, e.g. in a round robin process, which is advantageous for the (external) applications a deterministic time behavior is shown.

Weitere bevorzugte Ausführungsformen sehen eine Implementierung von Transfer Windows in wenigstens einem HW-Modul mit wenigstens einem der folgenden Aspekte vor:

  1. a) Der Adressbereich des Transfer Window kann wahlweise verschiedenen Applikationen/Partitionen zugeordnet werden,
  2. b) In dem Modul werden, z.B. mittels SW, nach einem vorgebbaren Verfahren, z.B. einem Round-Robin-Verfahren, die Aufgaben abgearbeitet.
Further preferred embodiments provide for an implementation of Transfer Windows in at least one HW module with at least one of the following aspects:
  1. a) The address range of the transfer window can be assigned to different applications/partitions,
  2. b) The tasks are processed in the module, for example by means of software, according to a predefinable method, for example a round-robin method.

Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen und/oder des computerlesbaren Speichermediums gemäß den Ausführungsformen und/oder des Computerprogramms gemäß den Ausführungsformen und/oder des Datenträgersignals gemäß den Ausführungsformen für wenigstens eines der folgenden Elemente: a) Ermöglichen eines deterministischen Laufzeitverhaltens wenigstens mancher, bevorzugt aller, Anwendungen der Vorrichtung, b) Vermeidung einer neuen Homologation für eine erste Anwendung, insbesondere bei dem Verändern wenigstens einer weiteren Anwendung.Further preferred embodiments relate to use of the method according to the embodiments and/or the device according to the embodiments and/or the computer-readable storage medium according to the embodiments and/or the computer program according to the embodiments and/or the data carrier signal according to the embodiments for at least one of the following elements: a) enabling a deterministic runtime behavior of at least some, preferably all, applications of the device, b) avoidance of a new homologation for a first application, in particular when changing at least one further application.

Claims (13)

Verfahren, beispielsweise computerimplementiertes Verfahren, zum Betreiben einer Vorrichtung (200) zur Steuerung eines technischen Systems (1), insbesondere eines Kraftfahrzeugs bzw. für ein Kraftfahrzug (1), aufweisend: Verwenden (130; 1300) einer Dienstgüte, QoS, Quality of Service (DG), und/oder wenigstens einer die Dienstgüte charakterisierenden Größe (DG-CG), beispielsweise um Partitionen bzw. Applikationen zumindest zeitweise voneinander zu trennen, wobei beispielsweise wenigstens eine Applikation (APP1) eine Dienstgüte (DG), z.B. charakterisierbar durch Latenz und/oder Bandbreite, für wenigstens eine Peripheriekomponente (208) einstellt (132).Method, for example computer-implemented method, for operating a device (200) for controlling a technical system (1), in particular a motor vehicle or for a motor vehicle (1), comprising: using (130; 1300) a quality of service, QoS, quality of service (DG), and/or at least one variable (DG-CG) characterizing the quality of service, for example in order to separate partitions or applications from one another at least temporarily, with at least one application (APP1) having a quality of service (DG), e.g. characterizable by latency and /or bandwidth for at least one peripheral component (208) (132). Verfahren nach Anspruch 1, weiter aufweisend: Trennen (1302) von Zugriffen von Partitionen (PART1, PART2) bzw. Applikationen (APP1, APP2) auf die wenigstens eine Peripheriekomponente (208) basierend auf der Dienstgüte (DG) und/oder der wenigstens einen die Dienstgüte charakterisierenden Größe (DG-CG).procedure after claim 1 , further comprising: separating (1302) accesses from partitions (PART1, PART2) or applications (APP1, APP2) to the at least one peripheral component (208) based on the quality of service (DG) and/or the at least one variable characterizing the quality of service (DG-CG). Verfahren nach wenigstens einem der vorstehenden Ansprüche, weiter aufweisend: Vorgeben (1310) einer ersten Dienstgüte (DG1) für eine erste Peripheriekomponente (208a), Vorgeben (1311) einer zweiten Dienstgüte (DG2) für eine zweite Peripheriekomponente (208b).Method according to at least one of the preceding claims, further comprising: specifying (1310) a first quality of service (DG1) for a first peripheral component (208a), specifying (1311) a second quality of service (DG2) for a second peripheral component (208b). Verfahren nach Anspruch 3, wobei das Vorgeben (1310) der ersten Dienstgüte (DG1) bezüglich einer Bandbreite und/oder einer Latenz erfolgt, und/oder wobei das Vorgeben (1311) der zweiten Dienstgüte (DG2) bezüglich einer Bandbreite und/oder einer Latenz erfolgt.procedure after claim 3 , wherein the specification (1310) of the first quality of service (DG1) takes place with regard to a bandwidth and/or a latency, and/or wherein the specification (1311) of the second quality of service (DG2) takes place with regard to a bandwidth and/or a latency. Verfahren nach wenigstens einem der vorstehenden Ansprüche, weiter aufweisend: Emulieren (1320) der Dienstgüte (DG; DG1, DG2) und/oder der wenigstens einen die Dienstgüte charakterisierenden Größe (DG-CG) mittels wenigstens eines Zählers (Z1; Z1-LAT, Z1-BB, Z2-LAT, Z2-BB), und/oder Verwenden (1322) einer hardwarebasierten Verwaltung (VW-DG-HW) der Dienstgüte (DG) bzw. der die Dienstgüte charakterisierenden Größe (DG-CG).Method according to at least one of the preceding claims, further comprising: emulating (1320) the quality of service (DG; DG1, DG2) and/or the at least one variable (DG-CG) characterizing the quality of service by means of at least one counter (Z1; Z1-LAT, Z1-BB, Z2-LAT, Z2-BB), and/or using (1322) hardware-based management (VW-DG-HW) of the quality of service (DG) or of the quantity characterizing the quality of service (DG-CG). Verfahren nach wenigstens einem der vorstehenden Ansprüche, weiter aufweisend wenigstens eines der folgenden Elemente: a) Verwenden (1330) wenigstens eines ersten Zählers (Z1-LAT) für eine mit einer ersten Peripheriekomponente (208a) assoziierte Latenz, b) Verwenden (1331) eines zweiten Zählers (Z1-BB) für eine mit der ersten Peripheriekomponente (208a) assoziierte Bandbreite, c) Verwenden (1332) wenigstens eines dritten Zählers (Z2-LAT) für eine mit einer zweiten Peripheriekomponente (208b) assoziierte Latenz, d) Verwenden (1333) eines vierten Zählers (Z2-BB) für eine mit der zweiten Peripheriekomponente (208b) assoziierte Bandbreite.Method according to at least one of the preceding claims, further comprising at least one of the following elements: a) using (1330) at least one first counter (Z1-LAT) for a latency associated with a first peripheral component (208a), b) using (1331) a second counter (Z1-BB) for a bandwidth associated with the first peripheral component (208a), c) using (1332) at least one third counter (Z2-LAT) for a latency associated with a second peripheral component (208b), d) using ( 1333) of a fourth counter (Z2-BB) for a bandwidth associated with the second peripheral component (208b). Verfahren nach wenigstens einem der Ansprüche 5 bis 6, aufweisend: Auswerten (1340) des wenigstens einen Zählers (Z1; Z1-LAT, Z1-BB, Z2-LAT, Z2-BB), beispielsweise durch eine Softwarekomponente (SW-K) und/oder eine Hardwarekomponente (HW-K), wobei beispielsweise die Softwarekomponente (SW-K) eine höhere Priorität bezüglich der Ausführung durch die Recheneinrichtung (202) aufweist als wenigstens eine Applikation (APP1), und, optional, Betreiben bzw. Weiterbetreiben (1342) der Vorrichtung (200) bzw. wenigstens einer Applikation (APP1) der Vorrichtung (200) basierend auf dem wenigstens einen Zähler (Z1; Z1-LAT, Z1-BB, Z2-LAT, Z2-BB).Method according to at least one of Claims 5 until 6 , comprising: evaluating (1340) the at least one counter (Z1; Z1-LAT, Z1-BB, Z2-LAT, Z2-BB), for example by a software component (SW-K) and/or a hardware component (HW-K) , wherein, for example, the software component (SW-K) has a higher priority with regard to execution by the computing device (202) than at least one application (APP1), and, optionally, operating or continuing to operate (1342) the device (200) or at least an application (APP1) of the device (200) based on the at least one counter (Z1; Z1-LAT, Z1-BB, Z2-LAT, Z2-BB). Verfahren nach wenigstens einem der Ansprüche 5 bis 7, aufweisend: Vergleichen (1350) eines Zählerwerts (ZW1) des wenigstens einen Zählers (Z1) mit einem Vergleichswert (VW1), und, falls der Zählerwert (ZW1) größer ist als der Vergleichswert (VW1), Signalisieren (1352), beispielsweise des Überschreitens des Vergleichswerts (VW1), an die wenigstens eine Applikation (APP1) und/oder eine mit der wenigstens einen Applikation (APP1) assoziierte Partition (PART1).Method according to at least one of Claims 5 until 7 , comprising: comparing (1350) a counter value (ZW1) of the at least one counter (Z1) with a comparison value (VW1), and, if the counter value (ZW1) is greater than the comparison value (VW1), signaling (1352), for example the exceeding the comparison value (VW1), to the at least one application (APP1) and/or a partition (PART1) associated with the at least one application (APP1). Vorrichtung (200) zur Ausführung des Verfahrens nach wenigstens einem der vorstehenden Ansprüche ausgebildet ist.Device (200) for carrying out the method according to at least one of the preceding claims. Computerlesbares Speichermedium (SM), umfassend Befehle (PRG), die bei der Ausführung durch einen Computer (202) diesen veranlassen, das Verfahren nach wenigstens einem der Ansprüche 1 bis 8 auszuführen.Computer-readable storage medium (SM), comprising instructions (PRG) which, when executed by a computer (202), cause it to carry out the method according to at least one of the Claims 1 until 8th to execute. Computerprogramm (PRG), umfassend Befehle, die bei der Ausführung des Programms (PRG) durch einen Computer (202) diesen veranlassen, das Verfahren nach wenigstens einem der Ansprüche 1 bis 8 auszuführen.Computer program (PRG), comprising instructions that cause the execution of the program (PRG) by a computer (202) this, the method according to at least one of Claims 1 until 8th to execute. Datenträgersignal (DCS), das das Computerprogramm (PRG) nach Anspruch 11 überträgt und/oder charakterisiert.Disk signal (DCS) that the computer program (PRG) looks for claim 11 transmits and/or characterizes. Verwendung des Verfahrens nach wenigstens einem der Ansprüche 1 bis 8 und/oder der Vorrichtung (200) nach Anspruch 9 und/oder des computerlesbaren Speichermediums (SM) nach Anspruch 10 und/oder des Computerprogramms (PRG) nach Anspruch 11 und/oder des Datenträgersignals (DCS) nach Anspruch 12 für wenigstens eines der folgenden Elemente: a) Ermöglichen eines deterministischen Laufzeitverhaltens wenigstens mancher, bevorzugt aller, Anwendungen (APP1, APP2, APP3) der Vorrichtung (200), b) Vermeidung einer neuen Homologation für eine erste Anwendung (APP1), insbesondere bei dem Verändern wenigstens einer weiteren Anwendung (APP2), c) deterministische Trennung von Anwendungen (APP1, APP2), beispielsweise bezüglich Zugriffen auf die wenigstens eine Peripheriekomponente (208).Use of the method according to at least one of Claims 1 until 8th and/or the device (200). claim 9 and/or the computer-readable storage medium (SM). claim 10 and/or the computer program (PRG). claim 11 and/or the data carrier signal (DCS). claim 12 for at least one of the following elements: a) enabling a deterministic runtime behavior of at least some, preferably all, applications (APP1, APP2, APP3) of the device (200), b) avoiding a new homologation for a first application (APP1), in particular in the Changing at least one further application (APP2), c) deterministic separation of applications (APP1, APP2), for example with regard to access to the at least one peripheral component (208).
DE102020213371.9A 2020-10-22 2020-10-22 Device and method for controlling a technical system Pending DE102020213371A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020213371.9A DE102020213371A1 (en) 2020-10-22 2020-10-22 Device and method for controlling a technical system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020213371.9A DE102020213371A1 (en) 2020-10-22 2020-10-22 Device and method for controlling a technical system

Publications (1)

Publication Number Publication Date
DE102020213371A1 true DE102020213371A1 (en) 2022-04-28

Family

ID=81076897

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020213371.9A Pending DE102020213371A1 (en) 2020-10-22 2020-10-22 Device and method for controlling a technical system

Country Status (1)

Country Link
DE (1) DE102020213371A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014019531A1 (en) 2014-12-23 2016-06-23 Liebherr-Aerospace Lindenberg Gmbh Method for operating an aircraft control component and control component

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014019531A1 (en) 2014-12-23 2016-06-23 Liebherr-Aerospace Lindenberg Gmbh Method for operating an aircraft control component and control component

Similar Documents

Publication Publication Date Title
DE68920929T2 (en) Timer channel with multiple timer reference features.
DE68924810T2 (en) Timer channel for use in a multi-channel time system.
DE102017214068B4 (en) Method, device and computer program for dynamic resource allocation in a multiprocessor computer system
DE68915074T2 (en) Integrated timer circuit with several channels and assigned operating processor.
DE102014002181B4 (en) Chip and method of operating a chip
DE68922545T2 (en) Assigned service processor with transmission options between channels.
DE102013113262A1 (en) Trigger-routing unit
WO2021122734A1 (en) Method and device for operating a computing device
DE102020213378A1 (en) Device and method for controlling a technical system
WO2021213821A1 (en) Device and method for controlling a technical system
EP3186710B1 (en) Microcontroller system and method for safety-critical motor vehicle systems and the use thereof
DE102020213371A1 (en) Device and method for controlling a technical system
DE102020213372A1 (en) Device and method for controlling a technical system
DE102020213373A1 (en) Device and method for controlling a technical system
DE102020213370A1 (en) Device and method for controlling a technical system
DE102020213377A1 (en) Device and method for controlling a technical system
DE102020213369A1 (en) Device and method for controlling a technical system
DE102020213374A1 (en) Device and method for controlling a technical system
DE102020213375A1 (en) Device and method for controlling a technical system
WO2011134762A1 (en) Coprocessor having task sequence control
DE102017209856A1 (en) Arithmetic unit and operating method for this
DE112013007143T5 (en) Computer system and control method
DE102020116959A1 (en) WATCHDOG CIRCUIT, CIRCUIT, SYSTEM-ON-CHIP, METHOD FOR OPERATING A WATCHDOG CIRCUIT, METHOD FOR OPERATING A CIRCUIT AND METHOD FOR OPERATING A SYSTEM-ON-CHIP
DE102007018777A1 (en) Control device for vehicles
DE102009009730B4 (en) Local timer cell its use and method of operating a module

Legal Events

Date Code Title Description
R163 Identified publications notified