WO2024120588A1 - Control system and vehicle - Google Patents

Control system and vehicle Download PDF

Info

Publication number
WO2024120588A1
WO2024120588A1 PCT/DE2023/200233 DE2023200233W WO2024120588A1 WO 2024120588 A1 WO2024120588 A1 WO 2024120588A1 DE 2023200233 W DE2023200233 W DE 2023200233W WO 2024120588 A1 WO2024120588 A1 WO 2024120588A1
Authority
WO
WIPO (PCT)
Prior art keywords
control system
designed
hardware
hypervisor
circuit component
Prior art date
Application number
PCT/DE2023/200233
Other languages
German (de)
French (fr)
Inventor
Jürgen Leimbach
Harald Dittmann
Original Assignee
Continental Automotive Technologies GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Continental Automotive Technologies GmbH filed Critical Continental Automotive Technologies GmbH
Publication of WO2024120588A1 publication Critical patent/WO2024120588A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Definitions

  • the invention relates to a control system comprising hardware and at least one freely programmable circuit component, which has a plurality of freely programmable logic gates which can be programmed separately from one another, and a hypervisor for managing the hardware.
  • the invention further relates to a vehicle.
  • Modern and future vehicles are increasingly equipped with a variety of electronically controlled functions, which place increased demands on the control systems.
  • existing functions such as on-board computers, anti-lock braking systems, traction control systems, etc.
  • a variety of other functions will be implemented in future vehicles, such as electronic copilots, parking assistance, etc., which, however, have very different requirements in terms of their safety or availability.
  • Systems operated by AI artificial intelligence in particular are computationally intensive and require high capacities.
  • FPGAs are often used in vehicles for this purpose.
  • FPGAs make it possible to achieve almost the speed of digital hardware with a software-programmable chip.
  • FPGA Field Programmable Gate Array
  • An FPGA chip contains a large number of logic gates with variable, specifiable logic functionality.
  • the logic functionality is usually referred to as Lookup table (LUT) is implemented.
  • LUT Lookup table
  • the logical value of a connection is determined by looking up a bit in a table. By appropriately pre-assigning the table, any n-bit logic function for a small n can be represented.
  • an FPGA chip also has resources for routing the logic signals. They are required so that the input and output values of the gates can reach other locations on the chip.
  • DE 10 2019 208939 A1 discloses a vehicle electric control device comprising two or more FPGAs each receiving information from the sensor, a non-volatile memory holding a bit stream for determining a configuration for the FPGA, an MCU (micro control unit) incorporating two or more non-volatile memories, each having a program code for calculating the control command installed therein, and an error control module outputting an error signal to the outside at a time when an abnormality occurs in at least the FPGA and/or the non-volatile memory incorporated in the MCU; wherein the non-volatile memory holding the bit stream and the non-volatile memory incorporated in the MCU are accessible from the outside.
  • MCU micro control unit
  • DE 10 2012 213362 A1 discloses a device for implementing a control system with high availability and/or integrity, in particular in vehicles, comprising: a data processing unit for processing data, a storage unit for providing the data for the data processing unit, and a network connection unit for connecting the data processing unit to a network via a plurality of ports, wherein the data processing unit has a programmable circuit, in particular FPGA, with a freely programmable area and a boot manager, wherein the boot manager configures at least one soft core in the freely programmable area for implementing at least one data processing subunit. It is therefore an object of the invention to provide an improved control system and an improved vehicle.
  • a control system having hardware and at least one freely reprogrammable circuit component which has a plurality of freely programmable logic gates which are programmable separately from one another, further comprising a hypervisor for managing the hardware, wherein the hypervisor has a distinguished partition with a system manager which is designed to dynamically configure the freely programmable circuit component during the runtime of the control system, so that applications can be run independently of the hardware, wherein the applications can be controlled by the hypervisor on the programmable logic gates configured by the system manager.
  • Hardware can be, for example, the CPU, memory, GPU, etc.
  • the hypervisor serves as an abstract layer between the actual hardware and the installed operating systems to separate the systems from each other and allows the parallel operation of several different operating systems on the same computer.
  • the circuit component can, for example, be an FPGA, in which the existing logic is divided into areas that can be programmed separately.
  • the hypervisor has a designated partition with a system manager which is designed to manage the freely reprogrammable circuit component, ie to configure the large number of freely programmable and interconnectable logic gates of the circuit component. This means that the system manager can change the partitions, for example the interconnections of the logic gates, dynamically during operation.
  • control system according to the invention with the system manager according to the invention allows the resources required for the applications to be changed dynamically at runtime by changing the configuration of the circuit component. This allows time-critical and computationally intensive applications to be implemented safely and quickly according to their priority, for example.
  • the control system according to the invention enables the at least one freely programmable circuit component to be used optimally during runtime.
  • the control system according to the invention adapts to the individual situations, including the programming of the hardware and the freely reprogrammable circuit component. This means that hardware and freely programmable circuit components can be saved. The existing freely reprogrammable circuit component can be used optimally.
  • Such a circuit component managed by the system manager, dynamically adaptable during runtime, freely reprogrammable, can be used for many applications in the high-performance area. Due to the dynamic adaptation during the journey and the reprogramming of the circuit component in a few milliseconds, the control system according to the invention can be used in vehicles in particular.
  • the freely reprogrammable circuit component is designed as an FPGA (Field Programmable Gate Array).
  • the hypervisor is designed to manage at least two operating systems on the hardware with corresponding applications and to allocate the corresponding hardware to them. The hypervisor allows the operating systems to run in parallel and independently of each other on the same hardware.
  • the hypervisor is designed in particular to separate the hardware and to assign the separations to the at least two operating systems and to regulate the access rights of the at least two operating systems on the assigned separations.
  • the hardware comprises a memory unit, wherein the memory unit comprises a plurality of possible configurations for the freely programmable circuit component.
  • the configurations can be designed as a bit stream, i.e. the configuration is stored as executable code (binary file) in the storage unit.
  • the freely reprogrammable circuit component is designed to load the configuration transmitted by the system manager as executable code from the memory unit and execute it. This allows for quick reprogramming.
  • the codes can be designed to arrange the logic gates in such a way that a convolution application, for example for a convolutional neural network (CNN) or another machine learning method, can be carried out quickly.
  • a convolution application for example for a convolutional neural network (CNN) or another machine learning method
  • CNN convolutional neural network
  • the system manager is also designed to partially reprogram some logic gates during runtime. This means that the system manager dynamically partitions the circuit component or the logic gates. The system manager can now create a different configuration on these logic gates during operation, so that a different application can be carried out on these newly configured logic gates during operation. Other logic gates can retain their configuration.
  • system manager can be designed to continuously determine the system status. Furthermore, the system manager can be designed to determine the status requirement based on the system status.
  • system manager can be designed to determine the required configuration based on the status request and to transmit the required configuration to the freely programmable circuit component.
  • a parking application that requires high computing capacity can be used when parking.
  • the system manager can then arrange a configuration of the logic gates that is suitable for a computing-intensive application running on them to evaluate the environmental sensors and create a parking algorithm.
  • an autonomously driving vehicle can also require several driver assistance system applications that require high computing capacity.
  • the system manager can therefore arrange a configuration of the logic gates that is suitable for the computationally intensive applications running on them for evaluating the environmental sensors, such as radar sensors, camera and lidar sensors, and interior sensors. In particular, this can be used to carry out the evaluation on the one hand and computationally intensive convolution algorithms or other algorithms required for AI applications on the other.
  • several freely reprogrammable circuit components can be provided, with the system manager being designed to manage the several freely reprogrammable circuit components. This makes it easier to provide additional computing capacity.
  • FIG 1 a control system according to the invention
  • FIG 2 an FPGA chip
  • FIG 3 the control system according to the invention in operation.
  • FIG 1 shows a control system 1 according to the invention.
  • the hardware 2 can include, for example, a CPU, a BIOS, a GPU, etc. and a memory unit 7.
  • a hypervisor 3 is also provided to manage the hardware 2.
  • the hypervisor 3 serves as an abstract layer between the actual hardware 2 and the operating systems used, here a Linux operating system 4 and a Posix operating system 4a, to separate the systems from each other and allows the two operating systems to run in parallel on the same computer. This means that the two operating systems Linux 4 and Posix 4a share the same hardware 2 and can be operated side by side without knowledge of the other operating system, without complications/malfunctions occurring.
  • Hypervisor 3 can also manage more than two operating systems. There is also a freely programmable circuit component, here an FPGA 5.
  • FPGA stands for Field Programmable Gate Array.
  • An FPGA chip contains a large number of logic gates with variable, specifiable logic functionality. The logic functionality is usually implemented as a lookup table (LUT).
  • FIG 2 shows such an FPGA 5 in detail.
  • a combinatorial / alternative assignment of all logic gates a, b,..,n is possible.
  • Each of these logic gates a, b, .. , n can have a memory, one or more DSP (digital signal processing) blocks, for example for processing mathematical functions, as well as several logics (logic components).
  • DSP digital signal processing
  • FIG 1 a system manager 6 is present, FIG 1 . This is located on a separate partition on the hypervisor 3.
  • the system manager 6 manages the FPGA 5 by being designed to dynamically configure the large number of freely reprogrammable and interconnectable logic gates a, b,...,n. This means that the system manager 6 dynamically changes the partitions, for example the interconnections of the logic gates a, b,...n, during operation.
  • system manager 6 divides the FPGA 5 into partitions or connects the logic gates a, b,...n accordingly.
  • the system manager 6 is thus designed to partially reprogram some logic gates a, b,...n at runtime.
  • the system manager 6 In order to identify the required configuration, the system manager 6 continuously determines the system status. This enables it to determine the status requirement of the control system 1 and determine the required configuration based on the status requirement and transmit the required configuration to the FPGA 5. Furthermore, the memory unit 7 contains a multitude of possible configurations for reprogramming the FPGA 5.
  • the configurations can be designed as a bit stream, i.e. the configuration is stored as executable code (binary file) in the storage unit 7. This means that a large number of possible configurations can be provided immediately.
  • the FPGA 5 loads it as executable code from the memory unit 7 and executes it. This allows for quick reprogramming.
  • the hypervisor 3 can then access the FPGA 5 in order to run the required applications on it. This means that the hypervisor 5 regulates the access rights and ensures the separation of the applications.
  • the two operating systems Linus 4 and Posix 4a themselves do not have access to the FPGA 5 to run a program/application.
  • the hypervisor 5 has no access to reprogramming the FPGA 5, but can only use/manage it.
  • the FPGA 5 can be reprogrammed in such a way that calculation steps such as convolutions of sensor data can be carried out on the FPGA 5 using a corresponding application.
  • all or many of the existing logic gates a, b, ..., n can be used for this application.
  • the sensor data such as lidar/camera/radar sensor data
  • the FPGA 5 can be transmitted from the hypervisor 3 to the FPGA 5 for evaluation using a corresponding application and, if necessary, for generating an executable application (for example, initiating braking).
  • the FPGA 5 can be reprogrammed so that environmental data recorded by environmental sensors can be evaluated using an application running on the FPGA 5 and a parking algorithm can be generated to obtain a parking code.
  • control system 1 can make the FPGA 5, for example the computing power, available to surrounding vehicles or in the cloud.
  • the FPGA 5 can be reprogrammed for applications in such a way that the surrounding data is evaluated in such a way that the approaching user is recognized and checked to see whether he or she is authorized to open the vehicle (biometric check). In this situation, the majority of the computing power of the FPGA 5 is assigned to the biometric application.
  • the FPGA 5 can also be reprogrammed for applications in such a way that interior data recorded by interior cameras when leaving the vehicle is evaluated by the application running on the FPGA 5 to determine whether there is any contamination in the vehicle interior.
  • control system 1 By means of the control system 1 according to the invention with the system manager 5 according to the invention, the resources required for the applications can be changed dynamically by changing the configuration of the FPGA 5. This means that time-critical and computationally intensive applications can be implemented safely and quickly, for example according to their priority.
  • FIG 3 shows the control system 1 according to the invention in operation.
  • the system manager 5 continuously determines the system state and, based on this, the state requirement.
  • a configuration for the FPGA 5 is then selected based on the status request.
  • the configuration or the instruction for reprogramming the FPGA 5 is transmitted to the FPGA 5.
  • the FPGA 5 then loads the configuration transmitted by the system manager 6 as executable code from the memory unit 7 and reprograms the logic gates a, b,..., n according to the executable code.
  • the reprogrammed FPGA 5 can then be used for applications by the Hypervisor 3.
  • the Hypervisor 3 thus regulates the access rights of the applications, for example the operating systems, and ensures separation.
  • the operating systems or the Hypervisor 3 cannot reprogram the FPGA 5.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)

Abstract

The invention relates to a control system (1), comprising hardware (2) and at least one freely reprogrammable circuit component, having a plurality of freely reprogrammable logic gates, which can be programmed separately from one another, and comprising a hypervisor (3) for managing the hardware (2), wherein the hypervisor (3) has a distinguished partition with a system manager (6), wherein the system manager (6) is designed for dynamically configuring the freely reprogrammable circuit component for the run time of the control system (1), such that applications can be run independently of the hardware (2), wherein the applications can be controlled by the hypervisor (3) at the programmable logic gates configured by the system manager (6). The invention also relates to a vehicle.

Description

Beschreibung Description
Steuerungssystem und Fahrzeug Control system and vehicle
Die Erfindung betrifft ein Steuerungssystem, aufweisend eine Hardware sowie zumindest ein frei um programmierbares Schaltungsbauteil, welches eine Vielzahl von frei um programmierbaren Logikgattern, welche getrennt voneinander programmierbar sind, aufweist und einen Hypervisor zum Managen der Hardware. Weiterhin betrifft die Erfindung ein Fahrzeug. The invention relates to a control system comprising hardware and at least one freely programmable circuit component, which has a plurality of freely programmable logic gates which can be programmed separately from one another, and a hypervisor for managing the hardware. The invention further relates to a vehicle.
Moderne und zukünftige Fahrzeuge werden zunehmend mit einer Vielzahl von elektronisch gesteuerten Funktionen ausgestattet, welche an die Steuerungssysteme erhöhte Anforderungen stellen. Neben den bereits existierenden Funktionen, wie z.B. Bordcomputer, Antiblockiersystem, Antriebsschlupfsystem usw., werden in zukünftigen Fahrzeugen eine Vielzahl von weiteren Funktionen realisiert werden, wie z.B. elektronischer Copilot, Einparkhilfe usw., welche jedoch hinsichtlich ihrer Sicherheit oder Verfügbarkeit stark unterschiedliche Anforderungen aufweisen. Insbesondere Kl (Künstliche Intelligenz) betriebene Systeme sind rechenintensiv und erfordern hohe Kapazitäten. Modern and future vehicles are increasingly equipped with a variety of electronically controlled functions, which place increased demands on the control systems. In addition to the existing functions, such as on-board computers, anti-lock braking systems, traction control systems, etc., a variety of other functions will be implemented in future vehicles, such as electronic copilots, parking assistance, etc., which, however, have very different requirements in terms of their safety or availability. Systems operated by AI (artificial intelligence) in particular are computationally intensive and require high capacities.
Insbesondere bei Kl Anwendung sind viele Operationen und mathematische Schritte in Echtzeit durchzuführen, bei denen hohe Anforderungen an die Rechensysteme gestellt werden. Especially in Kl applications, many operations and mathematical steps have to be carried out in real time, which places high demands on the computing systems.
Hierfür werden oft FPGA in den Fahrzeugen eingesetzt. FPGAs are often used in vehicles for this purpose.
FPGAs ermöglichen es, annähernd die Geschwindigkeit digitaler Hardware mit einem softwaremäßig um programmierbaren Chip zu erreichen. FPGAs make it possible to achieve almost the speed of digital hardware with a software-programmable chip.
Die Bezeichnung FPGA steht für Field Programable Gate Array. Auf einem FPGA-Chip ist eine Vielzahl von Logikgattern mit variabler spezifizierbarer Logik-Funktionalität vorhanden. Die Logikfunktionalität wird üblicherweise als Lookup-Table (LUT) implementiert. Der logische Wert einer Verknüpfung wird durch das Nachschlagen eines Bits in einer Tabelle ermittelt. Durch geeignetes Vorbelegen der Tabelle kann jede beliebige n-bit Logikfunktion für ein kleines n, dargestellt werden. The term FPGA stands for Field Programmable Gate Array. An FPGA chip contains a large number of logic gates with variable, specifiable logic functionality. The logic functionality is usually referred to as Lookup table (LUT) is implemented. The logical value of a connection is determined by looking up a bit in a table. By appropriately pre-assigning the table, any n-bit logic function for a small n can be represented.
Neben der Logik-Funktionalität und beispielsweise FlipFlops sind auf einem FPGA-Chip auch Ressourcen zum Routing der Logiksignale vorhanden. Sie werden benötigt, damit Ein- und Ausgabewerte der Gatter zu anderen Stellen auf dem Chip gelangen können. In addition to the logic functionality and flip-flops, for example, an FPGA chip also has resources for routing the logic signals. They are required so that the input and output values of the gates can reach other locations on the chip.
Die DE 10 2019 208939 A1 offenbart eine Fahrzeugelektrosteuervorrichtung umfassend zwei oder mehr FPGAs, welche jeweils eine Information von dem Sensor empfangen, einen nichtflüchtigen Speicher, welche einen Bitstrom zum Bestimmen einer Konfiguration für die FPGA hält, eine MCU (Mikrosteuereinheit), welche zwei oder mehr nichtflüchtige Speicher einbindet, wobei jeweils ein Programmcode zum Berechnen des Steuerbefehls installiert ist, und ein Fehlersteuermodul, welches ein Fehlersignal nach außen zu einer Zeit ausgibt, wenn eine Unregelmäßigkeit in zumindest der FPGA und/oder dem nichtflüchtigen Speicher, eingebunden in die MCU, auftritt; wobei der nichtflüchtige Speicher, welche den Bitstrom hält, und der nichtflüchtige Speicher, eingebunden in die MCU, von außerhalb zugreifbar sind. DE 10 2019 208939 A1 discloses a vehicle electric control device comprising two or more FPGAs each receiving information from the sensor, a non-volatile memory holding a bit stream for determining a configuration for the FPGA, an MCU (micro control unit) incorporating two or more non-volatile memories, each having a program code for calculating the control command installed therein, and an error control module outputting an error signal to the outside at a time when an abnormality occurs in at least the FPGA and/or the non-volatile memory incorporated in the MCU; wherein the non-volatile memory holding the bit stream and the non-volatile memory incorporated in the MCU are accessible from the outside.
Die DE 10 2012 213362 A1 offenbart eine Vorrichtung zur Realisierung eines Steuersystems mit hoher Verfügbarkeit und/oder Integrität, insbesondere in Fahrzeugen, mit: einer Datenverarbeitungseinheit zum Verarbeiten von Daten, einer Speichereinheit zum Bereitstellen der Daten für die Datenverarbeitungseinheit, und einer Netzwerk-Verbindungseinheit zum Verbinden der Datenverarbeitungseinheit mit einem Netzwerk über eine Vielzahl von Ports, wobei die Datenverarbeitungseinheit einen programmierbaren Schaltkreis, insbesondere FPGA, mit frei programmierbarem Bereich und einen Boot-Manager aufweist, wobei der Boot-Manager im frei programmierbaren Bereich zumindest einen Soft-Core zur Realisierung von zumindest einer Datenverarbeitungs-Subeinheit konfiguriert. Es ist daher eine Aufgabe der Erfindung ein verbessertes Steuerungssystem und ein verbessertes Fahrzeug anzugeben. DE 10 2012 213362 A1 discloses a device for implementing a control system with high availability and/or integrity, in particular in vehicles, comprising: a data processing unit for processing data, a storage unit for providing the data for the data processing unit, and a network connection unit for connecting the data processing unit to a network via a plurality of ports, wherein the data processing unit has a programmable circuit, in particular FPGA, with a freely programmable area and a boot manager, wherein the boot manager configures at least one soft core in the freely programmable area for implementing at least one data processing subunit. It is therefore an object of the invention to provide an improved control system and an improved vehicle.
Die Aufgabe wird gelöst durch ein Steuerungssystem mit den Merkmalen des Anspruchs 1 und ein Fahrzeug mit den Merkmalen des Anspruchs 13. In den Unteransprüchen und der Beschreibung sind weitere vorteilhafte Maßnahmen aufgelistet, die miteinander kombiniert werden können, um weitere Vorteile zu erzielen. The object is achieved by a control system having the features of claim 1 and a vehicle having the features of claim 13. The subclaims and the description list further advantageous measures which can be combined with one another to achieve further advantages.
Die Aufgabe wird gelöst durch ein Steuerungssystem, aufweisend eine Hardware sowie zumindest ein frei umprogrammierbares Schaltungsbauteil, welches eine Vielzahl von frei um programmierbaren Logikgattern, welche getrennt voneinander programmierbar sind, aufweist, ferner umfassend einen Hypervisor zum Managen der Hardware wobei der Hypervisor eine ausgezeichnete Partition mit einen Systemmanager aufweist, welcher zur dynamischen Konfiguration des frei um programmierbaren Schaltungsbauteils zur Laufzeit des Steuerungssystems ausgebildet ist, so dass ein, von der Hardware unabhängiges Laufen von Applikationen bewerkstelligbar ist, wobei die Applikationen durch den Hypervisor auf den von dem Systemmanager konfigurierten programmierbaren Logikgattern steuerbar sind. The object is achieved by a control system having hardware and at least one freely reprogrammable circuit component which has a plurality of freely programmable logic gates which are programmable separately from one another, further comprising a hypervisor for managing the hardware, wherein the hypervisor has a distinguished partition with a system manager which is designed to dynamically configure the freely programmable circuit component during the runtime of the control system, so that applications can be run independently of the hardware, wherein the applications can be controlled by the hypervisor on the programmable logic gates configured by the system manager.
Hardware kann beispielsweise die CPU, der Speicher, GPU etc. sein. Hardware can be, for example, the CPU, memory, GPU, etc.
Der Hypervisor dient zwischen der tatsächlich vorhandenen Hardware und den installierten Betriebssystemen als abstrahierende Schicht für die Trennung der Systeme untereinander und erlaubt den parallelen Betrieb mehrerer unterschiedlicher Betriebssysteme auf demselben Rechner. The hypervisor serves as an abstract layer between the actual hardware and the installed operating systems to separate the systems from each other and allows the parallel operation of several different operating systems on the same computer.
Das Schaltungsbauteil kann beispielsweise ein FPGA sein, bei welchen die vorhandene Logik in Bereiche aufgeteilt ist, welche getrennt voneinander programmiert werden können. Erfindungsgemäß befindet sich auf dem Hypervisor eine ausgezeichnete Partition mit einen Systemmanager, welcher zum Managen des frei umprogrammierbaren Schaltungsbauteils ausgebildet ist, d. h. zum Konfigurieren der Vielzahl der frei um programmierbaren und zusammenschaltbaren Logikgattern des Schaltungsbauteils. Dies bedeutet, dass der Systemmanager die Partitionen beispielsweise die Verschaltungen der Logikgatter dynamisch im Betrieb ändern kann. The circuit component can, for example, be an FPGA, in which the existing logic is divided into areas that can be programmed separately. According to the invention, the hypervisor has a designated partition with a system manager which is designed to manage the freely reprogrammable circuit component, ie to configure the large number of freely programmable and interconnectable logic gates of the circuit component. This means that the system manager can change the partitions, for example the interconnections of the logic gates, dynamically during operation.
Durch das erfindungsgemäße Steuerungssystem mit dem erfindungsgemäßen Systemmanager können die für die Applikationen benötigten Ressourcen durch eine Änderung der Konfiguration des Schaltungsbauteils dynamisch zur Laufzeit geändert werden. Dadurch können zeitkritische und rechenintensive Anwendungen/Applikationen entsprechend, beispielsweise ihrer Priorität sicher und schnell umgesetzt werden. The control system according to the invention with the system manager according to the invention allows the resources required for the applications to be changed dynamically at runtime by changing the configuration of the circuit component. This allows time-critical and computationally intensive applications to be implemented safely and quickly according to their priority, for example.
Durch das erfindungsgemäße Steuerungssystem kann, das zumindest eine frei um programmierbare Schaltungsbauteil zur Laufzeit optimal genutzt werden. Das erfindungsgemäße Steuerungssystem passt sich, einschließlich der Programmierung der Hardware und des frei umprogrammierbaren Schaltungsbauteils den einzelnen Situationen an. Dadurch können Hardware als auch frei programmierbare Schaltungsbauteile eingespart werden. Das vorhandene frei umprogrammierbare Schaltungsbauteil kann optimal genutzt werden. The control system according to the invention enables the at least one freely programmable circuit component to be used optimally during runtime. The control system according to the invention adapts to the individual situations, including the programming of the hardware and the freely reprogrammable circuit component. This means that hardware and freely programmable circuit components can be saved. The existing freely reprogrammable circuit component can be used optimally.
Ein solches, durch den Systemmanager gemanagtes, dynamisch zur Laufzeit anpassbares, frei umprogrammierbares Schaltungsbauteil kann für viele Anwendungen im High Performance Gebiet, Einsatz finden. Durch die dynamische Anpassung während der Fahrt und der Umprogrammierung des Schaltungsbauteils in wenigen Millisekunden kann das erfindungsgemäße Steuerungssystem insbesondere in Fahrzeugen Verwendung finden. Such a circuit component, managed by the system manager, dynamically adaptable during runtime, freely reprogrammable, can be used for many applications in the high-performance area. Due to the dynamic adaptation during the journey and the reprogramming of the circuit component in a few milliseconds, the control system according to the invention can be used in vehicles in particular.
In weiterer Ausbildung ist das frei umprogrammierbare Schaltungsbauteil als FPGA (Field Programable Gate Array ) ausgebildet. In weiterer Ausbildung ist der Hypervisor dazu ausgebildet, zumindest zwei Betriebssysteme auf der Hardware mit entsprechenden Applikationen zu managen und diesen die entsprechende Hardware zuzuteilen. Durch den Hypervisor können die Betriebssysteme parallel und unabhängig voneinander auf derselben Hardware betrieben werden. In further development, the freely reprogrammable circuit component is designed as an FPGA (Field Programmable Gate Array). In further training, the hypervisor is designed to manage at least two operating systems on the hardware with corresponding applications and to allocate the corresponding hardware to them. The hypervisor allows the operating systems to run in parallel and independently of each other on the same hardware.
Ferner ist insbesondere der Hypervisor zur Separierung der Hardware und zum Zuweisen der Separierungen zu den zumindest zwei Betriebssystemen und zum Regeln der Zugriffsrechte der zumindest zwei Betriebssystemen auf den zugewiesenen Separierungen ausgebildet. Furthermore, the hypervisor is designed in particular to separate the hardware and to assign the separations to the at least two operating systems and to regulate the access rights of the at least two operating systems on the assigned separations.
Vorzugsweise weist die Hardware eine Speichereinheit auf, wobei die Speichereinheit eine Vielzahl von möglichen Konfigurationen, für das frei um programmierbare Schaltungsbauteil aufweist. Preferably, the hardware comprises a memory unit, wherein the memory unit comprises a plurality of possible configurations for the freely programmable circuit component.
Dabei können die Konfigurationen als Bitstrom ausgebildet sein, d.h. die Konfiguration wird als ausführbarer Code (Binärfile) in der Speichereinheit vorgehalten. The configurations can be designed as a bit stream, i.e. the configuration is stored as executable code (binary file) in the storage unit.
Dadurch können eine Vielzahl von möglichen Konfigurationen sofort bereitgestellt werden. This allows a variety of possible configurations to be provided immediately.
In weiterer Ausbildung ist das frei umprogrammierbare Schaltungsbauteil dazu ausgebildet, die vom Systemmanager übermittelte Konfiguration als ausführbaren Code aus der Speichereinheit zu laden und auszuführen. Somit kann eine schnelle Umprogrammierung erfolgen. In a further development, the freely reprogrammable circuit component is designed to load the configuration transmitted by the system manager as executable code from the memory unit and execute it. This allows for quick reprogramming.
Insbesondere können die Codes dazu ausgebildet sein, die Logikgatter so anzuordnen, dass eine Faltungsapplikation beispielsweise für ein Convolutional Neural Network (CNN) oder ein anderes maschinelles Lernverfahren schnell durchführbar ist. Eine solche Faltung erfordert viel Rechenkapazität, welche durch das frei um programmierbare Schaltungsbauteil schnell bereitgestellt werden kann. Ferner ist der Systemmanager zur partiellen Umprogrammierung einiger Logikgatter zur Laufzeit ausgebildet. Dies bedeutet, dass der Systemmanager das Schaltungsbauteil bzw. die Logikgatter dynamisch partitioniert. Auf diesen Logikgattern kann nun während des Betriebes eine andere Konfiguration durch den Systemmanager erstellt werden, so dass während des Betriebes beispielsweise auf diesen neu konfigurierten Logikgattern eine andere Anwendung/Applikation durchgeführt werden kann. Dabei können andere Logikgatter ihre Konfiguration beibehalten. In particular, the codes can be designed to arrange the logic gates in such a way that a convolution application, for example for a convolutional neural network (CNN) or another machine learning method, can be carried out quickly. Such a convolution requires a lot of computing capacity, which can be quickly provided by the freely programmable circuit component. The system manager is also designed to partially reprogram some logic gates during runtime. This means that the system manager dynamically partitions the circuit component or the logic gates. The system manager can now create a different configuration on these logic gates during operation, so that a different application can be carried out on these newly configured logic gates during operation. Other logic gates can retain their configuration.
Ferner kann der Systemmanager dazu ausgebildet sein, den Systemzustand laufend zu ermitteln. Ferner kann der Systemmanager dazu ausgebildet sein, anhand des Systemzustandes die Zustandsanforderung zu ermitteln. Furthermore, the system manager can be designed to continuously determine the system status. Furthermore, the system manager can be designed to determine the status requirement based on the system status.
Weiterhin kann der Systemmanager dazu ausgebildet sein, die benötigte Konfiguration anhand der Zustandsanforderung zu ermitteln und die benötigte Konfiguration an das frei um programmierbare Schaltungsbauteil zu übermitteln.Furthermore, the system manager can be designed to determine the required configuration based on the status request and to transmit the required configuration to the freely programmable circuit component.
So kann beispielsweise beim Einparken eine Einparkapplikation verwendet werden, welche eine hohe Rechenkapazität benötigt. Somit kann der Systemmanager eine Konfiguration der Logikgatter anordnen, welche für einer darauf ausgeführten rechenintensiven Applikation zur Auswertung der Umfeldsensoren und zum Erstellen eines Parkalgorithmus geeignet ist. For example, a parking application that requires high computing capacity can be used when parking. The system manager can then arrange a configuration of the logic gates that is suitable for a computing-intensive application running on them to evaluate the environmental sensors and create a parking algorithm.
Auch kann beispielsweise ein autonom fahrendes Fahrzeug mehrere Fahrerassistenzsystemapplikationen benötigen, welche eine hohe Rechenkapazität benötigen. Somit kann der Systemmanager eine Konfiguration der Logikgatter anordnen, welche für darauf ausgeführten rechenintensiven Applikationen zur Auswertung der Umfeldsensoren, wie Radarsensoren, Kamera und Lidarsensoren, Innenraumsensoren geeignet ist. Insbesondere können hierdurch beispielsweise einerseits die Auswertung andererseits rechenintensive Faltungsalgorithmen oder andere für Kl -Anwendungen benötigte Algorithmen durchgeführt werden. In weiterer Ausbildung können mehrere frei umprogrammierbare Schaltungsbauteile vorgesehen sein, wobei der Systemmanager zum Managen der mehreren frei umprogrammierbaren Schaltungsbauteile ausgebildet ist. Dadurch können vereinfacht weitere Rechenkapazitäten zur Verfügung gestellt werden. For example, an autonomously driving vehicle can also require several driver assistance system applications that require high computing capacity. The system manager can therefore arrange a configuration of the logic gates that is suitable for the computationally intensive applications running on them for evaluating the environmental sensors, such as radar sensors, camera and lidar sensors, and interior sensors. In particular, this can be used to carry out the evaluation on the one hand and computationally intensive convolution algorithms or other algorithms required for AI applications on the other. In a further development, several freely reprogrammable circuit components can be provided, with the system manager being designed to manage the several freely reprogrammable circuit components. This makes it easier to provide additional computing capacity.
Ferner wird die Aufgabe gelöst durch ein Fahrzeug mit einem wie oben beschriebenen Steuerungssystem. Furthermore, the problem is solved by a vehicle with a control system as described above.
Weitere Eigenschaften und Vorteile der vorliegenden Erfindung ergeben sich aus der nachfolgenden Beschreibung unter Bezugnahme auf die beiliegenden Figuren. Darin zeigen schematisch: Further features and advantages of the present invention will become apparent from the following description with reference to the accompanying figures, which schematically show:
FIG 1 : ein erfindungsgemäßes Steuerungssystem, FIG 1 : a control system according to the invention,
FIG 2: ein FPGA Chip, und FIG 2: an FPGA chip, and
FIG 3: das erfindungsgemäße Steuerungssystem im Betrieb. FIG 3: the control system according to the invention in operation.
FIG 1 zeigt ein erfindungsgemäßes Steuerungssystem 1. FIG 1 shows a control system 1 according to the invention.
Dieses weist eine Hardware 2 auf. Dabei kann die Hardware 2 beispielsweise eine CPU, ein Bios, eine GPU etc. und eine Speichereinheit 7 umfassen. This has a hardware 2. The hardware 2 can include, for example, a CPU, a BIOS, a GPU, etc. and a memory unit 7.
Ferner ist ein Hypervisor 3 vorgesehen, zum Managen der Hardware 2. Der Hypervisor 3 dient zwischen tatsächlich vorhandener Hardware 2 und den verwendeten Betriebssystemen, hier einem Linux- Betriebssystem 4 und einem Posix Betriebssystem 4a als abstrahierende Schicht für die Trennung der Systeme untereinander und erlaubt den parallelen Betrieb der beiden Betriebssysteme auf demselben Rechner. Dies bedeutet, dass sich die beiden Betriebssysteme Linux 4 und Posix 4a dieselbe Hardware 2 teilen, und nebeneinander und ohne Kenntnis des jeweils anderen Betriebssystems betrieben werden können, ohne dass es zu Komplikationen /Störungen kommt. A hypervisor 3 is also provided to manage the hardware 2. The hypervisor 3 serves as an abstract layer between the actual hardware 2 and the operating systems used, here a Linux operating system 4 and a Posix operating system 4a, to separate the systems from each other and allows the two operating systems to run in parallel on the same computer. This means that the two operating systems Linux 4 and Posix 4a share the same hardware 2 and can be operated side by side without knowledge of the other operating system, without complications/malfunctions occurring.
Auch kann der Hypervisor 3 mehr als zwei Betriebssysteme managen. Ferner ist ein frei um programmierbares Schaltungsbauteil, hier ein FPGA 5 vorhanden. Die Bezeichnung FPGA steht für Field Programable Gate Array. Auf einem FPGA-Chip ist eine Vielzahl von Logikgattern mit variabler spezifizierbarer Logik-Funktionalität vorhanden. Die Logikfunktionalität wird üblicherweise als Lookup-Table (LUT) implementiert. Hypervisor 3 can also manage more than two operating systems. There is also a freely programmable circuit component, here an FPGA 5. The term FPGA stands for Field Programmable Gate Array. An FPGA chip contains a large number of logic gates with variable, specifiable logic functionality. The logic functionality is usually implemented as a lookup table (LUT).
FIG 2 zeigt ein solches FPGA 5 im Detail. Bei diesem ist eine kombinatorische / alternative Belegung aller Logikgatter a,b,..,n möglich. Jedes dieser Logikgatter a,b, .. , ,n kann einen Speicher aufweisen, einen oder mehrere DSP (Digitale Signalverarbeitung)-Blöcke, beispielsweise zur Verarbeitung mathematischer Funktionen, sowie ferner mehrere Logiken (Logikbausteinen). FIG 2 shows such an FPGA 5 in detail. In this case, a combinatorial / alternative assignment of all logic gates a, b,..,n is possible. Each of these logic gates a, b, .. , n can have a memory, one or more DSP (digital signal processing) blocks, for example for processing mathematical functions, as well as several logics (logic components).
Ferner ist ein Systemmanager 6 vorhanden, FIG 1 . Dieser befindet sich auf einer ausgezeichneten Partition auf dem Hypervisor 3. Furthermore, a system manager 6 is present, FIG 1 . This is located on a separate partition on the hypervisor 3.
Der Systemmanager 6 managt das FPGA 5 indem er zum dynamischen Konfigurieren der Vielzahl der frei umprogrammierbaren und zusammenschaltbaren Logikgatter a,b,..,n ausgebildet ist. Dies bedeutet, dass der Systemmanager 6 die Partitionen beispielsweise die Verschaltungen der Logikgatter a,b,..n, dynamisch im Betrieb ändert. The system manager 6 manages the FPGA 5 by being designed to dynamically configure the large number of freely reprogrammable and interconnectable logic gates a, b,...,n. This means that the system manager 6 dynamically changes the partitions, for example the interconnections of the logic gates a, b,...n, during operation.
Das heißt, dass der Systemmanager 6 das FPGA 5 in Partitionen einteilt bzw. die Logikgatter a,b,..n, entsprechend verschaltet. Der Systemmanager 6 ist damit zur partiellen Umprogrammierung einiger Logikgatter a,b,..n zur Laufzeit ausgebildet. This means that the system manager 6 divides the FPGA 5 into partitions or connects the logic gates a, b,...n accordingly. The system manager 6 is thus designed to partially reprogram some logic gates a, b,...n at runtime.
Um die benötigte Konfiguration zu erkennen, ermittelt der Systemmanager 6 den Systemzustand laufend. Dadurch kann dieser die Zustandsanforderung des Steuerungssystems 1 ermitteln und die benötigte Konfiguration anhand der Zustandsanforderung ermitteln sowie die benötigte Konfiguration an den FPGA 5 übermitteln. Ferner ist in der Speichereinheit 7 eine Vielzahl von möglichen Konfigurationen für die Umprogrammierung des FPGAs 5 vorenthalten. In order to identify the required configuration, the system manager 6 continuously determines the system status. This enables it to determine the status requirement of the control system 1 and determine the required configuration based on the status requirement and transmit the required configuration to the FPGA 5. Furthermore, the memory unit 7 contains a multitude of possible configurations for reprogramming the FPGA 5.
Dabei können die Konfigurationen als Bitstrom ausgebildet sein, d.h. die Konfiguration wird als ausführbarer Code (Binärfile) in der Speichereinheit 7 vorgehalten. Dadurch können eine Vielzahl von möglichen Konfigurationen sofort bereitgestellt werden. The configurations can be designed as a bit stream, i.e. the configuration is stored as executable code (binary file) in the storage unit 7. This means that a large number of possible configurations can be provided immediately.
Bei Übermittlung der vom Systemmanager 6 angeordneten Konfiguration lädt das FPGA 5 diese als ausführbaren Code aus der Speichereinheit 7 und führt diese aus. Somit kann eine schnelle Umprogrammierung erfolgen. When the configuration ordered by the system manager 6 is transmitted, the FPGA 5 loads it as executable code from the memory unit 7 and executes it. This allows for quick reprogramming.
Anschließend kann der Hypervisor 3 auf das FPGA 5 zugreifen, um die benötigten Applikationen darauf ausführen zu können. Dies bedeutet, dass der Hypervisor 5 die Zugriffsrechte regelt und die Separierung der Applikationen gewährleistet. Die beiden Betriebssysteme Linus 4 und Posix 4a selber haben kein Zugriff auf den FPGA 5 zur Ausführung eines Programms/Applikation. The hypervisor 3 can then access the FPGA 5 in order to run the required applications on it. This means that the hypervisor 5 regulates the access rights and ensures the separation of the applications. The two operating systems Linus 4 and Posix 4a themselves do not have access to the FPGA 5 to run a program/application.
Ferner hat der Hypervisor 5 keinen Zugriff auf die Umprogrammierung des FPGAs 5, sondern kann diesen lediglich verwenden/verwalten. Furthermore, the hypervisor 5 has no access to reprogramming the FPGA 5, but can only use/manage it.
So kann in dem Fall in dem ein Fahrzeug mit einem erfindungsgemäßen Steuerungssystem 1 ausgestattet ist, und als autonom fahrendes Fahrzeug ausgebildet ist, das FPGA 5 derart umprogrammiert werden, dass Rechenschritte wie beispielsweise Faltungen von Sensordaten auf dem FPGA 5 anhand einer entsprechenden Applikation durchgeführt werden können. Insbesondere können alle oder viele der vorhandenen Logikgatter a,b, ... ,n für diese Applikation herangezogen werden. So können beispielsweise von dem Hypervisor 3 die Sensordaten, wie Lidar-/Kamera-/Radarsensordaten an das FPGA 5 übermittelt werden zur Auswertung anhand einer entsprechenden Applikation und ggf. zur Generierung einer ausführbaren Anwendung (Beispielsweise einleiten einer Bremsung). Schaltet das Fahrzeug beispielsweise auf automatisiertes Einparken, so kann das FPGA 5 um programmiert werden, so dass aufgenommene Umfelddaten von Umfeldsensoren anhand einer auf dem FPGA 5 laufenden Applikation ausgewertet werden können und ein Einparkalgorithmus generiert werden kann zum Erhalten eines Einparkcodes. Thus, in the case in which a vehicle is equipped with a control system 1 according to the invention and is designed as an autonomously driving vehicle, the FPGA 5 can be reprogrammed in such a way that calculation steps such as convolutions of sensor data can be carried out on the FPGA 5 using a corresponding application. In particular, all or many of the existing logic gates a, b, ..., n can be used for this application. For example, the sensor data, such as lidar/camera/radar sensor data, can be transmitted from the hypervisor 3 to the FPGA 5 for evaluation using a corresponding application and, if necessary, for generating an executable application (for example, initiating braking). For example, if the vehicle switches to automated parking, the FPGA 5 can be reprogrammed so that environmental data recorded by environmental sensors can be evaluated using an application running on the FPGA 5 and a parking algorithm can be generated to obtain a parking code.
So kann beispielsweise bei einem stehenden Elektrofahrzeug, welches keine Rechenleistung benötigt, das Steuerungssystem 1 das FPGA 5, beispielsweise die Rechenleistung, an umliegende Fahrzeuge oder in der Cloud zur Verfügung stellen. For example, in the case of a stationary electric vehicle that does not require computing power, the control system 1 can make the FPGA 5, for example the computing power, available to surrounding vehicles or in the cloud.
Auch kann weiter, bei einem stehenden Fahrzeug das FPGA 5 derart für Anwendungen umprogrammiert werden, dass die Umfelddaten so ausgewertet werden, dass der sich nähernde Benutzer erkannt wird und überprüft, ob dieser zum Öffnen des Fahrzeugs berechtigt ist (biometrische Prüfung). Dazu wird in dieser Situation der biometrischen Anwendung der größte Teil der Rechenleistung des FPGAs 5 zugewiesen. Furthermore, when the vehicle is stationary, the FPGA 5 can be reprogrammed for applications in such a way that the surrounding data is evaluated in such a way that the approaching user is recognized and checked to see whether he or she is authorized to open the vehicle (biometric check). In this situation, the majority of the computing power of the FPGA 5 is assigned to the biometric application.
Auch kann das FPGA 5 dahingehend für Anwendungen um programmiert werden, dass beim Verlassen des Fahrzeugs durch Innenraumkameras aufgenommene Innenraumdaten mittels der auf der FPGA 5 ausgeführten Anwendung dahingehend ausgewertet werden, ob eine Verschmutzung im Fahrzeuginnenraum vorliegt. The FPGA 5 can also be reprogrammed for applications in such a way that interior data recorded by interior cameras when leaving the vehicle is evaluated by the application running on the FPGA 5 to determine whether there is any contamination in the vehicle interior.
Durch das erfindungsgemäße Steuerungssystem 1 mit dem erfindungsgemäßen Systemmanager 5 können die für die Applikationen benötigten Ressourcen durch Änderungen der Konfiguration des FPGAs 5 dynamisch geändert werden. Dadurch können zeitkritische und rechenintensive Anwendungen entsprechend beispielsweise ihrer Priorität sicher und schnell umgesetzt werden. By means of the control system 1 according to the invention with the system manager 5 according to the invention, the resources required for the applications can be changed dynamically by changing the configuration of the FPGA 5. This means that time-critical and computationally intensive applications can be implemented safely and quickly, for example according to their priority.
FIG 3 zeigt das erfindungsgemäße Steuerungssystem 1 im Betrieb. Der Systemmanager 5 ermittelt dabei laufend den Systemzustand und anhand dessen die Zustandsanforderung. Anschließend wird anhand der Zustandsanforderung eine Konfiguration für den FPGA 5 ausgewählt. Die Konfiguration bzw. die Anweisung für die Umprogrammierung des FPGA 5 wird an den FPGA 5 übermittelt. FIG 3 shows the control system 1 according to the invention in operation. The system manager 5 continuously determines the system state and, based on this, the state requirement. A configuration for the FPGA 5 is then selected based on the status request. The configuration or the instruction for reprogramming the FPGA 5 is transmitted to the FPGA 5.
Anschließend wird von dem FPGA 5 die vom Systemmanager 6 übermittelte Konfiguration als ausführbarer Code aus der Speichereinheit 7 geladen und die Logikgatter a,b,..,n entsprechend dem ausführbaren Code um programmiert. The FPGA 5 then loads the configuration transmitted by the system manager 6 as executable code from the memory unit 7 and reprograms the logic gates a, b,..., n according to the executable code.
Anschließend kann das so um programmierte FPGA 5 durch den Hypervisor 3 für Applikationen verwendet werden. Der Hypervisor 3 regelt somit die Zugriffsrechte der Applikationen beispielsweise der Betriebssysteme und gewährleistet die Separierung. Die Betriebssysteme oder der Hypervisor 3 können das FPGA 5 nicht umprogrammieren. The reprogrammed FPGA 5 can then be used for applications by the Hypervisor 3. The Hypervisor 3 thus regulates the access rights of the applications, for example the operating systems, and ensures separation. The operating systems or the Hypervisor 3 cannot reprogram the FPGA 5.
Bezugszeichenliste: List of reference symbols:
1 Steuerungssystem 1 Control system
2 Hardware 2 Hardware
3 Hypervisor 4 Linux Betriebssystem3 Hypervisor 4 Linux operating system
4a Posix Betriebssystem4a Posix operating system
5 FPGA 5 FPGA
6 Systemmanager 6 System Manager
7 Speichereinheit 7 Storage unit

Claims

Patentansprüche Patent claims
1. Steuerungssystem (1 ), aufweisend eine Hardware (2) sowie zumindest ein frei um programmierbares Schaltungsbauteil, welches eine Vielzahl von frei um programmierbaren Logikgattern, welche getrennt voneinander programmierbar sind, aufweist, ferner umfassend einen Hypervisor (3) zum Managen der Hardware (2) d a d u r c h g e k e n n z e i c h n e t, d a s s der Hypervisor (3) eine ausgezeichnete Partition mit einen Systemmanager (6) aufweist, wobei der Systemmanager (6) zur dynamischen Konfiguration des frei um programmierbaren Schaltungsbauteils zur Laufzeit des Steuerungssystems (1 ) ausgebildet ist, so dass ein, von der Hardware (2) unabhängiges Laufen von Applikationen bewerkstelligbar ist, wobei die Applikationen durch den Hypervisor (3) auf den vom Systemmanager (6) konfigurierten programmierbaren Logikgattern steuerbar sind. 1. Control system (1) comprising hardware (2) and at least one freely programmable circuit component which has a plurality of freely programmable logic gates which are programmable separately from one another, further comprising a hypervisor (3) for managing the hardware (2), characterized in that the hypervisor (3) has a distinguished partition with a system manager (6), wherein the system manager (6) is designed to dynamically configure the freely programmable circuit component during runtime of the control system (1), so that applications can be run independently of the hardware (2), wherein the applications can be controlled by the hypervisor (3) on the programmable logic gates configured by the system manager (6).
2. Steuerungssystem (1 ) nach Anspruch 1 , dadurch gekennzeichnet, dass das frei um programmierbare Schaltungsbauteil als FPGA (5) (Field Programable Gate Array) ausgebildet ist. 2. Control system (1) according to claim 1, characterized in that the freely programmable circuit component is designed as an FPGA (5) (Field Programmable Gate Array).
3. Steuerungssystem (1 ) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Hypervisor (3) dazu ausgebildet ist, zumindest zwei Betriebssysteme auf der Hardware (2) mit entsprechenden Applikationen zu managen und diesen die entsprechende Hardware (2) zuzuteilen. 3. Control system (1) according to one of the preceding claims, characterized in that the hypervisor (3) is designed to manage at least two operating systems on the hardware (2) with corresponding applications and to allocate the corresponding hardware (2) to them.
4. Steuerungssystem (1 ) nach Anspruch 3, dadurch gekennzeichnet, dass der Hypervisor (3) zur Separierung der Hardware (2) und zum Zuweisen der Separierungen zu den zumindest zwei Betriebssysteme und zum Regeln der Zugriffsrechte der zumindest zwei Betriebssysteme auf den zugewiesenen Separierungen ausgebildet ist. 4. Control system (1) according to claim 3, characterized in that the hypervisor (3) is designed to separate the hardware (2) and to assign the separations to the at least two operating systems and to regulate the access rights of the at least two operating systems to the assigned separations.
5. Steuerungssystem (1 ) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Hardware (2) eine Speichereinheit (7) aufweist, wobei die Speichereinheit (7) eine Vielzahl von möglichen Konfigurationen als ausführbaren Code für das frei um programmierbare Schaltungsbauteil aufweist. 5. Control system (1) according to one of the preceding claims, characterized in that the hardware (2) has a memory unit (7), wherein the memory unit (7) has a plurality of possible configurations as executable code for the freely programmable circuit component.
6. Steuerungssystem (1 ) nach Anspruch 5, dadurch gekennzeichnet, dass die Speichereinheit (7) die Vielzahl von möglichen Konfigurationen als ausführbaren Code vorhält. 6. Control system (1) according to claim 5, characterized in that the memory unit (7) stores the plurality of possible configurations as executable code.
7. Steuerungssystem (1 ) nach Anspruch 6, dadurch gekennzeichnet, dass das frei um programmierbare Schaltungsbauteil dazu ausgebildet ist, die vom Systemmanager (6) übermittelte Konfiguration als ausführbaren Code aus der Speichereinheit (7) zu laden und auszuführen. 7. Control system (1) according to claim 6, characterized in that the freely programmable circuit component is designed to load and execute the configuration transmitted by the system manager (6) as executable code from the memory unit (7).
8. Steuerungssystem (1 ) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Systemmanager (6) zur partiellen Umprogrammierung einiger Logikgatter zur Laufzeit ausgebildet ist. 8. Control system (1) according to one of the preceding claims, characterized in that the system manager (6) is designed for partial reprogramming of some logic gates at runtime.
9. Steuerungssystem (1 ) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Systemmanager (6) dazu ausgebildet ist, den Systemzustand des Steuerungssystems (1 ) laufend zu ermitteln. 9. Control system (1) according to one of the preceding claims, characterized in that the system manager (6) is designed to continuously determine the system state of the control system (1).
10. Steuerungssystem (1 ) nach Anspruch 9, dadurch gekennzeichnet, dass der Systemmanager (6) dazu ausgebildet ist, anhand des Systemzustandes die Zustandsanforderung zu ermitteln. 10. Control system (1) according to claim 9, characterized in that the system manager (6) is designed to determine the state requirement based on the system state.
11. Steuerungssystem (1 ) nach Anspruch 10, dadurch gekennzeichnet, dass der Systemmanager (6) dazu ausgebildet ist, die benötigte Konfiguration anhand der Zustandsanforderung zu ermitteln und die benötigte Konfiguration an das frei umprogrammierbare Schaltungsbauteil zu übermitteln. 11. Control system (1) according to claim 10, characterized in that the system manager (6) is designed to determine the required configuration based on the status request and to transmit the required configuration to the freely reprogrammable circuit component.
12. Steuerungssystem (1 ) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass mehrere frei um programmierbare Schaltungsbauteile vorgesehen sind und der Systemmanager (6) zum Managen der mehreren frei um programmierbaren Schaltungsbauteile ausgebildet ist. 12. Control system (1) according to one of the preceding claims, characterized in that a plurality of freely programmable circuit components are provided and the system manager (6) is designed to manage the plurality of freely programmable circuit components.
13. Fahrzeug mit einem Steuerungssystem (1 ) nach einem der vorhergehenden13. Vehicle with a control system (1 ) according to one of the preceding
Ansprüche. Expectations.
PCT/DE2023/200233 2022-12-06 2023-11-24 Control system and vehicle WO2024120588A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022213130.4 2022-12-06
DE102022213130.4A DE102022213130A1 (en) 2022-12-06 2022-12-06 Control system and vehicle

Publications (1)

Publication Number Publication Date
WO2024120588A1 true WO2024120588A1 (en) 2024-06-13

Family

ID=89167959

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2023/200233 WO2024120588A1 (en) 2022-12-06 2023-11-24 Control system and vehicle

Country Status (2)

Country Link
DE (1) DE102022213130A1 (en)
WO (1) WO2024120588A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012213362A1 (en) 2012-07-30 2014-01-30 Siemens Aktiengesellschaft Apparatus and method for implementing a high availability and / or integrity control system
EP3089035A1 (en) * 2015-04-30 2016-11-02 Virtual Open Systems Virtualization manager for reconfigurable hardware accelerators
DE102019208939A1 (en) 2018-06-28 2020-01-02 Mitsubishi Electric Corporation Vehicle electric control device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012213362A1 (en) 2012-07-30 2014-01-30 Siemens Aktiengesellschaft Apparatus and method for implementing a high availability and / or integrity control system
EP3089035A1 (en) * 2015-04-30 2016-11-02 Virtual Open Systems Virtualization manager for reconfigurable hardware accelerators
DE102019208939A1 (en) 2018-06-28 2020-01-02 Mitsubishi Electric Corporation Vehicle electric control device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XIA TIAN ET AL: "Ker-ONE: A new hypervisor managing FPGA reconfigurable accelerators", JOURNAL OF SYSTEMS ARCHITECTURE, ELSEVIER BV, NL, vol. 98, 13 May 2019 (2019-05-13), pages 453 - 467, XP085764948, ISSN: 1383-7621, [retrieved on 20190513], DOI: 10.1016/J.SYSARC.2019.05.003 *
XIA TIAN ET AL: "Mini-NOVA: A Lightweight ARM-based Virtualization Microkernel Supporting Dynamic Partial Reconfiguration", 2015 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOP, IEEE, 25 May 2015 (2015-05-25), pages 71 - 80, XP033220833, DOI: 10.1109/IPDPSW.2015.72 *

Also Published As

Publication number Publication date
DE102022213130A1 (en) 2024-06-06

Similar Documents

Publication Publication Date Title
DE102017106087A1 (en) ERROR TOLERANCE PATTERN AND SWITCH PROTOCOL FOR SEVERAL HOT AND COLD STANDBY REDUNDANCIES
DE102020101704A1 (en) METHOD AND DEVICE FOR ASSIGNING AUTOMOTIVE COMPUTER TASKS TO NETWORKED DEVICES WITH HETEROGENIC CAPABILITIES
EP3948468B1 (en) Controller for a vehicle, method for testing a program element of a vehicle function, and motor vehicle comprising a controller
DE102010013349A1 (en) Computer system and method for comparing output signals
DE102018114192B4 (en) MULTI-STAGE SELECTION CONTROL SYSTEM AND METHOD OF OPERATING A CONTROL SYSTEM TO ISSUE A SELECTED COMMAND TO AN ACTUATOR DEVICE
EP4193135A1 (en) Computer-implemented method for providing a test process for traffic scenarios to be tested
DE102018221063A1 (en) Configuration of a control system for an at least partially autonomous motor vehicle
DE102005010477A1 (en) Device and method for processing prioritized control processes
WO2005055056A1 (en) Method for loading software modules
EP3983897B1 (en) Method for ensuring and maintaining the function of a complete safety-critical system
WO2017125181A1 (en) Method for updating control device software, preferably for a motor vehicle
WO2024120588A1 (en) Control system and vehicle
DE102010039021A1 (en) Method for reconfiguring software parameters in a microcontroller and microcontroller and controller
DE102015100566A1 (en) Method and light mechanism for mixed critical applications
DE102019111564A1 (en) METHOD AND SYSTEM FOR CONFIGURING FILTER OBJECTS FOR A CONTROLLER AREA NETWORK CONTROL
DE112019002061T5 (en) TIME- AND SPACE-SAVING AND ENERGY-EFFICIENT NEURAL INFERENCE THROUGH PARALLELISM AND ON-CHIP MEMORY
WO2014019722A1 (en) Device and method for producing a control system having high availability and/or integrity
EP3705993B1 (en) System and method for locating and identifying computing nodes in a network
WO2021259533A1 (en) Controller for a vehicle, system, method, and motor vehicle comprising such a controller
DE102019134872B4 (en) Improvement of the operating parameters of a computing system in the vehicle
EP3399375B1 (en) Method for configuring control devices
WO2008046686A1 (en) Method for operating a control device
DE102018219852A1 (en) Method and device for determining a system configuration for a distributed system
DE102022208250B3 (en) System for managing various vehicle components in an electric-electronic vehicle architecture and vehicle architecture
EP3581935A1 (en) System for the automatic recognition of laboratory work objects and method of operating a system for automatic recognition of laboratory work objects