State-dependent execution of functions on a vehicle controller
The described computing system for vehicle control units optimizes resource use by selectively executing software applications based on vehicle state, addressing the challenges of increased complexity and cost in modern control units, achieving efficient and energy-saving operation.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-08-06
- Publication Date
- 2026-03-05
AI Technical Summary
Existing vehicle control units face challenges with increased computing power leading to higher costs, system integration issues, and greater hardware complexity due to the execution of numerous software applications, which are often safety-critical and require reliable performance.
A computing system with a processor and memory unit that keeps multiple software applications ready for execution based on predefined logic and status data, selectively executing only those needed for the current vehicle state, while keeping others in a standby mode to conserve resources and reduce energy consumption.
This approach allows for a more efficient use of hardware resources and energy by ensuring only necessary applications are executed, reducing the need for powerful hardware and minimizing energy usage, while maintaining reliable performance.
Smart Images

Figure EP2025072693_05032026_PF_FP_ABST
Abstract
Description
[0001] 24-2042
[0002] 1
[0003] State-dependent execution of functions on a vehicle control unit
[0004] The invention relates to a computing system for a vehicle, as well as a method for operating a computing system for a vehicle.
[0005] Various approaches are known from the state of the art to keep the complexity of motor vehicle control units manageable through the increasing use of software applications, with modular approaches being particularly considered.
[0006] In this context, DE 10044 319 A1 relates to an electronic system for a vehicle, which consists of first components for carrying out control tasks during operational processes and second components that coordinate the interaction of the first components for carrying out the control tasks, wherein the first components carry out the control tasks by using operating functions and basic functions, wherein the system is structured such that the basic functions are combined in a base layer and a system layer is included on top of the basic functions, which comprises at least two of the second components, wherein at least one open interface of the system layer to the operating functions is also provided and the system layer connects the basic functions with arbitrary operating functions in such a way that the operating functions can be integrated and / or used modularly.
[0007] WO 2004 / 014700 A1 also relates to a computer system with at least one processor and at least one memory for control, in particular for coordinated powertrain control for a motor vehicle, with a software architecture comprising essentially the following elements or components: an operating system and specific services with operating system and specific services as the basis for all other elements and applications, a basic functionality for implementing universal requirements, a layer for coordinating tasks for basic functionalities of the basic functionality and for integrating plug-ins, at least one plug-in for implementing specific tasks or functions that go beyond the basic functionality and are coordinated by the layer, wherein the plug-ins are, in particular, modularly interchangeable.
[0008] However, the software applications running on a motor vehicle's control unit are often safety-critical and must function reliably. Solutions to the requirement that [24-2042]
[0009] 2. In an environment where application execution time is guaranteed by time-controlled scheduling, an application completes its execution within a specific timeframe to ensure reliable performance. It should be noted that data exchange across a process space involves a certain overhead due to the effort required for communication between processes.
[0010] WO 2020 / 179344 A1 concerns an application unit with a multitude of applications with varying safety requirements regarding the functions of electrical and electronic components mounted on a vehicle; a recording unit that records shared data used by each of the numerous applications; and a vehicle control unit comprising: a control unit that manages the execution time of a task for each of the multiple applications; the recording unit; and a database that is accessible to the application with high safety requirements but not to the application with low safety requirements. This database includes a cache that is inaccessible to the application with high safety requirements but accessible to the application with low safety requirements.The database and cache are configured to share the shared data. The control unit is a vehicle control unit that selectively uses the database and cache according to a security requirement of the application.
[0011] However, the electronic control units (ECUs) of modern vehicles are also becoming increasingly powerful, enabling a growing number of software applications to potentially run on a single ECU as part of the process of high integration. This increased computing power, however, also brings disadvantages, such as higher costs, system integration problems (e.g., cooling and component size), and greater hardware complexity.
[0012] The object of the invention is to reduce the energy and hardware resources required when executing software applications on a control unit in a motor vehicle.
[0013] The invention is defined by the features of the independent claims. Advantageous further developments and embodiments are the subject of the dependent claims.
[0014] A first aspect of the invention relates to a computing system for a vehicle, comprising a computer module which includes a processor unit and a memory unit and which is designed to keep a multitude of software applications available in an operating state of the computer module in order to execute at least one of the 24-2042 upon a trigger
[0015] 3. The software application provided is capable of executing three software applications, further comprising an interface for receiving status data, and a switching unit designed to select certain software applications provided for execution according to a predefined logic based on the status data, and to start and execute the selected software applications on the computer module by means of a respective trigger, and to prevent all other software applications from being executed.
[0016] The computer module itself comprises at least one processor unit (a CPU and / or GPU and / or NPU and / or another specialized processing unit) and one memory unit. The memory unit serves as temporary working memory while the processor unit performs calculations. The processor unit and the memory unit are preferably arranged on a mainboard, which includes a bus system to enable communication at least between the memory unit and the processor unit. The processor unit and memory unit can also be integrated on the mainboard as a SoC (System on a Chip) or as a SiP (System in a Package). A characteristic of the SiP is the delivery of all necessary components as part of a single package, although the specific implementation can vary.
[0017] Such a computing system can remain permanently active in various states of the vehicle, the environment, the vehicle configuration, and / or other conditions, and be ready to execute various software applications when the computing system is in its operating state. In contrast to the switched-off state, the operating state of the computing system is characterized by the fact that a multitude of software applications are kept ready for execution, without necessarily all of them actually being executed.
[0018] The computer module is designed and configured to keep a variety of software applications ready when in an operating state. Keeping the software applications ready means that each of these applications can be executed upon a trigger, but will not execute without this trigger. In the operating state, program data for the software applications is stored in memory, such as ROM or RAM (i.e., main memory), so that they can be started as quickly as possible upon a trigger, i.e., with minimal latency after the trigger. However, different states, as explained above, require only the execution of some software applications, but not others. This depends on the specific state. This fact is advantageously exploited to execute only those software applications that are present in a 24-2042
[0019] 4. The respective state is needed. Furthermore, dependencies between the software applications can be taken into account, as they frequently exchange data reciprocally, and thus one software application may depend on the result of the execution of another.
[0020] For this purpose, the computing system includes an interface for receiving current status data, which describes the state of the vehicle, and / or the state of the environment, and / or a configuration selected by a user, and / or other information. These states are not influenced by the computing system itself, but are external states, and preferably describe a current state. However, they can also be predictive, indicating a state that will occur in the near future. The interface is preferably connected to a data bus of the vehicle, from which the status data can be obtained, since many of the vehicle's sensors continuously feed data into this data bus.
[0021] The switching unit receives this state data and passes it to a predefined logic. This predefined logic is a collection of mappings of states, described by the state data, to one or more software applications, each associated with a particular state. The predefined logic advantageously also considers dependencies between the software applications, as described above, to ensure full functionality. The switching unit can be a logically separate unit from the computer module, but it can also be implemented within the computer module itself.
[0022] The dependencies are predetermined and therefore do not need to be recalculated during the runtime of the computer system. A complete definition of the predefined logic with respect to possible states advantageously ensures that the total budgets allocated to software applications running in parallel at any given time do not exceed the capacity of the computer module. Thus, at every point during the execution of the computer system, it is ensured that not all software applications executable on the computer system are ever executed in parallel and therefore quasi-simultaneously. Instead, depending on the state data, only the required applications are executed, while other software applications are merely held ready for execution during the computer system's operating state, without consuming any resources of the computer module, particularly the processor unit.
[0023] In other words, state data is used as input to a predefined logic. The output of the predefined logic depends on its 24-2042.
[0024] 5
[0025] Input parameters specify one or more software applications to be executed. All software applications assigned to the respective computer module are kept ready for execution during the operating state of the computer system. If the appropriate software applications are selected, they are executed; other software applications that are not needed in a given state are not executed to conserve resources and reduce energy consumption, thus enabling a less powerful and therefore more cost-effective and energy-efficient hardware choice for the respective computer module.
[0026] Each of a vehicle's numerous computer modules is preferably assigned a variety of software applications, which are kept ready in the module's operating state and, as described above, are started and executed by a switching unit depending on the status data. Thus, more software applications can be assigned to a given computer module than can be executed simultaneously on that module at any given time. In other words, the computer module would need to be designed with higher performance if all software applications were to be actively executed on it continuously. However, by selecting a true subset of the total set of software applications intended for the computer module for simultaneous execution, the module can be designed with a smaller, and therefore less performant, footprint.Alternatively, while retaining an originally intended computer module with an originally intended design, i.e., resources, a larger number of software applications can advantageously be provided for the computer module, since according to the invention these are not all active at the same time and thus not all executed at the same time, but only the described real subset of these intended software applications, while the rest are kept ready.
[0027] According to an advantageous embodiment, predefined dependencies between software applications are stored in the predefined logic, wherein the switching unit is designed to determine and execute at least one software application based on the state data using the predefined logic, and to execute all other software applications dependent on the determined software application according to the logic.
[0028] The dependencies reflect causal chains. Such causal chains can include, for example, the evaluation and further processing of sensor data and sensor fusion. The result of executing one software application may be required by another software application; in this case, a dependency exists between the software applications. Nevertheless, the software applications are kept separate. 24-2042
[0029] Section 6 is implemented because, for example, two software applications might depend on the output of a third software application. In such a case, it would be inefficient to integrate the third software application into the other two, as this would result in the third software application being executed twice. This aligns with the concept of modularization. These dependencies are specifically statically defined in the predefined logic, so that when dependencies exist, a particular group of software applications is generally executed for one or more specific states.
[0030] According to a further advantageous embodiment, the current state data provides information as to whether the vehicle is operating in a higher-automated or a lower-automated state, wherein the predefined logic assigns a first group of software applications to the higher-automated state and a second group of software applications to the lower-automated state, wherein the switching unit is configured to execute exclusively either software applications from the first group or exclusively software applications from the second group.
[0031] The highly automated state and the lower automated state are to be understood in relation to each other. This allows for the advantageous implementation of a highly integrated computer system as a driver assistance control unit, capable of accommodating various customer functions for diverse applications. A first group of software applications for the lower automated state can be designed as standard driver assistance functions, such as an automated emergency braking system, lane keeping assist, and high beam control. Meanwhile, a second group of software applications for the higher automated state is implemented for semi- or highly autonomous functions, such as an autonomous parking garage system that enables the vehicle to autonomously travel a certain distance to a parking space in a parking garage.Running both functional clusters of software applications in parallel would not be feasible on the typical hardware of the computer module. However, by exclusively executing only the first or the second group of software applications on the computer module at any one time, it is possible to host both groups of software applications on the same computing system, specifically the vehicle's control unit.
[0032] According to a further advantageous embodiment, the condition data indicates an environmental condition and / or a vehicle condition and / or a user configuration condition. 24-2042
[0033] 7
[0034] The vehicle state can, for example, assume values such as "DRIVING," "RESIDENTIAL," or "PARKING." Other states described by state data can include special states (e.g., a factory mode) or special uses of the computer system (such as programming). The environmental state can indicate whether it is dark or daylight, so that, for example, the predefined logic only executes a high-beam assistant as a relevant software application in darkness. A user configuration state, on the other hand, can specify the value of a predefined, adjustable parameter on the vehicle, such as a desired operating mode. Such an operating mode can, for example, differentiate between a sport mode and a comfort mode, but can also specify a desired level of automation during vehicle operation. Another user-adjustable mode is, for example, an automatic parking mode.
[0035] Several options are possible when designing the topology of the computer system: Firstly, the computer system can be designed as a control unit, also known as an ECU (short for "electronic control unit"). In this case, the control unit includes the interface for receiving status data and the switching unit to select relevant software applications based on the received status data and execute them on the computer module. The control unit thus decides independently which software applications to select and execute on the computer module. Secondly, the computer module itself can form the control unit, and this control unit, in turn, receives the interface and a corresponding command from another module, specifying which software applications are to be executed on the computer module according to the control unit's specifications.In the latter case, the switching unit can be centrally implemented and command several control units via the respective executions of software applications.
[0036] According to another advantageous embodiment, the computing system is a control unit of the vehicle, such that the control unit includes the switching unit and the interface.
[0037] According to a further advantageous embodiment, the computer module is a control unit of the vehicle, wherein the interface and the switching unit are designed to control several control units of the vehicle.
[0038] Another aspect of the invention relates to a method for operating a vehicle's computer system, wherein a computer module with a processor unit and a memory unit in its operating state can run a variety of software applications 24-2042
[0039] 8 is ready to execute at least one of the software applications provided in response to a trigger, and wherein state data is received at an interface, and depending on the state data, certain of the software applications provided are selected by a switching unit according to a predefined logic, and the selected software applications are started on the computer module by means of a respective trigger and are executed by the computer module, and all other software applications provided are not executed.
[0040] Advantages and preferred further developments of the proposed method result from an analogous and substantive transfer of the above statements made in connection with the proposed computing system.
[0041] Further advantages, features and details will become apparent from the following description, in which - possibly with reference to the drawing - at least one embodiment is described in detail.
[0042] They show:
[0043] Fig. 1 : A vehicle with a computing system according to an embodiment of the invention.
[0044] Fig. 2: A schematic diagram of a computing system according to an embodiment of the invention.
[0045] Fig. 3: A schematic diagram of a computing system according to a further embodiment of the invention.
[0046] Fig. 4: A method for operating a computing system for a vehicle according to a further embodiment of the invention.
[0047] The representations in the figures are schematic and not to scale.
[0048] Fig. 1 shows a vehicle with a computing system 1, which includes a computer module 3 with a processor unit and a memory unit. The computer module can be selectively switched off or switched to an operating state in which it holds a variety of software applications ready to execute at least one of the held software applications upon a trigger. Customer functions such as 24-2042
[0049] 9. An automatic emergency braking function is implemented by one or more software applications, in the sense of software components, which are generally interconnected in a chain of operations. Using the emergency braking function as an example, these software applications could include: image analysis of camera data from the vehicle; object creation from the results of the image analysis; data fusion with data from a radar sensor in the vehicle; calculation of critical objects in the fused data; calculation of the necessary braking force; and brake activation. These software applications form a chain of operations and are therefore interdependent. Accordingly, such a group of software applications is implemented as a functional cluster within the predefined logic for the automatic emergency braking function.A switching unit 7 of the computer system 1 determines the current state of the vehicle using state data received via an interface 5. For example, the automatic emergency braking function should only be executed in the vehicle state "DRIVING", but not in the vehicle state "PARKING". If the vehicle state is "DRIVING", the entire aforementioned related group of software applications for executing the emergency braking function is executed on the computer module 3 upon a trigger from the switching unit 7. According to the predefined logic, software applications not required in the vehicle state "DRIVING" are not executed in order to reserve resources on the computer module 3 for the executed software applications.The computer module 3 can therefore be designed to be correspondingly smaller; by saving on the execution of unnecessary software applications depending on the vehicle condition, environmental condition or other conditions, the energy consumption of the computer module 3 can also be reduced.
[0050] Figures 2 and 3 show alternative configurations of the computer system 1. Both alternatives share the feature that a vehicle control unit comprising a computer module 3 executes only those software applications required in a given state, according to its predefined logic, depending on an external state. However, the implementations shown in Figures 2 and 3 differ in whether the vehicle control unit itself applies the predefined logic and, using a switching unit 7, receives the state data obtained at a corresponding interface 5 to a vehicle data bus and, after applying the predefined logic, executes corresponding triggers to perform the desired software applications based on the state data, or whether such a vehicle control unit receives corresponding commands from a central switching unit 7 with such an interface 5.In the latter case, a central switching unit 7 can command several of the vehicle's control units, specifying which software applications should be executed depending on status data received at interface 5. 24-2042.
[0051] 10
[0052] Figure 2 shows the embodiment in which the interface 5 and the switching unit 7 are separate from the vehicle's control unit and transmit commands to the computer module 3 via a communication channel, specifying which software applications are to be executed on the computer module 3 and which are merely to be kept ready without being executed. The switching unit 7 can, in principle, transmit commands to several of the vehicle's control units. However, the interaction of the interface 5, the switching unit 7, and the computer module 3 together form a computing system 1, which is functionally equivalent to that shown in Figure 3. In the exemplary configuration of the computing system 1 shown in Figure 3, the interface 5 and the switching unit 7 are integrated into the control unit and, in particular, are integrated on a common carrier board.The control unit therefore only requires the status data from a vehicle data bus, which is received at interface 5 and fed into the predefined logic of switching unit 7. This switching unit outputs the decision as output data regarding which software applications should be executed and which should not. In both cases, switching unit 7 provides corresponding triggers for the execution or non-execution of software applications for computer module 3.
[0053] Fig. 4 shows a method for operating a computer system 1 for a vehicle, wherein a computer module 3 with a processor unit and a memory unit in its operating state holds a plurality of software applications S1 in order to execute at least one of the held software applications upon a trigger, and wherein state data is received at an interface 5 S2, and depending on the state data, certain of the software applications held for execution are selected by a switching unit 7 according to a predefined logic, and the selected software applications are started on the computer module 3 by means of a respective trigger and are executed by the computer module S3, and all other held software applications are not executed.
[0054] The invention is not limited by the disclosed examples, and other variations can be derived from them by a person skilled in the art without departing from the scope of protection of the invention. It is therefore clear that a multitude of possible variations exist. It is also clear that the embodiments mentioned as examples are truly only examples and are not to be interpreted in any way as limiting, for instance, the scope of protection, the possible applications, or the configuration of the invention.
Claims
Patent claims 1. Computing system (1) for a vehicle, comprising a computer module (3) which includes a processor unit and a memory unit and which is designed to keep a multitude of software applications available in an operating state of the computer module (3) in order to execute at least one of the software applications available upon a trigger, further comprising an interface (5) for receiving status data, and comprising a switching unit (7) which is designed to select certain of the software applications available for execution according to a predefined logic, depending on the status data, and to start the selected software applications on the computer module (3) by means of a respective trigger and to have them executed by the computer module, and not to have all other software applications available executed.
2. Computing system (1) according to claim 1, wherein predefined dependencies of software applications are stored in the predefined logic, wherein the switching unit (7) is designed to determine and execute at least one software application using the predefined logic depending on the state data and to execute all further software applications dependent on the determined software application according to the logic.
3. Computing system (1) according to one of the preceding claims, wherein the current state data indicates whether the vehicle is operated in a higher automated or a lower automated state, wherein the predefined logic assigns a first group of software applications to the higher automated state and a second group of software applications to the lower automated state, wherein the switching unit (7) is configured to execute exclusively either software applications from the first group or exclusively software applications from the second group.
4. Computing system (1) according to one of the preceding claims, wherein the state data specifies an environmental state and / or a vehicle state and / or a user configuration state.
5. Computing system (1) according to one of claims 1 to 4, wherein the computing system (1) is a control unit of the vehicle, such that the control unit comprises the switching unit (7) and the interface (5).
6. Computing system (1) according to one of claims 1 to 4, wherein the computing module (3) is a control unit of the vehicle, wherein the interface (5) and the switching unit (7) are designed to control several control units of the vehicle.
7. Method for operating a computer system (1) of a vehicle, wherein a computer module (3) with a processor unit and a memory unit in its operating state holds a plurality of software applications (S1) in order to execute at least one of the held software applications upon a trigger, and wherein state data is received at an interface (5) (S2), and depending on the state data, certain of the software applications held for execution are selected by a switching unit (7) according to a predefined logic, and the selected software applications are started on the computer module (3) by means of a respective trigger and are executed by the computer module (S3), and all other held software applications are not executed.
Citation Information
Patent Citations
electronic system for a vehicle and system layer for operational functions
DE10044319A1
Computer system and method for controlling, particularly for executing the coordinated drive train control of a motor vehicle
WO2004014700A1
Vehicle control device
WO2020179344A1
Operating system modality switching in an autonomous vehicle
US20200326967A1
System task management for computing systems
US20230096502A1