Automobile electronic control unit (ECU) software load estimation method and system

By performing load calculations between the actual ECU development platform and the virtual ECU simulation platform, and using a load scaling factor to predict the actual ECU operating load, the problem of insufficient hardware performance when software functions are added is solved. This enables early identification of load pressure, reducing development costs and hardware adjustments.

CN116578061BActive Publication Date: 2025-10-17SAIC GENERAL MOTORS +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310496028.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-05
Publication Date
2025-10-17
Estimated Expiration
2043-05-05

AI Technical Summary

Technical Problem

When the software functions of the automotive electronic control unit (ECU) are increased, the software load estimate cannot be accurately obtained, resulting in insufficient hardware performance, delays in the software update process, and hardware replacement and adjustment.

Method used

By performing load calculations between the actual ECU development platform and the virtual ECU simulation platform, the actual ECU operating load is estimated using a load scaling factor. This includes running new functional software on the virtual platform and calculating the virtual operating load. The actual load is then accurately estimated by combining the actual and virtual loads.

Benefits of technology

It enables advance prediction of the impact of new features and complexity on hardware performance, reducing development costs and hardware replacement and adjustment during software updates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116578061B_ABST
    Figure CN116578061B_ABST
Patent Text Reader

Abstract

The application relates to an automobile electronic control unit (ECU) software load estimation method and system, a computer readable storage medium and an electronic device. According to the method, the following steps are included: running a first task on an actual ECU development platform, and calculating a first actual running load of a first software running entity under the first task, wherein the first task is a task to which newly added functional software is to be mapped; running the first task on a virtual ECU simulation platform corresponding to the actual ECU development platform, and calculating a first virtual running load of the first software running entity under the first task; obtaining a load scaling coefficient based on the first actual running load and the first virtual running load; running a second task on the virtual ECU simulation platform, the second task being the first task in which the newly added functional software has been mapped, and calculating a second virtual running load of a second software running entity under the second task; and estimating a second actual running load of the second software running entity when running on the actual ECU development platform according to the second virtual running load and the load scaling coefficient.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of automobile software, in particular to an automobile electronic control unit (ECU) software load estimation method and system, a computer readable storage medium and an electronic device. BACKGROUND

[0002] With the increase of the function and complexity of the automobile electronic control unit (ECU) software, the related software needs to be updated and upgraded in time. However, when the function is expanded directly on the original software and hardware platform, and the software load estimation cannot be accurately known, it is usually found that the hardware performance and resources are not sufficient to support the function upgrade after the software function is increased and runs in the actual software environment, and the hardware is finally replaced, which brings the adjustment of the software update process again and the lag of the implementation of the update plan. SUMMARY

[0003] In view of the above problems, the present application aims to provide an automobile electronic control unit (ECU) software load estimation method and system, a computer readable storage medium and an electronic device.

[0004] According to a first aspect of the present application, an automobile electronic control unit (ECU) software load estimation method is provided. The method comprises the following steps: running a first task on an actual ECU development platform and calculating a first actual running load of a first software running entity under the first task, wherein the first task is a task to which the newly added function software is to be mapped; running the first task on a virtual ECU simulation platform corresponding to the actual ECU development platform and calculating a first virtual running load of the first software running entity under the first task; obtaining a load scaling coefficient based on the first actual running load and the first virtual running load; running a second task on the virtual ECU simulation platform, the second task being the first task to which the newly added function software is mapped, and calculating a second virtual running load of a second software running entity under the second task; and estimating a second actual running load of the second software running entity when running on the actual ECU development platform according to the second virtual running load and the load scaling coefficient.

[0005] According to the method of an embodiment of the present application, the average value of the software running entity running time in the first time period is taken as an indication of the size of the running load.

[0006] According to the method of an embodiment of the present application, the software part of the actual ECU development platform is ported to the virtual simulation platform to form the virtual ECU simulation platform.

[0007] According to the method of an embodiment of the present application, the virtual ECU simulation platform has a software interface part consistent with the software interface part of the actual ECU development platform.

[0008] According to the method of one embodiment of the present application, wherein, according to the method of one embodiment of the present application, wherein the virtual ECU simulation platform and the actual ECU development platform have the same task scheduling under the same period or event.

[0009] According to the method of one embodiment of the present application, wherein, the method further comprises: recalculating the load scaling coefficient in response to a change in the computing device on which the virtual ECU simulation platform runs.

[0010] According to the method of one embodiment of the present application, wherein, the method further comprises: based on the estimation of the second actual running load, calculating the total actual running load of all software running entities under the second task.

[0011] According to the second aspect of the present application, an automotive electronic control unit (ECU) software load estimation system is provided. The system comprises: an actual ECU development platform configured to run a first task and calculate a first actual running load of a first software running entity under the first task, wherein the first task is a task to which the newly added functional software is to be mapped; a virtual ECU simulation platform corresponding to the actual ECU development platform, the virtual ECU simulation platform being configured to run the first task and calculate a first virtual running load of the first software running entity under the first task; and an estimation unit configured to obtain a load scaling coefficient based on the first actual running load and the first virtual running load. The virtual ECU simulation platform is further configured to run a second task and calculate a second virtual running load of a second software running entity under the second task, wherein the second task is the first task to which the newly added functional software has been mapped. The estimation unit is further configured to estimate a second actual running load of the second software running entity when running on the actual ECU development platform according to the second virtual running load and the load scaling coefficient.

[0012] According to the third aspect of the present application, a computer readable storage medium is provided. The computer readable storage medium stores instructions which, when executed by a processor, implement the method according to any of the preceding embodiments.

[0013] According to the fourth aspect of the present application, an electronic device is provided, characterized in that the electronic device comprises a processor and a memory storing instructions which, when executed by the processor, implement the method according to any of the preceding embodiments.

[0014] The present application can realize early estimation of the load pressure on the original hardware performance and load caused by the newly added functions and complexity, which can accelerate the software update and upgrade process in the development process and reduce the development cost. BRIEF DESCRIPTION OF DRAWINGS

[0015] The above and other objects and advantages of the present application will become more apparent by describing in detail the following embodiments thereof in conjunction with the accompanying drawings, in which like reference numerals refer to like elements throughout.

[0016] Figure 1 A flowchart of an automotive electronic control unit (ECU) software load estimation method 100 is shown according to one or more embodiments of the present application.

[0017] Figure 2 A flowchart of load calculation and estimation is illustrated according to one or more embodiments of the present application. DETAILED DESCRIPTION

[0018] The following detailed description is merely exemplary in nature and is not intended to limit the disclosed technology or the application and uses of the disclosed technology. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background or the following detailed description.

[0019] In the following detailed description of embodiments, numerous specific details are set forth in order to provide a more thorough understanding of the disclosed technology. However, it will be apparent to one of ordinary skill in the art having the benefit of this disclosure that the disclosed technology can be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.

[0020] The terms such as "comprise" and "include" mean that the technical solution of the present application does not exclude the presence of other elements and steps not directly or explicitly expressed in the specification.

[0021] Hereinafter, various exemplary embodiments according to the present application will be described in detail with reference to the accompanying drawings.

[0022] Figure 1 A flowchart of an automotive electronic control unit (ECU) software load estimation method 100 is shown according to one or more embodiments of the present application. The load estimation method 100 can include the following steps:

[0023] S1: running a first task on an actual ECU development platform and calculating a first actual running load of a first software running entity under the first task, wherein the first task is a task to which a newly added functional software is to be mapped.

[0024] The actual ECU development platform refers to an actual physical hardware and software development environment, which is used for software updating and iterative development, and can include, for example, an actual microcontroller unit (MCU). In some examples, the actual ECU development platform can be, for example, an automotive open system architecture (AutoSAR) platform, which is mainly divided into three levels of xml components: an application software layer (AppL), a runtime environment (RTW) layer, and a basic software (BSW) layer. Among them, the application software layer has a software component (SWC) composed of a certain number of "modules" or "units", and the software components interact through ports, and each software component contains a software running entity (Runnable Enity) encapsulating a control algorithm, which can be triggered by a runtime environment event (RTEEvent); the runtime environment (RTW) layer provides communication management across ECUs / ECU and provides management functions (such as triggering, waking up, etc.) for running entities; the basic software (BSW) layer can be further divided into a service layer (Services Layer), an ECU abstraction layer (ECU Abstraction Layer), a microcontroller abstraction layer (MCAL), and complex drivers, which provide basic software services for the application software layer: including hardware drivers, communication protocols (CAN, LIN), diagnostic services (such as UDS), system services (such as task scheduling, resource allocation, etc.).

[0025] The actual ECU development platform can execute a load calculation algorithm to calculate the load size for the software, tasks, etc. executed thereon. For future expected functional software (updates, iterations) to be added, the actual ECU development platform can first run the task (first task) mapped by the added functional software as a test target, select a certain original software running entity (first software running entity) under the task as an actual test object, and calculate the first actual running load of the first software running entity through the load calculation algorithm. The load calculation algorithm can use common load calculation algorithms currently used for software development platforms, especially automotive ECU software related platforms. Preferably, the actual ECU development platform can test the average value T1 of the running time of the first software running entity within a certain time period (for example, 20 minutes) as an indication of the size of the first actual running load.

[0026] S2: running the first task on the virtual ECU simulation platform corresponding to the actual ECU development platform, and calculating the first virtual running load of the first software running entity under the first task.

[0027] The virtual ECU simulation platform can be generated by, for example, transplanting the actual software of the current actual ECU development platform to a personal computer (PC) environment virtual simulation platform for running. For example, the xml components of the actual ECU development platform are imported into the virtual ECU simulation platform, including an application software layer (AppL), a runtime environment (RTW) layer, and a basic software (BSW) layer, to build a virtual ECU simulation platform based on a PC computing environment.

[0028] Then, a first virtual running load of the first software running entity is calculated based on the same load rate calculation algorithm as in the S1 step. For example, the average value in the same time period (e.g., 20 minutes) as the virtual ECU simulation platform test is taken as the first virtual running load T2 of the first software running entity.

[0029] S3: A load scaling coefficient is obtained based on the first actual running load and the first virtual running load. For example, the amount of the first virtual running load is divided by the amount of the first actual running load to obtain the load scaling coefficient K. For example, in the embodiment in which the running time average value in the specific time period is taken as the calculated load size indication, K = T2 / T1.

[0030] S4: The second task, which is the first task in which the newly added function software is mapped, is run on the virtual ECU simulation platform, and a second virtual running load of the second software running entity under the second task is calculated. The second software running entity that runs all or part of the functions of the new function software can be mapped into the first task of the virtual ECU simulation platform as the second task. The second task is run using the virtual ECU simulation platform configured as before, and the second virtual running load of the second software running entity under the second task is calculated based on the load calculation algorithm as described before, such as the running time average value T2' in a specific time period.

[0031] S5: The second actual running load of the second software running entity when running on the actual ECU development platform is estimated according to the second virtual running load and the load scaling coefficient. Specifically, the load size of the second software running entity under the actual ECU development platform can be calculated based on the load scaling coefficient K obtained in the foregoing steps. For example, the estimated running time average value T1' = T2 / K.

[0032] In some embodiments, the software part of the actual ECU development platform is transplanted onto a virtual simulation platform to form a virtual ECU simulation platform. As mentioned previously, the virtual ECU simulation platform can be generated by transplanting the actual software of the current actual ECU development platform into a personal computer (PC) environment virtual simulation platform for running, for example. In addition, the virtual ECU simulation platform has a software interface part consistent with that of the actual ECU development platform. The types of these interfaces include, for example, receiver / transmitter ports, client ports, server ports, event ports, running entity ports, and the like. Based on this, the virtual ECU simulation platform has a high degree of consistency with the actual ECU development platform in terms of interface configuration, and therefore, the calculated load scaling factor K can more accurately simulate the actual load scaling size, and the accuracy of the prediction is improved.

[0033] It can also be understood that the virtual ECU simulation platform and the actual ECU development platform can have the same task scheduling under the same period or event. The simulation environment of the virtual ECU simulation platform thus created is closer to the actual real software running environment, which further improves the accuracy of the prediction.

[0034] The automobile electronic control unit (ECU) software load prediction method 100 of the present application can identify in advance the pressure on the hardware performance and load caused by the added functions and complexity

[0035] Figure 2 A flowchart illustrating the load calculation and prediction according to one or more embodiments of the present application is described, which shows an example prediction calculation flow of an actual MCU as an actual ECU development platform. Runnable_1 and Runnable_2 can indicate the first software running entity and the second software running entity as described previously.

[0036] As Figure 2As shown in ①, the task Task of the newly added function software target mapping needs to be taken as the test target in the actual MCU's software and hardware environment, a certain original Runnable_1 under the Task is selected as the actual test object, the average value of the running time of Runnable_1 in 20 minutes is taken as the actual load T1 of Runnable_1 through the calculation of the load rate test algorithm. Then, in ②, the average value of the running time in 20 minutes is also taken as the running load T2 of Runnable_1 in the virtual ECU simulation platform based on the same load rate calculation algorithm. The load scaling coefficient K in the current performance computer is obtained by comparing the numerical size of the actual load T1 in the actual MCU environment with the load T2 in the virtual ECU environment as shown in ③. In ④, the function software Runnable_2 running entity of the new project development process needs to be iteratively upgraded and developed, which can be completed before the first edition of the hardware is complete, so the new function software Runnable_2 running entity is mapped to the target Task of the virtual ECU simulation platform, recompiled and then run in the virtual environment. Through the same load rate calculation algorithm, the load size of Runnable_2 in the current simulation environment is calculated. In ⑤, the load size of Runnable_2 in the actual software and hardware environment of the MCU can be calculated based on the load scaling coefficient K obtained before. Based on the foregoing process, the load of all Runnables under the target Task can be calculated to obtain the total load of all Runnables under the target Task. The process can be further designed in ⑥: based on the load of the target Task, according to the calculation rule of the actual effective running time of all tasks Task in 1 hour, the size and influence of the entire system CPU load can be obtained. Specifically, according to the calculated size of the entire system software load, for example, according to the principle that the system load cannot exceed 80%, it can be directly concluded whether the inherent MCU chip needs to be reselected or continued to be used.

[0037] In some embodiments, the method further includes recalculating the load scaling coefficient in response to a change in the computing device on which the virtual ECU simulation platform runs. This is because the load calculation result of the virtual ECU simulation platform will be different due to the performance difference of different computing devices, so that the final load calculation result T2 is different. Therefore, if the physical computing device for simulation changes, the load scaling coefficient Kn under the changed computing device needs to be recalculated. In this way, the calculation and evaluation of hardware resources and load are no longer limited by different computing devices, and the method can calculate different scaling coefficients for different computing devices, realizing the convenience of hardware transfer of the computing device and the improvement of the accuracy of load calculation.

[0038] In some embodiments, the method further comprises calculating a total actual running load of all software running entities under the second task based on the estimation of the second actual running load.

[0039] In another aspect, the present application also provides an automotive electronic control unit (ECU) software load estimation system. The system comprises an actual ECU development platform, a virtual ECU simulation platform and an estimation unit.

[0040] The actual ECU development platform is configured to run a first task and calculate a first actual running load of a first software running entity under the first task, wherein the first task is a task to which a new functional software is expected to be mapped.

[0041] The actual ECU development platform refers to an actual physical hardware and software development environment used for software updating and iterative development, and may, for example, include an actual microcontroller unit (MCU). In some examples, the actual ECU development platform may, for example, be an automotive open system architecture (AutoSAR) platform, which is mainly divided into three levels of xml components: an application software layer (AppL), a runtime environment (RTW) layer and a basic software (BSW) layer. The application software layer has a number of "modules" or "units", which can be referred to as "software components" (SWC), and the software components interact through ports. Each software component includes a number of software running entities (Runnable Enity) encapsulating control algorithms, which can be triggered by runtime environment events (RTEEvent). The runtime environment (RTW) layer provides communication management across ECUs / within ECUs and provides management functions (such as triggering, waking up, etc.) for running entities. The basic software (BSW) layer may, for example, be further divided into a services layer, an ECU abstraction layer, a microcontroller abstraction layer (MCAL) and complex drivers, which provide basic software services for the application software layer, including hardware drivers, communication protocols (CAN, LIN), diagnostic services (such as UDS), system services (such as task scheduling, resource allocation, etc.).

[0042] The actual ECU development platform is capable of performing a load calculation algorithm to perform load size calculation for software, tasks, etc. running thereon. For future expected software (updates, iterations) that one wants to add, one can first cause the actual ECU development platform to run the task Task (first task) that the added software is mapped to as a test target, select an original certain software running entity (first software running entity) under the task as an actual test object, and calculate a first actual running load of the first software running entity through the load calculation algorithm. The load calculation algorithm can use a common load calculation algorithm currently used for software development platforms (especially automotive ECU software related platforms). Preferably, the actual ECU development platform can test the average value T1 of the running time of the first software running entity within a certain time period (e.g. 20 minutes) as an indication of the size of the first actual running load.

[0043] The virtual ECU simulation platform corresponds to the actual ECU development platform and is configured to run the first task and calculate a first virtual running load of the first software running entity under the first task. The virtual ECU simulation platform may, for example, be generated by porting the actual software of the current actual ECU development platform to a personal computer PC environment virtual simulation platform for running. For example, the xml components of the actual ECU development platform are imported into the virtual ECU simulation platform, including the application software layer AppL, the runtime environment RTW layer and the basic software BSW layer, to build a virtual ECU simulation platform based on a PC computing environment. Then, the first virtual running load of the first software running entity is calculated based on the same load rate calculation algorithm as in the S1 step. For example, the average value within the same time period (e.g. 20 minutes) is tested in the virtual ECU simulation platform as the first virtual running load T2 of the first software running entity.

[0044] The estimation unit is configured to obtain a load scaling coefficient based on the first actual running load and the first virtual running load. For example, the amount of the first virtual running load is divided by the amount of the first actual running load to obtain the load scaling coefficient K. For example, in the embodiment where the average value of the running time within the above-mentioned certain time period is used as an indication of the calculated load size, K = T2 / T1.

[0045] The virtual ECU simulation platform is further configured to run a second task and calculate a second virtual runtime load of a second software runtime entity within the second task. The second task is the first task to which newly added functional software has been mapped. The second software runtime entity running all or part of the newly added functional software can be mapped to the first task of the virtual ECU simulation platform as the second task. The second task is run using the virtual ECU simulation platform configured as described above, and a second virtual runtime load of the second software runtime entity within the second task is calculated based on the load calculation algorithm described above, such as an average runtime time T2' within a specific time period.

[0046] The estimating unit is further configured to estimate a second actual operating load of the second software execution entity when running on the actual ECU development platform based on the second virtual operating load and the load scaling factor. Specifically, the estimating unit may calculate the load of the second software execution entity on the actual ECU development platform based on the load scaling factor K obtained in the aforementioned step. For example, the estimated average operating time T1' = T2 / K.

[0047] According to another aspect of the present application, a computer-readable storage medium is provided. The computer-readable storage medium stores instructions, which, when executed by a processor, implement the vehicle electronic control unit ECU software load estimation method as described in any of the aforementioned embodiments. The above processing operations of the processor can be performed with reference to the details of method 100. The memory can be a computer-readable medium including various types of computer storage media, and can be any available medium that can be accessed by a general or special computer. For example, the computer-readable medium can include RAM, ROM, EPROM, E 2 PROM, register, hard disk, removable disk, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage device, or any other temporary or non-temporary medium that can be used to carry or store desired program code units in the form of instructions or data structures and can be accessed by a general or special-purpose computer, or a general or special-purpose processor. As used herein, disks usually copy data magnetically, while dishes use lasers to optically copy data. The above combinations should also be included in the scope of protection of computer-readable media. An exemplary storage medium is coupled to a processor so that the processor can read and write information from / to the storage medium. In an alternative solution, the storage medium can be integrated into the processor. The processor and storage medium can reside in an ASIC. The ASIC can reside in a user terminal. In an alternative solution, the processor and storage medium can reside in a user terminal as discrete components.

[0048] According to yet another aspect of the present application, an electronic device is provided. The electronic device includes a processor and a memory storing instructions which, when executed by the processor, implement the vehicle electronic control unit (ECU) software load estimation method as described in any of the preceding embodiments. The memory and the processor can be connected by wire or wirelessly to enable transmission or interaction of data. For example, the components can be electrically connected to each other through one or more communication buses. The memory can be, for example, the computer readable storage medium described above. The processor can have a signal processing capability processing module, such as a general purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; and can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic component, a discrete hardware component.

[0049] The above merely provides the specific implementation of the present application, but the protection scope of the present application is not limited thereto. Those skilled in the art can think of other feasible changes or replacements according to the technical range disclosed in the present application, and such changes or replacements are all encompassed in the protection scope of the present application. The embodiments and features in the embodiments can also be combined with each other without conflict. The protection scope of the present application is subject to the description of the claims.

Claims

1. A method for estimating software load of an automotive electronic control unit (ECU), characterized in that: The method comprises the following steps: Running a first task on an actual ECU development platform, and calculating a first actual running load of a first software running entity under the first task, wherein the first task is a task to which the newly added functional software is expected to be mapped; Running the first task on a virtual ECU simulation platform corresponding to the actual ECU development platform, and calculating a first virtual running load of the first software running entity under the first task; obtaining a load scaling factor based on the first actual operating load and the first virtual operating load; Running a second task on the virtual ECU simulation platform, where the second task is the first task to which the newly added functional software has been mapped, and calculating a second virtual running load of a second software running entity under the second task; and A second actual running load of the second software running entity when running on the actual ECU development platform is estimated according to the second virtual running load and the load scaling factor.

2. The method according to claim 1, characterized in that The average value of the running time of the software running entity in the first time period is used as an indication of the size of the running load.

3. The method according to claim 1, characterized in that The software part of the actual ECU development platform is transplanted to the virtual simulation platform to form the virtual ECU simulation platform.

4. The method according to claim 1, wherein The virtual ECU simulation platform has a software interface portion that is consistent with the software interface portion of the actual ECU development platform.

5. The method according to claim 1, wherein The software of the virtual ECU simulation platform and the actual ECU development platform have task scheduling under the same cycle or event.

6. The method according to claim 1, characterized in that The method further includes recalculating the load scaling factor in response to a change in a computing device on which the virtual ECU simulation platform runs.

7. The method according to claim 1, characterized in that The method further includes calculating the total actual running load of all software running entities under the second task based on the estimation of the second actual running load.

8. An automotive electronic control unit (ECU) software load estimation system, characterized in that: The system comprises: an actual ECU development platform configured to run a first task and calculate a first actual running load of a first software running entity under the first task, wherein the first task is a task to which the newly added functional software is expected to be mapped; a virtual ECU simulation platform corresponding to the actual ECU development platform, the virtual ECU simulation platform being configured to run the first task and calculate a first virtual running load of the first software running entity under the first task; an estimating unit configured to obtain a load scaling factor based on the first actual operating load and the first virtual operating load; The virtual ECU simulation platform is further configured to run a second task and calculate a second virtual running load of a second software running entity under the second task, wherein the second task is the first task to which the newly added functional software has been mapped; and The estimating unit is further configured to estimate a second actual running load of the second software running entity when running on the actual ECU development platform according to the second virtual running load and the load scaling factor.

9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores instructions, which, when executed by a processor, implement the method according to any one of claims 1 to 7.

10. An electronic device, characterized in that: The electronic device comprises a processor and a memory storing instructions, and when the instructions are executed by the processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Method for forecasting executive time of Map Reduce operation

    CN103019855A

  • Predictive load scaling for services

    CN106164864A