Vehicle control method and device, controller, storage medium and product
By using multi-core processors and dynamic task scheduling methods in the vehicle control system, the problem of single-core processors being difficult to support complex control tasks in modern vehicles is solved, and processing efficiency and real-time performance are improved.
Patent Information
- Application Number
- CN202411512771.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-28
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2044-10-28
AI Technical Summary
The computing power of single-core processors is difficult to support complex control tasks in modern vehicles, resulting in inefficient processing.
The multi -core processor is adopted, and the task type, priority and real -time requirements are determined by receiving vehicle task requests, combined with the processing core load information and health status, determine the target processing core from multiple processing cores, and assign tasks.
Improve the processing efficiency of vehicle control tasks, and meet the real -time needs of complex vehicle control tasks through parallel processing and dynamic task scheduling.
Smart Images

Figure CN119348553A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of vehicle control technology, and in particular to a vehicle control method, device, controller, storage medium and product. Background Art
[0002] With the development of the automobile industry, the degree of intelligence and electrification of vehicles is constantly improving, and traditional mechanical and electrical control systems are gradually replaced by complex electronic controllers. Electronic controllers are widely used in many fields such as automobile power systems, chassis control, body control, infotainment systems, and driver assistance systems.
[0003] Electronic controllers in related technologies usually use a single-core processor architecture, which can meet simple control requirements. However, as the functions of automobiles continue to increase, the computing power of single-core processors has gradually become a bottleneck, making it difficult to support the complex control tasks of modern vehicles. Summary of the invention
[0004] The embodiments of the present application provide a vehicle control method, device, controller, storage medium and product. The technical solution is as follows:
[0005] In one aspect, a vehicle control method is provided, the method comprising:
[0006] receiving a vehicle task request, the vehicle task request being used to request a multi-core processor of the vehicle to execute a vehicle control task corresponding to the vehicle task request, the multi-core processor comprising a plurality of first processing cores, different first processing cores being used to process tasks of different task types;
[0007] Determine a task type of a vehicle control task corresponding to the vehicle task request;
[0008] Determining the priority level of the vehicle control task corresponding to the vehicle task request;
[0009] Determine real-time requirement information of a vehicle control task corresponding to the vehicle task request, wherein the real-time requirement information is used to indicate the real-time requirement of the vehicle control task;
[0010] Determining load information, health status information, and adapted task types of the plurality of first processing cores;
[0011] Determine a first target processing core from the plurality of first processing cores based on the task type, priority level and real-time demand information of the vehicle control task corresponding to the vehicle task request and the load information, health status information and adapted task type of the plurality of first processing cores;
[0012] The vehicle control task corresponding to the vehicle task request is allocated to the first target processing core, and the task corresponding to the vehicle task request is processed by the first target processing core.
[0013] In a possible implementation, allocating the vehicle control task corresponding to the vehicle task request to the first target processing core, and processing the task corresponding to the vehicle task request by the first target processing core, includes:
[0014] In a case where the first target processing core is an engine control core, assigning the vehicle control task corresponding to the vehicle task request to the engine control core, and processing the task corresponding to the vehicle task request by the engine control core based on cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space;
[0015] In the case where the first target processing core is a motor control core, the vehicle control task corresponding to the vehicle task request is assigned to the motor control core, and the motor control core processes the task corresponding to the vehicle task request based on the cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space;
[0016] In a case where the first target processing core is a transmission control core, allocating the vehicle control task corresponding to the vehicle task request to the transmission control core, and processing the task corresponding to the vehicle task request by the transmission control core based on cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space;
[0017] In a case where the first target processing core is a communication processing core, processing the task corresponding to the vehicle task request by the communication processing core based on cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space;
[0018] Among them, the first cache space is used to store data whose access frequency is greater than a first preset frequency, the second cache space is used to store data whose access frequency is greater than a second preset frequency and less than the first preset frequency, and the third cache space is used to store data whose access frequency is less than the second preset frequency, the first preset frequency is greater than the second preset frequency, and the second preset frequency is greater than the third preset frequency.
[0019] In another possible implementation, the method further includes:
[0020] In the process of the first target processing core processing the task corresponding to the vehicle task request, determining the task completion degree, task execution time and task resource utilization rate of the vehicle control task corresponding to the vehicle task request, wherein the task resource utilization rate is the resource utilization rate of the vehicle control task corresponding to the vehicle task request processed by the first target processing core;
[0021] Determining task execution information of the vehicle control task corresponding to the vehicle task request based on the task completion degree, the task execution time and the task resource utilization rate;
[0022] Based on the task execution information, determining adjustment strategy information of the vehicle control task corresponding to the vehicle task request, the adjustment strategy information including at least one of task reallocation to other processing cores, task decomposition to multiple processing cores, and adjustment of resources of the first target processing core;
[0023] The vehicle control task corresponding to the vehicle task request is adjusted based on the adjustment strategy information.
[0024] In another possible implementation, the multi-core processor further includes a second processing core, and the second processing core is used to run the power management model;
[0025] The method further comprises:
[0026] Acquiring load information of the plurality of first processing cores;
[0027] Based on the load information of the plurality of first processing cores, calling the battery management model executed by the second processing core to determine the power management information of the plurality of first processing cores, the power management information including the power state and the power frequency, and adjusting the power state and the power frequency of the plurality of first processing cores based on the power management information of the plurality of first processing cores; and / or,
[0028] Based on the load information of the multiple first processing cores, a second target processing core is determined from the multiple first processing cores, the second target processing core is a processing core whose load is lower than a preset load, and the second target processing core is controlled to switch from a first operating mode to a second operating mode, and the power consumption of the second target processing core in the second operating mode is lower than the power consumption of the second target processing core in the first operating mode.
[0029] In another possible implementation, the multi-core processor further includes a third processing core, and the third processing core is used to run the fault prediction model;
[0030] The method further comprises:
[0031] Acquiring operation information of the plurality of first processing cores;
[0032] Based on the operation information of the plurality of first processing cores, calling the fault prediction model operated by the second processing core to determine the fault prediction information of the plurality of first processing cores, the fault prediction information including potential existence of a fault or non-existence of a fault;
[0033] determining fault detection information of the plurality of first processing cores, the fault detection information including whether a fault occurs or not;
[0034] Based on the fault prediction information and the fault detection information of the plurality of first processing cores, determining a second target processing core from the plurality of first processing cores, the second target processing core being a processing core that has a fault or is potentially faulty;
[0035] The tasks of the second target processing core are allocated to other processing cores among the plurality of first processing cores, and the tasks of the second target processing core are processed by the other processing cores.
[0036] In another possible implementation, determining a first target processing core from the plurality of first processing cores based on the task type, priority level, and real-time demand information of the vehicle control task corresponding to the vehicle task request and the load information, health status information, and adapted task type of the plurality of first processing cores includes:
[0037] Determine at least one candidate processing core from the plurality of first processing cores based on the task type of the vehicle control task corresponding to the vehicle task request, the health status information of the plurality of first processing cores, and the task types adapted by the plurality of first processing cores, wherein the health status information of the at least one candidate processing core is used to indicate that the state of the at least one candidate processing core is normal, and the task type adapted by the at least one candidate processing core is the same as the task type of the vehicle control task corresponding to the vehicle task request;
[0038] Based on the priority level of the vehicle control task corresponding to the vehicle task request, the real-time requirement information and the load information of the at least one candidate processing core, the first target processing core is determined from the at least one candidate processing core, the load information of the first target processing core matches the priority level of the vehicle control task corresponding to the vehicle task request, and the processing speed of the first target processing core meets the real-time requirement corresponding to the real-time requirement information.
[0039] In another aspect, a vehicle control device is provided, the device comprising:
[0040] A receiving module, configured to receive a vehicle task request, wherein the vehicle task request is used to request a multi-core processor of the vehicle to execute a vehicle control task corresponding to the vehicle task request, wherein the multi-core processor includes a plurality of first processing cores, and different first processing cores are used to process tasks of different task types;
[0041] A first determining module, used to determine a task type of a vehicle control task corresponding to the vehicle task request;
[0042] A second determination module, used to determine the priority level of the vehicle control task corresponding to the vehicle task request;
[0043] A third determination module is used to determine the real-time requirement information of the vehicle control task corresponding to the vehicle task request, wherein the real-time requirement information is used to indicate the real-time requirement of the vehicle control task;
[0044] a fourth determination module, configured to determine load information, health status information, and adapted task types of the plurality of first processing cores;
[0045] a fifth determination module, configured to determine a first target processing core from the plurality of first processing cores based on a task type, a priority level, and real-time demand information of the vehicle control task corresponding to the vehicle task request and load information, health status information, and adapted task types of the plurality of first processing cores;
[0046] The first processing module is used to assign the vehicle control task corresponding to the vehicle task request to the first target processing core, and process the task corresponding to the vehicle task request through the first target processing core.
[0047] In a possible implementation, the first processing module is used to assign the vehicle control task corresponding to the vehicle task request to the engine control core when the first target processing core is an engine control core, and process the task corresponding to the vehicle task request by the engine control core based on the cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space;
[0048] The first processing module is used for allocating the vehicle control task corresponding to the vehicle task request to the motor control core when the first target processing core is a motor control core, and processing the task corresponding to the vehicle task request by the motor control core based on the cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space;
[0049] The first processing module is used for allocating the vehicle control task corresponding to the vehicle task request to the transmission control core when the first target processing core is a transmission control core, and processing the task corresponding to the vehicle task request by the transmission control core based on the cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space;
[0050] The first processing module is used for processing the task corresponding to the vehicle task request through the communication processing core based on the cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space when the first target processing core is a communication processing core;
[0051] Among them, the first cache space is used to store data whose access frequency is greater than a first preset frequency, the second cache space is used to store data whose access frequency is greater than a second preset frequency and less than the first preset frequency, and the third cache space is used to store data whose access frequency is less than the second preset frequency, the first preset frequency is greater than the second preset frequency, and the second preset frequency is greater than the third preset frequency.
[0052] In another possible implementation, the device further includes:
[0053] A sixth determination module, configured to determine, during the process in which the first target processing core processes the task corresponding to the vehicle task request, a task completion degree, a task execution duration, and a task resource utilization rate of the vehicle control task corresponding to the vehicle task request, wherein the task resource utilization rate is a resource utilization rate of the vehicle control task corresponding to the vehicle task request processed by the first target processing core;
[0054] a seventh determination module, configured to determine task execution information of the vehicle control task corresponding to the vehicle task request based on the task completion degree, the task execution time and the task resource utilization rate;
[0055] an eighth determination module, configured to determine, based on the task execution information, adjustment strategy information of the vehicle control task corresponding to the vehicle task request, the adjustment strategy information comprising at least one of task reallocation to other processing cores, task decomposition to multiple processing cores, and adjustment of resources of the first target processing core;
[0056] An adjustment module is used to adjust the vehicle control task corresponding to the vehicle task request based on the adjustment strategy information.
[0057] In another possible implementation, the multi-core processor further includes a second processing core, and the second processing core is used to run the power management model;
[0058] The device also includes:
[0059] A first acquisition module, configured to acquire load information of the plurality of first processing cores;
[0060] a ninth determination module, configured to call the battery management model executed by the second processing core to determine power management information of the plurality of first processing cores based on the load information of the plurality of first processing cores, the power management information including power status and power frequency, and adjust the power status and power frequency of the plurality of first processing cores based on the power management information of the plurality of first processing cores; and / or,
[0061] a tenth determination module, configured to determine a second target processing core from among the plurality of first processing cores based on the load information of the plurality of first processing cores, wherein the second target processing core is a processing core having a load lower than a preset load, and control the second target processing core to switch from a first operating mode to a second operating mode, wherein the power consumption of the second target processing core in the second operating mode is lower than the power consumption of the second target processing core in the first operating mode.
[0062] In another possible implementation, the multi-core processor further includes a third processing core, and the third processing core is used to run the fault prediction model;
[0063] The device also includes:
[0064] A second acquisition module, used to acquire the operation information of the plurality of first processing cores;
[0065] A calling module, configured to call the fault prediction model executed by the second processing core to determine the fault prediction information of the first processing cores based on the running information of the first processing cores, wherein the fault prediction information includes the potential existence of a fault or the absence of a fault;
[0066] an eleventh determining module, configured to determine fault detection information of the plurality of first processing cores, the fault detection information including whether a fault occurs or not;
[0067] A twelfth determination module, configured to determine a second target processing core from the plurality of first processing cores based on the fault prediction information and the fault detection information of the plurality of first processing cores, wherein the second target processing core is a processing core that has a fault or has a potential fault;
[0068] The second processing module is used to allocate the tasks of the second target processing core to other processing cores among the plurality of first processing cores, and process the tasks of the second target processing core by the other processing cores.
[0069] In another possible implementation, the fifth determination module is used to determine at least one candidate processing core from the multiple first processing cores based on the task type of the vehicle control task corresponding to the vehicle task request, the health status information of the multiple first processing cores and the task types adapted by the multiple first processing cores, the health status information of the at least one candidate processing core being used to indicate that the status of the at least one candidate processing core is normal, and the task type adapted by the at least one candidate processing core is the same as the task type of the vehicle control task corresponding to the vehicle task request; based on the priority level of the vehicle control task corresponding to the vehicle task request, the real-time requirement information and the load information of the at least one candidate processing core, determine the first target processing core from the at least one candidate processing core, the load information of the first target processing core matches the priority level of the vehicle control task corresponding to the vehicle task request, and the processing speed of the first target processing core meets the real-time requirement corresponding to the real-time requirement information.
[0070] On the other hand, a task scheduler is provided, which includes a processor and a memory, wherein at least one program code is stored in the memory, and the at least one program code is loaded and executed by the processor to implement the above-mentioned vehicle control method.
[0071] On the other hand, a computer-readable storage medium is provided, in which at least one program code is stored. The at least one program code is loaded and executed by a processor to implement the above-mentioned vehicle control method.
[0072] On the other hand, a computer program product is provided, wherein the product stores at least one program code, and the at least one program code is used to be executed by a processor to implement the above-mentioned vehicle control method.
[0073] In the embodiments of the present application, on the one hand, the functions of multiple processing cores are integrated into a multi-core processor, so that the multi-core processor has the ability to process vehicle control tasks in parallel; therefore, processing vehicle control tasks based on a multi-core processor can improve processing efficiency; on the other hand, when selecting a processing core from a multi-core processor, it is determined based on multiple dimensions in multiple aspects based on the task type, priority level and real-time demand information of the vehicle control task and the load information, health status information and adapted task type of multiple first processing cores, thereby improving the accuracy of the determined first target processing core, and then improving the processing efficiency of the first target processing core in processing vehicle control tasks. In summary, the embodiments of the present application can provide processing efficiency of vehicle control tasks in two aspects.
[0074] It is to be understood that the foregoing general description and the following detailed description are exemplary only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0075] Figure 1 is a schematic diagram of a vehicle control system shown in an exemplary embodiment of the present application;
[0076] Figure 2 is a schematic diagram of a vehicle control system shown in an exemplary embodiment of the present application;
[0077] Figure 3 is a flow chart of a vehicle control method shown in an exemplary embodiment of the present application;
[0078] Figure 4 is a flow chart of a vehicle control method shown in an exemplary embodiment of the present application;
[0079] Figure 5 is a flow chart of a vehicle control method shown in an exemplary embodiment of the present application;
[0080] Figure 6 is a flow chart of a vehicle control method shown in an exemplary embodiment of the present application;
[0081] Figure 7 is a flow chart of a vehicle control method shown in an exemplary embodiment of the present application;
[0082] Figure 8 is a flow chart of a vehicle control method shown in an exemplary embodiment of the present application;
[0083] Fig. 9 is a structural block diagram of a vehicle control device provided by an exemplary embodiment of the present application;
[0084] Fig.10 It is a structural block diagram of a task scheduler shown in an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0085] In order to make the technical solutions and advantages of the present application clearer, the implementation methods of the present application are described in further detail below.
[0086] The terms "first", "second", "third" and "fourth" etc. in the specification and claims of the present application and the drawings are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices.
[0087] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions. For example, the vehicle task request, real-time demand information of vehicle control tasks, load information of multiple first processing cores, health status information and adapted task types involved in this application are all obtained with full authorization.
[0088] Please refer to Figure 1 , which shows a schematic diagram of a vehicle control system shown in an exemplary embodiment of the present application; the vehicle control system includes a multi-core processor, a task scheduler, an input-output module, a peripheral interface, a bus system, and a memory; the input-output module is electrically connected to an external device; the input-output module, the peripheral interface, and the bus system are connected in sequence, and the bus system is also electrically connected to the memory and the task scheduler, and the task scheduler is electrically connected to the multi-core processor.
[0089] The multi-core processor includes a plurality of first processing cores, the plurality of first processing cores can independently execute vehicle control tasks, and the plurality of first processing cores allow for parallel processing of a plurality of vehicle control tasks, thereby improving the performance and response speed of the system. For example, please continue to refer to Figure 1, the multiple first processing cores include an engine control core, a motor control core, a transmission control core and a communication processing core. Among them, the engine control core is responsible for controlling the operation of the engine, including the engine's fuel injection, intake control, emission control, etc.; and the engine control core also monitors and adjusts various sensor data of the engine in real time to ensure the normal operation of the engine under different load conditions. The motor control core is responsible for controlling the speed and torque output of the motor; and the engine control core works closely with the vehicle's battery management system to optimize power usage and driving efficiency. The transmission control core is used to control the operation of the automatic transmission, including shifting logic, clutch control and torque conversion. The communication processing core is responsible for handling the task of communicating between the vehicle's internal network and external devices.
[0090] The task scheduler is used to manage and schedule vehicle control tasks of multiple first processing cores, that is, the task scheduler decides which vehicle control tasks are assigned to which first processing cores; and dynamically adjusts the allocation of vehicle control tasks according to the load information of the multiple first processing cores and the priority levels of the vehicle control tasks, thereby ensuring that the vehicle control tasks can be executed efficiently and balanced among the multiple first processing cores.
[0091] The input and output modules are used to process the input and output signals of the vehicle system; for example, the input and output modules are used to receive vehicle task requests from external devices, convert the vehicle task requests into digital signals that can be processed by the vehicle control system, and send the digital signals to the peripheral interface; for another example, the input and output modules are used to receive output signals from the peripheral interface and send the output signals to the peripheral device. The external interface is used to connect the multi-core processor with external devices through the bus system; the external devices can be vehicle sensors, external memory, and communication modules, etc. The bus system is used to transmit data between multiple first processing cores, memory, and external devices to ensure that the various components of the vehicle control system can work together seamlessly.
[0092] The memory may be a dynamic random access memory (DRAM) or a non-volatile memory (Flash); the memory is used to provide storage space for the vehicle control system; for example, the memory is used to store operating data, instructions, and system status of multiple first processing cores; and the memory ensures that the multiple first processing cores can quickly access required data to support efficient task execution.
[0093] Please refer to Figure 2The vehicle control system also includes a cache space, which includes a first cache space, a second cache space, and a third cache space; the first cache space, the second cache space, and the third cache space accelerate data access through different levels of storage structures to ensure that multiple first processing cores can quickly obtain the required data when processing real-time vehicle control tasks of the vehicle. The first cache space cache is a storage space exclusively used by multiple first processing cores, and the first cache space is a high-speed small-capacity cache; the first cache space is used to store real-time control parameters, which need to be frequently accessed and have a short storage cycle; for example, the first cache space is used to store real-time read data of vehicle sensors (such as throttle position, engine speed, vehicle speed, etc.), local variables of the control algorithm, instruction data, program instructions of vehicle control tasks, etc. The second cache space is used to store data with a low data update frequency but shared among multiple first processing cores. For example, when the first cache space cannot fully accommodate all real-time data, the second cache space can help store more calculation intermediate values or historical data, status data of vehicle operation, etc. The third cache space is used to cache a large amount of data that needs to be shared among multiple first processing cores, such as vehicle comprehensive operating conditions, energy management strategy data, and historical status data. It may be used by multiple first processing cores, but the access frequency is not high.
[0094] In one possible implementation, the vehicle control system also includes a network on chip (Network on Chip, NoC). In an embodiment of the present application, the NoC is responsible for data communication between multiple first processing cores and data communication between the first processing core and other components. It ensures that data can be effectively transmitted between different processing cores through high-speed connections, supporting the efficient execution of parallel computing tasks.
[0095] In a possible implementation, the multi-core processor also includes a second processing core and a third processing core, the second processing core is used to run the power management model, and the third processing core is used to run the fault prediction model; accordingly, the vehicle control system also includes a battery management unit and a fault detection and recovery unit, the battery management unit is used to call the battery management model to manage the power of the multi-core processor; the fault detection and recovery unit is used to call the fault prediction model to perform fault detection on the multi-core processor, and perform fault recovery after the fault is detected. The second processing core and the third processing core can be the same processing core or different processing cores; in Figure 2 In the example, the second processing core and the third processing core are the same processing core and become the AI algorithm core. In another possible implementation, the multi-core processor also includes a spare processing core, which is used to start and be used when needed.
[0096] Please refer to Figure 3, which shows a flow chart of a vehicle control method shown in an exemplary embodiment of the present application. Figure 3 , the method comprising:
[0097] Step 301: Receive a vehicle task request, where the vehicle task request is used to request a multi-core processor of the vehicle to execute a vehicle control task corresponding to the vehicle task request. The multi-core processor includes multiple first processing cores, and different first processing cores are used to process tasks of different task types.
[0098] The external device sends a vehicle task request to the task scheduler. The vehicle task request carries a vehicle control task. The task scheduler receives the vehicle task request sent by the external device. The external device may be a vehicle sensor, an external memory, a communication module, etc.
[0099] Step 302: Determine the task type of the vehicle control task corresponding to the vehicle task request.
[0100] After receiving the vehicle task request, the task scheduler pre-processes the vehicle task request and determines the task type based on the pre-processed vehicle task request; the task type may be an engine control type, a motor control type, a transmission control type, a communication processing type, etc. Among them, the step of the task scheduler pre-processing the vehicle task request may be: the task scheduler converts the vehicle task request into a vehicle task request in a digital signal format, and the vehicle task request in the digital signal format can be correctly parsed and identified.
[0101] Step 303: Determine the priority level of the vehicle control task corresponding to the vehicle task request.
[0102] The priority of the vehicle control task is determined based on the importance of the vehicle control task and the degree of influence on the vehicle control system, and the degree of influence may be the degree of influence on the stability and / or safety of the vehicle control system; accordingly, the step of the task scheduler determining the priority of the vehicle control task corresponding to the vehicle task request may be: the task scheduler determines the importance of the vehicle control task and the degree of influence on the vehicle control system, and performs a weighted summation of the importance and the degree of influence to obtain the priority of the vehicle control task. For example, vehicle control tasks such as engine control, transmission control, and motor control involve the core functions and driving safety of the vehicle, and are therefore assigned a higher priority; for another example, vehicle control tasks such as vehicle control tasks related to comfort and entertainment systems (air conditioning control or switching songs) do not involve the core functions and driving safety of the vehicle, and are therefore assigned a lower priority.
[0103] For example, see Figure 4, input the vehicle task request, pre-process the vehicle task request, then perform task identification on the pre-processed vehicle task request to obtain the task type of the vehicle control task, and determine the priority level of the vehicle control task.
[0104] Step 304: Determine the real-time requirement information of the vehicle control task corresponding to the vehicle task request. The real-time requirement information is used to indicate the real-time requirement of the vehicle control task.
[0105] The real-time demand information may be a real-time level; the real-time level may be a first real-time level, a second real-time level, and a third real-time level, wherein the first real-time level is higher than the second real-time level, and the second real-time level is higher than the third real-time level; for example, the first real-time level is high, the second real-time level is medium, and the third real-time level is low. For example, vehicle control tasks involving driving safety such as emergency braking systems usually have strict real-time requirements, that is, the real-time demand information of such vehicle control tasks is the first real-time level (high); and some background vehicle control tasks (such as system log recording or data analysis) usually do not require real-time processing, that is, the real-time requirements are low, that is, the real-time demand information of such vehicle control tasks is the second real-time level (low).
[0106] Step 305: Determine load information, health status information, and adapted task types of the plurality of first processing cores.
[0107] For any first processing core, the load information of the first processing core may be the number of processes being run by the first processing core and the number of processes waiting to be run; the health status information may be normal or abnormal; the adapted task type may be an engine control type, a motor control type, a transmission control type, or a communication processing type.
[0108] Step 306: Determine a first target processing core from among the multiple first processing cores based on the task type, priority level and real-time demand information of the vehicle control task corresponding to the vehicle task request and the load information, health status information and adapted task type of the multiple first processing cores.
[0109] This step can be achieved by following the steps (1) and (2), including:
[0110] (1) The task scheduler determines at least one candidate processing core from the multiple first processing cores based on the task type of the vehicle control task corresponding to the vehicle task request, the health status information of the multiple first processing cores, and the task types adapted by the multiple first processing cores, wherein the health status information of the at least one candidate processing core is used to indicate that the status of the at least one candidate processing core is normal, and the task type adapted by the at least one candidate processing core is the same as the task type of the vehicle control task corresponding to the vehicle task request.
[0111] (2) The task scheduler determines a first target processing core from at least one candidate processing core based on the priority level of the vehicle control task corresponding to the vehicle task request, the real-time demand information, and the load information of at least one candidate processing core, the load information of the first target processing core matches the priority level of the vehicle control task corresponding to the vehicle task request, and the processing speed of the first target processing core meets the real-time demand corresponding to the real-time demand information.
[0112] The task scheduler determines at least one pending processing core from at least one candidate processing core based on the priority level of the vehicle control task corresponding to the vehicle task request and the load information of at least one candidate processing core; and determines a first target processing core from at least one pending processing core based on the real-time demand information of the vehicle control task.
[0113] Wherein, the task scheduler determines at least one pending processing core from at least one candidate processing core based on the priority level of the vehicle control task corresponding to the vehicle task request and the load information of at least one candidate processing core, and the step may be: when the priority level of the vehicle control task is the first priority level (high), the task scheduler determines the pending processing core whose load size is less than the first preset load from at least one candidate processing core; when the priority level of the vehicle control task is the second priority level (medium), the task scheduler determines the pending processing core whose load size is greater than the first preset load and less than the second preset load from at least one candidate processing core; when the priority level of the vehicle control task is the third priority level (low), the task scheduler determines the pending processing core whose load size is greater than the second preset load from at least one candidate processing core. The first preset load is less than the second preset load.
[0114] Among them, the step of determining the first target processing core from at least one pending processing core by the task scheduler based on the real-time demand information of the vehicle control task can be: the task scheduler determines the real-time score of at least one pending processing core based on the vehicle control tasks being executed and the vehicle control tasks not being executed by the at least one pending processing core, and the real-time score is negatively correlated with the urgency of the vehicle control tasks being executed and the vehicle control tasks not being executed, that is, if the pending processing core has an urgent task being executed or an urgent task not being executed, the real-time score of the pending processing core is lower; and the real-time score of the pending processing core without an urgent task is higher. When the real-time requirement information of the vehicle control task is the first real-time level, the task scheduler determines a first target processing core whose real-time score is greater than a first preset score from at least one pending processing core; when the real-time requirement information of the vehicle control task is the second real-time level, the task scheduler determines a first target processing core whose real-time score is less than the first preset score and greater than the second preset score from at least one pending processing core; when the real-time requirement information of the vehicle control task is the third real-time level, the task scheduler determines a first target processing core whose real-time score is less than the second preset score from at least one pending processing core; the first preset score is greater than the second preset score.
[0115] Step 307: Allocate the vehicle control task corresponding to the vehicle task request to the first target processing core, and process the task corresponding to the vehicle task request through the first target processing core.
[0116] This step can be achieved by following the steps (1) to (4), including:
[0117] (1) When the first target processing core is an engine control core, a vehicle control task corresponding to a vehicle task request is assigned to the engine control core, and the engine control core processes the task corresponding to the vehicle task request based on cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space.
[0118] Among them, the first cache space is used to store data with an access frequency greater than the first preset frequency, the second cache space is used to store data with an access frequency greater than the second preset frequency and less than the first preset frequency, and the third cache space is used to store data with an access frequency less than the second preset frequency, the first preset frequency is greater than the second preset frequency, and the second preset frequency is greater than the third preset frequency. In a possible implementation, the first cache space is used to store real-time control parameters, which need to be frequently accessed and have a short storage cycle; for example, the first cache space is used to store real-time read data of vehicle sensors (such as throttle position, engine speed, vehicle speed, etc.), local variables of control algorithms, instruction data, program instructions of vehicle control tasks, etc. The second cache space is used to store data with a low data update frequency but shared among multiple first processing cores. For example, when the first cache space cannot fully accommodate all real-time data, the second cache space can help store more calculated intermediate values or historical data, vehicle status data during operation, etc. The third cache space is used to cache a large amount of data that needs to be shared among multiple first processing cores, such as vehicle comprehensive working conditions, energy management strategy data, and historical status data, which may be used by multiple first processing cores but have a low access frequency.
[0119] For example, if the vehicle control task is a fuel injection control task, the fuel injection control task is assigned to the engine control core, and the engine control core obtains the throttle position and the engine speed from the first cache space, and controls the fuel injection based on the throttle position and the engine speed.
[0120] (2) When the first target processing core is a motor control core, a vehicle control task corresponding to the vehicle task request is assigned to the motor control core, and the motor control core processes the task corresponding to the vehicle task request based on cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space.
[0121] For example, if the vehicle control task is the speed control task of the motor, the speed control task of the engine is assigned to the motor core, and the throttle position is obtained from the first cache space by the motor core, and the speed of the motor is controlled based on the throttle position.
[0122] (3) When the first target processing core is a transmission control core, a vehicle control task corresponding to the vehicle task request is assigned to the transmission control core, and the transmission control core processes the task corresponding to the vehicle task request based on cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space.
[0123] For example, if the vehicle control task is the clutch control of the transmission, the clutch control task of the transmission is assigned to the transmission core, and the transmission core obtains the vehicle speed from the first cache space, and controls the clutch of the transmission based on the vehicle speed.
[0124] (4) When the first target processing core is a communication processing core, the communication processing core processes the task corresponding to the vehicle task request based on cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space.
[0125] For example, if the vehicle control task is to play favorite songs, the task of playing favorite songs is assigned to the communication processing core, and the communication processing core obtains the historical favorite songs from the third cache space and plays the historical favorite songs.
[0126] In a possible implementation, when the first target processing core needs to perform vehicle control tasks with the help of other processing cores (for the sake of distinction, the other processing cores here can be referred to as the sixth target processing core), the first target processing core communicates data with the other sixth target processing cores through the NoC between the first target processing core and the sixth target processing core; for example, if the first target processing core needs to obtain auxiliary data from the sixth target processing core, the first target processing core obtains the auxiliary data from the sixth target processing core through the NoC. And when the first target processing core communicates with other components of the vehicle, the NoC is also used. In an embodiment of the present application, the NoC is used to be responsible for data communication between multiple first processing cores and data communication between the first processing core and other components. It ensures that data can be effectively transmitted between different processing cores through high-speed connections, and supports the efficient execution of parallel computing tasks. In addition, different processing cores communicate at high speed through the NoC, replacing the external bus communication method between traditional control units, significantly reducing communication delays, and improving the real-time response capability of the vehicle control system.
[0127] In the embodiment of the present application, by integrating the functions of multiple processing cores into a multi-core processor, the multi-core processor has the ability to process vehicle control tasks in parallel; therefore, processing vehicle control tasks based on a multi-core processor can achieve faster response speed, lower system cost and smaller physical cost. In addition, by integrating the functional modules of multiple processing cores, the hardware resources required for independent controllers (such as processor chips, memory, interface circuits) are reduced, significantly reducing the hardware cost of the vehicle control system; and reducing the volume and weight of the vehicle control system, which helps to optimize the layout of the automotive electronic system.
[0128] In the embodiments of the present application, on the one hand, the functions of multiple processing cores are integrated into a multi-core processor, so that the multi-core processor has the ability to process vehicle control tasks in parallel; therefore, processing vehicle control tasks based on a multi-core processor can improve processing efficiency; on the other hand, when selecting a processing core from a multi-core processor, it is determined based on multiple dimensions in multiple aspects based on the task type, priority level and real-time demand information of the vehicle control task and the load information, health status information and adapted task type of multiple first processing cores, thereby improving the accuracy of the determined first target processing core, and then improving the processing efficiency of the first target processing core in processing vehicle control tasks. In summary, the embodiments of the present application can provide processing efficiency of vehicle control tasks in two aspects.
[0129] Please refer to Figure 4 , which shows a flow chart of a vehicle control method shown in an exemplary embodiment of the present application. Figure 4 , the method comprising:
[0130] Step 401: The task scheduler receives a vehicle task request, which is used to request the vehicle's multi-core processor to execute a vehicle control task corresponding to the vehicle task request. The multi-core processor includes multiple first processing cores, and different first processing cores are used to process tasks of different task types.
[0131] In some embodiments, this step is the same as step 301 and will not be repeated here.
[0132] Step 402: The task scheduler determines the task type of the vehicle control task corresponding to the vehicle task request.
[0133] In some embodiments, this step is the same as step 302 and will not be repeated here.
[0134] Step 403: The task scheduler determines the priority level of the vehicle control task corresponding to the vehicle task request.
[0135] In some embodiments, this step is the same as step 303 and will not be repeated here.
[0136] Step 404: The task scheduler determines the real-time requirement information of the vehicle control task corresponding to the vehicle task request. The real-time requirement information is used to indicate the real-time requirement of the vehicle control task.
[0137] In some embodiments, this step is the same as step 304 and will not be described again herein.
[0138] Step 405: The task scheduler determines the load information, health status information, and adapted task types of the plurality of first processing cores.
[0139] In some embodiments, this step is the same as step 305 and will not be repeated here.
[0140] Step 406: The task scheduler determines a first target processing core from multiple first processing cores based on the task type, priority level and real-time demand information of the vehicle control task corresponding to the vehicle task request and the load information, health status information and adapted task type of the multiple first processing cores.
[0141] In some embodiments, this step is the same as step 306 and will not be repeated here.
[0142] Step 407: The task scheduler assigns the vehicle control task corresponding to the vehicle task request to the first target processing core, and processes the task corresponding to the vehicle task request through the first target processing core.
[0143] In some embodiments, this step is the same as step 307 and will not be repeated here.
[0144] Step 408: During the process of the first target processing core processing the task corresponding to the vehicle task request, the task scheduler determines the task completion degree, task execution duration and task resource utilization rate of the vehicle control task corresponding to the vehicle task request. The task resource utilization rate is the resource utilization rate of the vehicle control task corresponding to the vehicle task request processed by the first target processing core.
[0145] The task completion degree of the vehicle control task is used to indicate the degree of completion of the vehicle control task; for example, the task completion degree of the vehicle control task can be 50%, 80%, etc.; the task execution duration can be the duration for which the vehicle control task is executed; for example, the task execution duration can be 0.2 seconds or 0.3 seconds, etc.
[0146] Step 409: The task scheduler determines the task execution information of the vehicle control task corresponding to the vehicle task request based on the task completion degree, task execution time and task resource utilization rate.
[0147] In one possible implementation, the task scheduler combines the task completion degree, task execution time and task resource utilization rate into task execution information; or, the task scheduler performs a weighted summation of the task completion degree, task execution time and task resource utilization rate to obtain the task execution degree, and determines the task execution degree as the task execution information.
[0148] Step 410: The task scheduler determines adjustment strategy information of the vehicle control task corresponding to the vehicle task request based on the task execution information, and the adjustment strategy information includes at least one strategy information of reallocating the task to other processing cores, decomposing the task to multiple processing cores, and adjusting the resources of the first target processing core.
[0149] In one possible implementation, the task execution information includes task completion, task execution time and task resource utilization rate. When the task completion is less than the preset completion and the task execution time is greater than the first preset time, the task scheduler determines the adjustment strategy information to allocate the vehicle control task to other processing cores; when the task completion is greater than the preset completion and the task execution time is not greater than the second preset time, the task scheduler determines the adjustment strategy information to decompose the vehicle control task to multiple processing cores; when the task completion is less than the preset completion and the task execution time is less than the first preset time, and the task resource utilization rate is greater than the preset utilization rate, the task scheduler determines the adjustment strategy information to adjust the resources of the first target processing core, that is, to allocate more processing resources to the first target processing core.
[0150] Step 411: The task scheduler adjusts the vehicle control task corresponding to the vehicle task request based on the adjustment strategy information.
[0151] In one possible implementation, the adjustment strategy information is to allocate the vehicle control task to other processing cores, then the task scheduler determines a third target processing core from the other processing cores except the first target processing core among the multiple first processing cores, and allocates the vehicle control task to the third target processing core for processing. In another possible implementation, the adjustment strategy information is to decompose the vehicle control task to multiple processing cores, then the task scheduler determines at least one fourth target processing core from the other processing cores except the first target processing core among the multiple first processing cores, and allocates part of the vehicle control task to at least one fourth target processing core for processing. In another possible implementation, the adjustment strategy information is to adjust the resources of the first target processing core, then the task scheduler adjusts the resources of the first target processing core, that is, increases resources for the first target processing core. For example, please continue to refer to Figure 5 The task scheduler dynamically allocates tasks so that multiple first processing cores execute tasks in parallel; the task scheduler can also obtain the execution results of the vehicle control tasks processed in parallel by multiple first processing cores, integrate the execution results, generate output signals corresponding to the execution results, and output the output signals corresponding to the execution results to realize data feedback and storage.
[0152] In an embodiment of the present application, when the vehicle control system executes a vehicle control task, it will monitor key indicators in real time, such as task completion, task execution time, task resource utilization rate, etc., to evaluate the execution progress of the vehicle control task. According to the progress of task execution, the vehicle control system can adopt dynamic task reallocation, task decomposition, real-time resource adjustment and other strategies to ensure efficient execution of the task; and the vehicle control system can also perform iterative optimization based on real-time feedback on the execution of the vehicle control task to improve the execution efficiency of the vehicle control task.
[0153] Please refer to Figure 6 , which shows a flow chart of a vehicle control method shown in an exemplary embodiment of the present application. Figure 6 , the method comprising:
[0154] Step 601: The task scheduler obtains load information of multiple first processing cores.
[0155] For any first processing core, the load information of the first processing core may be the number of processes being run by the first processing core and the number of processes waiting to be run.
[0156] Step 602: The task scheduler calls the battery management model executed by the second processing core to determine power management information of the plurality of first processing cores based on the load information of the plurality of first processing cores, where the power management information includes power status and power frequency.
[0157] The task scheduler inputs the load information of the multiple first processing cores into the battery management model, and outputs the power management information of the multiple first processing cores, the power management information including the power state and the power frequency, the power state can be on or off, and the power frequency can be 50Hz or 60Hz.
[0158] Step 603: The task scheduler adjusts the power states and power frequencies of the plurality of first processing cores based on the power management information of the plurality of first processing cores.
[0159] For any first processing core, when the power state of the first processing core is off, the power state of the first processing core is turned off; when the power state of the first processing core is on, the power frequency of the first processing core is adjusted to the power frequency included in the battery management information. For example, please continue to refer to Figure 5 , monitor the status of the vehicle control system, perform power consumption analysis on multiple first processing cores, and then optimize the power supply of multiple first processing cores through an AI-optimized battery management model.
[0160] In an embodiment of the present application, the task scheduler dynamically adjusts the power consumption of each first processing core to further improve the energy efficiency of the vehicle control system and extend the service life of the vehicle battery.
[0161] Please refer to Figure 7 , which shows a flow chart of a vehicle control method shown in an exemplary embodiment of the present application. Figure 7 , the method comprising:
[0162] Step 701: The task scheduler obtains load information of multiple first processing cores.
[0163] For any first processing core, the load information of the first processing core may be the number of processes being run by the first processing core and the number of processes waiting to be run.
[0164] Step 702: The task scheduler determines a second target processing core from the plurality of first processing cores based on the load information of the plurality of first processing cores, where the second target processing core is a processing core whose load is lower than a preset load.
[0165] For the sake of distinction, the preset load in this step may be referred to as a third preset load.
[0166] Step 703: The task scheduler controls the second target processing core to switch from the first operating mode to the second operating mode, and the power consumption of the second target processing core in the second operating mode is lower than the power consumption of the second target processing core in the first operating mode.
[0167] The first preset mode may be a high power consumption mode, and the second preset mode may be a low power consumption mode.
[0168] In an embodiment of the present application, the task scheduler controls the second target processing core with reduced load to enter a low power consumption mode, thereby further improving the energy efficiency of the vehicle control system and extending the service life of the vehicle battery.
[0169] Please refer to Figure 8 , which shows a flow chart of a vehicle control method shown in an exemplary embodiment of the present application. Figure 8 , the method comprising:
[0170] Step 801: The task scheduler obtains the operation information of multiple first processing cores.
[0171] For any first processing core, the operation information of the first processing core includes at least one of temperature, power consumption, performance index, error log and historical fault indicator.
[0172] Step 802: The task scheduler calls the fault prediction model of the third processing core to determine the fault prediction information of the first processing cores based on the running information of the first processing cores, where the fault prediction information includes potential existence of faults or non-existence of faults.
[0173] The task scheduler inputs the operation information of the multiple first processing cores into the fault prediction model and outputs the fault prediction information of the multiple first processing cores. In the embodiment of the present application, it depends on constantly monitoring the operation status of the vehicle control system and inputting it into the fault prediction model for analysis and prediction, so as to find out the abnormalities that may cause system failure in advance. In addition, by analyzing the data of temperature, power consumption, performance indicators, error logs, historical faults and other aspects, the long-term health status and short-term abnormal behavior of the system are comprehensively considered to predict whether there is a potential fault in the processing core.
[0174] Step 803: The task scheduler determines fault detection information of the plurality of first processing cores, where the fault detection information includes whether a fault occurs or not.
[0175] Step 804: The task scheduler determines a second target processing core from the plurality of first processing cores based on the fault prediction information and the fault detection information of the plurality of first processing cores, where the second target processing core is a processing core that has a fault or has a potential fault.
[0176] Step 805: The task scheduler distributes the tasks of the second target processing core to other processing cores in the plurality of first processing cores, and processes the tasks of the second target processing core through the other processing cores.
[0177] The multi-core processor includes a spare processing core; in this step, the task scheduler assigns the task of the second target processing core to the spare processing core, and processes the task of the second target processing core through the spare processing core; or, in this step, the task scheduler determines a fifth target processing core from other processing cores except the second target processing core among the plurality of first processing cores, assigns the task of the second target processing core to the fifth target processing core, and processes the task of the second target processing core through the fifth target processing core. For example, please continue to refer to Figure 5 ,The task scheduler performs fault prediction and isolation, and automatic fault recovery.
[0178] In the embodiment of the present application, it is mainly realized by the fault detection and recovery module. When the system detects that a processing core fails, it performs fault isolation, task suspension, task reallocation or use of spare cores, task recovery, faulty core diagnosis and restart, etc.
[0179] In the embodiment of the present application, through the built-in fault prediction model, the fault of the vehicle control system can be predicted in real time and quickly restored (referring to task transfer, etc.), thereby ensuring the stability and reliability of the vehicle control system.
[0180] Please refer to Fig. 9 , which shows a structural block diagram of a vehicle control device provided by an exemplary embodiment of the present application. The device includes:
[0181] A receiving module 901 is used to receive a vehicle task request, wherein the vehicle task request is used to request a multi-core processor of a vehicle to execute a vehicle control task corresponding to the vehicle task request, wherein the multi-core processor includes a plurality of first processing cores, and different first processing cores are used to process tasks of different task types;
[0182] A first determination module 902 is used to determine the task type of the vehicle control task corresponding to the vehicle task request;
[0183] A second determination module 903 is used to determine the priority level of the vehicle control task corresponding to the vehicle task request;
[0184] The third determination module 904 is used to determine the real-time requirement information of the vehicle control task corresponding to the vehicle task request, and the real-time requirement information is used to indicate the real-time requirement of the vehicle control task;
[0185] A fourth determination module 905, configured to determine load information, health status information, and adapted task types of the plurality of first processing cores;
[0186] a fifth determining module 906, configured to determine a first target processing core from the plurality of first processing cores based on the task type, priority level and real-time demand information of the vehicle control task corresponding to the vehicle task request and the load information, health status information and adapted task type of the plurality of first processing cores;
[0187] The first processing module 907 is used to assign the vehicle control task corresponding to the vehicle task request to the first target processing core, and process the task corresponding to the vehicle task request through the first target processing core.
[0188] In a possible implementation, the first processing module 907 is used to assign the vehicle control task corresponding to the vehicle task request to the engine control core when the first target processing core is an engine control core, and process the task corresponding to the vehicle task request by the engine control core based on the cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space;
[0189] The first processing module 907 is used for allocating the vehicle control task corresponding to the vehicle task request to the motor control core when the first target processing core is a motor control core, and processing the task corresponding to the vehicle task request by the motor control core based on the cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space;
[0190] The first processing module 907 is used for allocating the vehicle control task corresponding to the vehicle task request to the transmission control core when the first target processing core is a transmission control core, and processing the task corresponding to the vehicle task request by the transmission control core based on the cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space;
[0191] The first processing module 907 is used for processing the task corresponding to the vehicle task request by the communication processing core based on the cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space when the first target processing core is a communication processing core;
[0192] Among them, the first cache space is used to store data whose access frequency is greater than a first preset frequency, the second cache space is used to store data whose access frequency is greater than a second preset frequency and less than the first preset frequency, and the third cache space is used to store data whose access frequency is less than the second preset frequency, the first preset frequency is greater than the second preset frequency, and the second preset frequency is greater than the third preset frequency.
[0193] In another possible implementation, the device further includes:
[0194] A sixth determination module, configured to determine, during the process in which the first target processing core processes the task corresponding to the vehicle task request, a task completion degree, a task execution duration, and a task resource utilization rate of the vehicle control task corresponding to the vehicle task request, wherein the task resource utilization rate is a resource utilization rate of the vehicle control task corresponding to the vehicle task request processed by the first target processing core;
[0195] a seventh determination module, configured to determine task execution information of the vehicle control task corresponding to the vehicle task request based on the task completion degree, the task execution time and the task resource utilization rate;
[0196] an eighth determination module, configured to determine, based on the task execution information, adjustment strategy information of the vehicle control task corresponding to the vehicle task request, the adjustment strategy information comprising at least one of task reallocation to other processing cores, task decomposition to multiple processing cores, and adjustment of resources of the first target processing core;
[0197] An adjustment module is used to adjust the vehicle control task corresponding to the vehicle task request based on the adjustment strategy information.
[0198] In another possible implementation, the multi-core processor further includes a second processing core, and the second processing core is used to run the power management model;
[0199] The device also includes:
[0200] A first acquisition module, configured to acquire load information of the plurality of first processing cores;
[0201] a ninth determination module, configured to call the battery management model executed by the second processing core to determine power management information of the plurality of first processing cores based on the load information of the plurality of first processing cores, the power management information including power status and power frequency, and adjust the power status and power frequency of the plurality of first processing cores based on the power management information of the plurality of first processing cores; and / or,
[0202] a tenth determination module, configured to determine a second target processing core from among the plurality of first processing cores based on the load information of the plurality of first processing cores, wherein the second target processing core is a processing core having a load lower than a preset load, and control the second target processing core to switch from a first operating mode to a second operating mode, wherein the power consumption of the second target processing core in the second operating mode is lower than the power consumption of the second target processing core in the first operating mode.
[0203] In another possible implementation, the multi-core processor further includes a third processing core, and the third processing core is used to run the fault prediction model;
[0204] The device also includes:
[0205] A second acquisition module, used to acquire the operation information of the plurality of first processing cores;
[0206] A calling module, configured to call the fault prediction model executed by the second processing core to determine the fault prediction information of the first processing cores based on the running information of the first processing cores, wherein the fault prediction information includes the potential existence of a fault or the absence of a fault;
[0207] an eleventh determining module, configured to determine fault detection information of the plurality of first processing cores, the fault detection information including whether a fault occurs or not;
[0208] A twelfth determination module, configured to determine a second target processing core from the plurality of first processing cores based on the fault prediction information and the fault detection information of the plurality of first processing cores, wherein the second target processing core is a processing core that has a fault or has a potential fault;
[0209] The second processing module is used to allocate the tasks of the second target processing core to other processing cores among the plurality of first processing cores, and process the tasks of the second target processing core by the other processing cores.
[0210] In another possible implementation, the fifth determination module 906 is used to determine at least one candidate processing core from the multiple first processing cores based on the task type of the vehicle control task corresponding to the vehicle task request, the health status information of the multiple first processing cores and the task type adapted by the multiple first processing cores, the health status information of the at least one candidate processing core being used to indicate that the status of the at least one candidate processing core is normal, and the task type adapted by the at least one candidate processing core is the same as the task type of the vehicle control task corresponding to the vehicle task request; based on the priority level of the vehicle control task corresponding to the vehicle task request, the real-time requirement information and the load information of the at least one candidate processing core, determine the first target processing core from the at least one candidate processing core, the load information of the first target processing core matches the priority level of the vehicle control task corresponding to the vehicle task request, and the processing speed of the first target processing core meets the real-time requirement corresponding to the real-time requirement information.
[0211] In the embodiments of the present application, on the one hand, the functions of multiple processing cores are integrated into a multi-core processor, so that the multi-core processor has the ability to process vehicle control tasks in parallel; therefore, processing vehicle control tasks based on a multi-core processor can improve processing efficiency; on the other hand, when selecting a processing core from a multi-core processor, it is determined based on multiple dimensions in multiple aspects based on the task type, priority level and real-time demand information of the vehicle control task and the load information, health status information and adapted task type of multiple first processing cores, thereby improving the accuracy of the determined first target processing core, and then improving the processing efficiency of the first target processing core in processing vehicle control tasks. In summary, the embodiments of the present application can provide processing efficiency of vehicle control tasks in two aspects.
[0212] It should be noted that the vehicle control device provided in the above embodiment only uses the division of the above functional modules as an example when performing vehicle control processing. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the task scheduler is divided into different functional modules to complete all or part of the functions described above. In addition, the vehicle control device provided in the above embodiment and the vehicle control method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
[0213] Please refer to Fig.10 , Fig.10 The structural block diagram of a task scheduler 1000 provided by an exemplary embodiment of the present application is shown. The task scheduler 1000 includes a processor (central processing unit, CPU) 1001 and a memory 1002, wherein the memory 1002 stores at least one program code, and the at least one program code is loaded and executed by the processor 1001 to implement the methods provided by the above-mentioned various method embodiments. Of course, the task scheduler 1000 may also have components such as a wired or wireless network interface, a keyboard, and an input and output interface for input and output, and the task scheduler 1000 may also include other components for implementing device functions, which will not be described in detail here.
[0214] Those skilled in the art will understand that Fig.10 The structure shown in the figure does not constitute a limitation on the task scheduler 1000, and may include more or less components than those shown in the figure, or combine some components, or adopt a different component arrangement.
[0215] The embodiment of the present application also provides a computer-readable storage medium, in which at least one program code is stored, and the at least one program code is loaded and executed by a processor to implement the vehicle control method described in any of the above implementations. Optionally, the storage medium can be a non-temporary computer-readable storage medium, for example, the non-temporary computer-readable storage medium can be a ROM (Read-Only Memory), a RAM (Random Access Memory), a CD-ROM (Compact Disc Read-Only Memory), a magnetic tape, a floppy disk, and an optical data storage device.
[0216] An embodiment of the present application also provides a computer program product, which stores at least one program code, and the at least one program code is loaded and executed by a processor to implement the vehicle control method shown in the above embodiments.
[0217] In some embodiments, the computer program product involved in the embodiments of the present application may be deployed and executed on a vehicle controller, or on multiple vehicle controllers located at one location, or on multiple vehicle controllers distributed at multiple locations and interconnected by a communication network. Multiple vehicle controllers distributed at multiple locations and interconnected by a communication network may constitute a blockchain system.
[0218] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0219] The above description is only for the purpose of facilitating those skilled in the art to understand the technical solution of the present application and is not intended to limit the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A vehicle control method, characterized in that: The method comprises: receiving a vehicle task request, the vehicle task request being used to request a multi-core processor of the vehicle to execute a vehicle control task corresponding to the vehicle task request, the multi-core processor comprising a plurality of first processing cores, different first processing cores being used to process tasks of different task types; Determine a task type of a vehicle control task corresponding to the vehicle task request; Determining the priority level of the vehicle control task corresponding to the vehicle task request; Determine real-time requirement information of a vehicle control task corresponding to the vehicle task request, wherein the real-time requirement information is used to indicate the real-time requirement of the vehicle control task; Determining load information, health status information, and adapted task types of the plurality of first processing cores; Determine a first target processing core from the plurality of first processing cores based on the task type, priority level and real-time demand information of the vehicle control task corresponding to the vehicle task request and the load information, health status information and adapted task type of the plurality of first processing cores; The vehicle control task corresponding to the vehicle task request is allocated to the first target processing core, and the task corresponding to the vehicle task request is processed by the first target processing core.
2. The method according to claim 1, characterized in that The allocating the vehicle control task corresponding to the vehicle task request to the first target processing core, and processing the task corresponding to the vehicle task request by the first target processing core, comprises: In a case where the first target processing core is an engine control core, assigning the vehicle control task corresponding to the vehicle task request to the engine control core, and processing the task corresponding to the vehicle task request by the engine control core based on cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space; In the case where the first target processing core is a motor control core, the vehicle control task corresponding to the vehicle task request is assigned to the motor control core, and the motor control core processes the task corresponding to the vehicle task request based on the cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space; In a case where the first target processing core is a transmission control core, allocating the vehicle control task corresponding to the vehicle task request to the transmission control core, and processing the task corresponding to the vehicle task request by the transmission control core based on cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space; In a case where the first target processing core is a communication processing core, processing the task corresponding to the vehicle task request by the communication processing core based on cache data in at least one of the cache data in the first cache space, the cache data in the second cache space, and the cache data in the third cache space; Among them, the first cache space is used to store data whose access frequency is greater than a first preset frequency, the second cache space is used to store data whose access frequency is greater than a second preset frequency and less than the first preset frequency, and the third cache space is used to store data whose access frequency is less than the second preset frequency, the first preset frequency is greater than the second preset frequency, and the second preset frequency is greater than the third preset frequency.
3. The method according to claim 1, characterized in that The method further comprises: In the process of the first target processing core processing the task corresponding to the vehicle task request, determining the task completion degree, task execution time and task resource utilization rate of the vehicle control task corresponding to the vehicle task request, wherein the task resource utilization rate is the resource utilization rate of the vehicle control task corresponding to the vehicle task request processed by the first target processing core; Determining task execution information of the vehicle control task corresponding to the vehicle task request based on the task completion degree, the task execution time and the task resource utilization rate; Based on the task execution information, determining adjustment strategy information of the vehicle control task corresponding to the vehicle task request, the adjustment strategy information including at least one of task reallocation to other processing cores, task decomposition to multiple processing cores, and adjustment of resources of the first target processing core; The vehicle control task corresponding to the vehicle task request is adjusted based on the adjustment strategy information.
4. The method according to claim 1, characterized in that: The multi-core processor also includes a second processing core, the second processing core being used to run a power management model; The method further comprises: Acquiring load information of the plurality of first processing cores; Based on the load information of the plurality of first processing cores, calling the battery management model executed by the second processing core to determine the power management information of the plurality of first processing cores, the power management information including the power state and the power frequency, and adjusting the power state and the power frequency of the plurality of first processing cores based on the power management information of the plurality of first processing cores; and / or, Based on the load information of the multiple first processing cores, a second target processing core is determined from the multiple first processing cores, the second target processing core is a processing core whose load is lower than a preset load, and the second target processing core is controlled to switch from a first operating mode to a second operating mode, and the power consumption of the second target processing core in the second operating mode is lower than the power consumption of the second target processing core in the first operating mode.
5. The method according to claim 1, characterized in that The multi-core processor also includes a third processing core, and the third processing core is used to run a fault prediction model; The method further comprises: Acquiring operation information of the plurality of first processing cores; Based on the operation information of the plurality of first processing cores, calling the fault prediction model operated by the second processing core to determine the fault prediction information of the plurality of first processing cores, the fault prediction information including potential existence of a fault or non-existence of a fault; determining fault detection information of the plurality of first processing cores, the fault detection information including whether a fault occurs or not; Based on the fault prediction information and the fault detection information of the plurality of first processing cores, determining a second target processing core from the plurality of first processing cores, the second target processing core being a processing core that has a fault or is potentially faulty; The tasks of the second target processing core are allocated to other processing cores among the plurality of first processing cores, and the tasks of the second target processing core are processed by the other processing cores.
6. The method according to claim 1, characterized in that The determining a first target processing core from the plurality of first processing cores based on the task type, priority level and real-time demand information of the vehicle control task corresponding to the vehicle task request and the load information, health status information and adapted task type of the plurality of first processing cores comprises: Determine at least one candidate processing core from the plurality of first processing cores based on the task type of the vehicle control task corresponding to the vehicle task request, the health status information of the plurality of first processing cores, and the task types adapted by the plurality of first processing cores, wherein the health status information of the at least one candidate processing core is used to indicate that the state of the at least one candidate processing core is normal, and the task type adapted by the at least one candidate processing core is the same as the task type of the vehicle control task corresponding to the vehicle task request; Based on the priority level of the vehicle control task corresponding to the vehicle task request, the real-time requirement information and the load information of the at least one candidate processing core, the first target processing core is determined from the at least one candidate processing core, the load information of the first target processing core matches the priority level of the vehicle control task corresponding to the vehicle task request, and the processing speed of the first target processing core meets the real-time requirement corresponding to the real-time requirement information.
7. A vehicle control device, characterized in that: The device comprises: A receiving module, configured to receive a vehicle task request, wherein the vehicle task request is used to request a multi-core processor of the vehicle to execute a vehicle control task corresponding to the vehicle task request, wherein the multi-core processor includes a plurality of first processing cores, and different first processing cores are used to process tasks of different task types; A first determining module, used to determine a task type of a vehicle control task corresponding to the vehicle task request; A second determination module, used to determine the priority level of the vehicle control task corresponding to the vehicle task request; A third determination module is used to determine the real-time requirement information of the vehicle control task corresponding to the vehicle task request, wherein the real-time requirement information is used to indicate the real-time requirement of the vehicle control task; a fourth determination module, configured to determine load information, health status information, and adapted task types of the plurality of first processing cores; a fifth determination module, configured to determine a first target processing core from the plurality of first processing cores based on a task type, a priority level, and real-time demand information of the vehicle control task corresponding to the vehicle task request and load information, health status information, and adapted task types of the plurality of first processing cores; The first processing module is used to assign the vehicle control task corresponding to the vehicle task request to the first target processing core, and process the task corresponding to the vehicle task request through the first target processing core.
8. A task scheduler, characterized in that: The task scheduler includes a processor and a memory, wherein at least one program code is stored in the memory, and the at least one program code is loaded and executed by the processor to implement the vehicle control method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that: The storage medium stores at least one program code, and the at least one program code is loaded and executed by the processor to implement the vehicle control method according to any one of claims 1 to 6.
10. A computer program product, characterized in that The product stores at least one program code, and the at least one program code is used to be executed by a processor to implement the vehicle control method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Vehicle end computing resource allocation method and vehicle
CN118585318A
Multi-nuclear power drive controller task scheduling system, electric drive assembly and vehicle
CN118838296A
Method and apparatus for generating accurately compressed convolutional filter of 2d convolutional network model using 3D convolution and performing convolutional operation
KR1020250065167A
User-defined vehicle notification
US20200128373A1
Vehicle with multiple user interface operating domains
WO2015103374A1
Cited By
Heterogeneous system dynamic switching method and device of multi-core processor based on RISC-V architecture
CN121560400A