Method for dynamically defining parameters of a vehicle's control unit software
The method dynamically defines parameters using application software to manage them in a 'black box' block, reducing development effort and ensuring flexibility and data protection in vehicle control unit software updates.
Patent Information
- Application Number
- DE102024206331
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-04
- Publication Date
- 2026-01-08
AI Technical Summary
Existing software development methods for vehicle control units require substantial effort and time due to changes necessitating modifications at multiple levels, especially for complex systems like steering, and lack flexibility in parameter definition.
A method using application software to dynamically define parameters by assigning them to flexible memory locations within a 'black box' parameter block, allowing changes without altering the basic software, enabling flexible and efficient parameter management.
Reduces development effort and time, enhances flexibility in parameter changes, and ensures data protection in cross-functional collaborations, particularly in advanced development phases.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The invention relates to a method for dynamically defining parameters using application software. Furthermore, the invention relates to a corresponding computer program product, a corresponding control unit, and a corresponding vehicle.
[0002] During ECU development, the behavior of the signal outputs, depending on the signal inputs, is defined both through software logic and through parameters. The definition of these parameters—so-called application parameters—takes place at the architecture level of the ECU software. The parameter definition is therefore relevant for both the software unit level and the basic software (BSW). The basic software defines and reserves the necessary memory in the flash memory.
[0003] During the software release process for use with an ECU component, release activities such as software testing, manual reviews, and formal procedures are typically very time-consuming. In existing software development solutions, changes to existing parameters necessitate modifications at the unit, architecture, and basic software levels. This results in further release efforts, which can be substantial, especially for complex software such as steering systems.
[0004] A known method for communication between a control program and an application module in control unit development is shown in EP 2682865 A1.
[0005] It is therefore an object of the present invention to overcome at least one of the disadvantages described above, at least partially. In particular, it is an object of the invention to provide an improved method for dynamically defining parameters using application software, which enables a flexible, dynamic definition of application parameters, reduces the effort required for software development, and makes the basic software level flexible so that it remains as unchanged as possible during software development. Furthermore, it is an object of the invention to provide a corresponding computer program product, a corresponding control unit, and a corresponding vehicle.
[0006] The foregoing problem is solved by a method with the features of the independent method claim, as well as by a corresponding computer program product, a corresponding control unit, and a corresponding vehicle with the features of the dependent claims. Further features and details of the invention will become apparent from the dependent claims, the description, and the drawings. Features and details described in connection with the method according to the invention naturally also apply in connection with the control unit and / or the vehicle according to the invention, and vice versa, so that the disclosure of the individual aspects of the invention always makes, or can make, reciprocal references.
[0007] The invention provides for: A method for dynamically defining parameters using application software that functionally connects signal inputs, e.g., sensor signals, and signal outputs, e.g., control signals for actuators, to provide at least one function, e.g., driver assistance function and / or infotainment function, for a vehicle. where software units of the application software access parameters that are managed in a basic software of a control unit of the vehicle, where the basic software provides at least one (or more), e.g. permanent or non-volatile, memory for a certain number of parameters, e.g. 10, 500, 1000 or similar. where different positions (offsets) are assigned to the memory (in the compiled file), in which different parameters can be stored (flexibly), where the software units (for the current software development and / or for a specific function) dynamically determine required parameters that can be loaded and read from corresponding, in particular available, positions (offset) in the memory.
[0008] The idea is to forgo a fixed assignment of parameters to specific memory locations. Instead of defining each individual parameter at the architectural level, it is advantageous to propose one (or more) comparatively large memory locations acting as a "black box" / "parameter block" (with multiple "parameter placeholders").
[0009] From the perspective of the BASIC software and from the perspective of the architecture level, this can be a black box whose contents can be stored and read. The internal structure of the "black box" / "parameter block" can remain unknown to the BASIC software.
[0010] The basic software can therefore be released once (during ECU development) and compiled into an object or hex file. The release of the basic software can refer to its compiled version. Even in the case of further development at the application level, no further changes to the basic software are advantageously required.
[0011] To allow parameter changes despite an unchanged compilation of the basic software, a dynamic parameter definition is advantageously proposed.
[0012] The changes can be defined at the unit level, where the parameter's name and initial value can be specified. Each required parameter (for the current software development and / or for a specific function) can be assigned a corresponding memory area within the large parameter block (flexibly and dynamically), which can be uniquely determined by a corresponding position (offset) (in the compiled code). Based on this corresponding position (offset), the software units can unambiguously know which location in the "black box" / parameter block to access to read the desired parameter.
[0013] Initial parameter values can be collected from all units and written into the corresponding area in the "parameter block" (or into the corresponding positions (offset) (in the compiled version).
[0014] Significant advantages result from a high degree of flexibility in defining, modifying, adapting, deleting and / or adding application parameters, preferably without the need to create new versions or releases of the basic software.
[0015] The method even allows parameters to be changed in an advanced development phase and with already released basic software - without having to re-release the basic software.
[0016] Further advantages arise from data protection, as the exact names and values of application parameters no longer need to be exchanged in cross-functional collaborations.
[0017] Further advantages result from the reduction of development effort and development time, as well as from the flexibility of parameter changes even at a late stage, e.g. during product testing.
[0018] Within the context of software development for control units, the advantages of the invention lie in: - minimal effort required when changing parameters, - high flexibility even in advanced development phases and - Data protection, especially in cooperation projects with cross-company areas of responsibility in software development.
[0019] As mentioned above, the method can be advantageously used in the software development of application software, especially for vehicle control units, e.g. a steering control unit.
[0020] One particular advantage is that the process can be carried out without modifying the basic software. This significantly reduces the effort required for developing the vehicle software.
[0021] Advantageously, the procedure can be carried out when the application software requires modified and / or new parameters, especially in advanced development phases.
[0022] In principle, it is conceivable that the application software serves at least one of the following functions: - Driver assistance, - Steering, - Lane Assist, - Speed control, - Braking, - Engine control and / or - Infotainment.
[0023] Advantageously, the method can be used for different vehicle functions.
[0024] In the example of a steering function, the signal inputs can include the following sensor signals: - Vehicle speed, - Engine condition, - Steering wheel torque, - Steering angle, - Battery voltage and / or - Error states.
[0025] In the example of a steering function, the signal outputs can include the following control signals for actuators: - Motor voltage to a wheel steering system and / or - Steering status to a vehicle network.
[0026] In the example of a steering function, if the functions relate to the steering of the vehicle, the parameters can include: - Steering speed, - Steering assistance power, - Steering radius and / or - Steering assistance level.
[0027] According to a further aspect, the invention provides a computer program product comprising instructions which, when executed by a computer, such as the processing unit of a control unit, cause the computer to carry out the method, which can proceed as described above. The same advantages described above in connection with the method according to the invention can be achieved with the computer program product. These advantages are fully referenced herein.
[0028] A corresponding control unit provides a further aspect of the invention. A computer program in the form of code can be stored in a memory unit of the control unit. When the code is executed by a processing unit of the control unit, this program performs a procedure that can proceed as described above. The same advantages described above in connection with the method according to the invention can be achieved with the help of the control unit. These advantages are fully referenced herein.
[0029] A corresponding vehicle also represents an aspect of the invention, wherein the fuel cell stack includes a corresponding control unit. The same advantages described above in connection with the method according to the invention can be achieved using the fuel cell system. These advantages are fully referenced herein.
[0030] Further advantages and features of the invention will become apparent from the following description, in which several embodiments of the invention are described in detail with reference to the drawings. The drawings schematically illustrate: Fig. 1 An exemplary control unit with a proposed architecture.
[0031] As it is Fig. As illustrated in point 1, it is proposed: A method for dynamically defining parameters P1, P2.
[0032] The procedure can be carried out using application software (APP) that functionally connects signal inputs, e.g., sensor signals, and signal outputs, e.g., control signals for actuators, in order to provide at least one function, e.g., driver assistance function and / or infotainment function, for a vehicle F.
[0033] The application software APP can comprise multiple software units U1, U2.
[0034] The software units U1, U2 can access parameters P1, P2, which are managed in a basic software BSW of a control unit ECU of the vehicle F.
[0035] In the basic software BSW, at least one (or more), e.g. permanent or non-volatile, memory SP (so-called "black box" / "parameter block" with several, e.g. 10, 500, 1000 or similar, "parameter placeholders") is provided.
[0036] Different positions (offset in the compiled K) are assigned to memory SP, in which various parameters P1, P2 (flexible) can be stored.
[0037] Not all memory areas in memory SP or all offset positions (in compiled K) need to be filled. They can be filled gradually and / or as needed during software development.
[0038] The software units U1, U2 can dynamically determine required parameters P1, P2 (for the current software development and / or for a specific function).
[0039] The required parameters P1, P2 can then be loaded and read from corresponding, in particular available, offset positions in the memory SP.
[0040] Advantageously, a fixed assignment of parameters P1 and P2 to specific, uniquely defined memory locations can be dispensed with. Preferably, one or more comparatively large memory SPs acting as a "black box" or "parameter block" (with multiple "parameter placeholders") are used (see Fig. 1).
[0041] From the perspective of the BSW basic software and from the perspective of the architecture level, this can be a black box whose contents can be stored and read. The internal structure of the "black box" / "parameter block" can remain unknown to the BSW basic software.
[0042] The basic software (BSW) can therefore be released once during ECU development and compiled into an object or hex file. The release of the basic software (BSW) can refer to its compiled version (K). Advantageously, no further modification of the basic software (BSW) is required during subsequent development at the application level.
[0043] To allow parameter changes to continue despite the unchanged compilation K of the Basic software BSW, a dynamic parameter definition is advantageously enabled.
[0044] The changes can be defined at the unit level, where the parameter's name and initial value can be set. Each required parameter (for the current software development and / or for a specific function) can be assigned a corresponding memory area in the SP (flexible and dynamic) memory, which can be uniquely determined by a corresponding position offset in the compiled K.
[0045] Based on the corresponding position offset, the software units U1 and U2 can clearly know which part of the "black box" / parameter block needs to be accessed to read the desired parameter.
[0046] Initial values of the parameters P1, P2 can be collected from all software units U1, U2 and written into the corresponding area in the memory SP or into corresponding positions Offset in the compiled K.
[0047] This results in a high degree of flexibility in defining, changing, adapting, deleting and / or adding (application) parameters P1, P2, preferably without the need to create new versions or releases of the Basic Software BSW.
[0048] The method even allows parameters to be changed in an advanced development phase and with already released Basic Software BSW - without re-release of the Basic Software BSW.
[0049] Further advantages arise from data protection, as the exact names and values of application parameters no longer need to be exchanged in cross-functional collaborations.
[0050] Further advantages result from the reduction of development effort and development time, as well as the flexibility of parameter changes even at a late stage, e.g. during product testing.
[0051] In principle, the application software (APP) can affect at least one of the following functions: - Driver assistance, - Steering, - Lane Assist, - Speed control, - Braking, - Engine control and / or - Infotainment.
[0052] In the example of a steering function, the signal inputs can include the following sensor signals: - Vehicle speed, - Engine condition, - Steering wheel torque, - Steering angle, - Battery voltage and / or - Error states.
[0053] In the example of a steering function, the signal outputs can include the following control signals for actuators: - Motor voltage to a wheel steering system and / or - Steering status to a vehicle network.
[0054] In the example of a steering function, if the functions relate to the steering of the vehicle, the parameters P1 and P2 can include: - Steering speed, - Steering assistance power, - Steering radius and / or - Steering assistance level.
[0055] A corresponding computer program product SW, a corresponding control unit ECU and a corresponding vehicle F also represent aspects of the invention.
[0056] The preceding explanation of the embodiments describes the present invention solely by way of examples. Naturally, individual features of the embodiments can be freely combined with one another, provided this is technically feasible, without departing from the scope of the present invention. Reference symbol list F vehicle ECU control unit APP application software U1 Software Unit U2 Software Unit SW computer program product BSW Basic Software SP memory K Compilation Offset Position P1 Parameter P2 Parameter QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] EP 2682865 A1
[0004]
Claims
[1] Method for dynamically defining parameters (P1, P2) using application software (APP) that functionally connects signal inputs, e.g. sensor signals, and signal outputs, e.g. control signals for actuators, to provide at least one function, e.g. driver assistance function and / or infotainment function, for a vehicle (F), where software units (U1, U2) of the application software (APP) access parameters (P1, P2) that are managed in a basic software (BSW) of a control unit (ECU) of the vehicle (F), where the basic software (BSW) provides at least one, e.g. permanent, memory (SP) for a certain number of parameters (P1, P2), where different positions (offsets) are assigned to the memory (SP) in which different parameters (P1, P2) can be stored, wherein the software units (U1, U2) dynamically determine required parameters (P1, P2) which can be loaded and read from corresponding, in particular available, positions (offset) in the memory (SP). [2] Method according to claim 1, wherein the method is carried out during software development of the application software (APP). [3] Method according to claim 1 or 2, wherein the method is carried out without any modification of the Basic Software (BSW). [4] Method according to claim 1 or 2, wherein the method is carried out when the application software (APP) requires modified and / or new parameters (P1, P2). [5] Method according to any of the preceding claims, wherein the application software (APP) serves at least one of the following functions: - Driver assistance, - Steering, - Lane Assist, - Speed control, - Braking, - Engine control and / or - Infotainment. [6] Method according to any of the preceding claims, wherein the signal inputs comprise the following sensor signals: - Vehicle speed, - Engine condition, - Steering wheel torque, - Steering angle, - Battery voltage and / or - Error states. [7] Method according to any of the preceding claims, wherein the signal outputs comprise the following control signals for actuators: - Motor voltage to a wheel steering system and / or - Steering status to a vehicle network. [8] Method according to any of the preceding claims, wherein, if the functions relate to steering the vehicle, the parameters (P1, P2) may include: - Steering speed, - Steering assistance power, - Steering radius and / or - Steering assistance level. [9] Computer program product (SW), comprising instructions which, when executed by a computer, cause the computer to perform a method according to any of the preceding method claims. [10] Electronic control unit (ECU) comprising a computing unit and a storage unit in which a code is stored which, when at least partially executed by the computing unit, performs a method according to one of the preceding method claims. [11] Vehicle (F) comprising a control unit (ECU) according to the preceding claim.
Citation Information
Patent Citations
Method for communicating with a control programme of a control device and application modules for same
EP2682865A1