Vehicle control methods, devices, controllers, storage media and products
By using a multi-core processor architecture and task scheduler, the computational bottleneck of single-core processors in automotive electronic controllers is solved, enabling more efficient and faster vehicle control task processing, and reducing system cost and size.
Patent Information
- Application Number
- CN202411512771.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-28
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2044-10-28
AI Technical Summary
Existing single-core processors are insufficient to meet the computational demands of complex control tasks in modern vehicles, making processing power a bottleneck.
Employing a multi-core processor architecture, the system receives vehicle task requests, determines the task type, priority, and real-time requirements, allocates them to appropriate processing cores, utilizes different cache spaces to process tasks, and optimizes processor load and health status by combining power management and fault prediction models.
It improves the processing efficiency and accuracy of vehicle control tasks, reduces system cost and physical size, and enhances the response speed and real-time performance of the vehicle control system.
Smart Images

Figure CN119348553B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicle control technology, and in particular to a vehicle control method, device, controller, storage medium and product. Background Technology
[0002] With the development of the automotive industry, vehicles are becoming increasingly intelligent and electronic, and traditional mechanical and electrical control systems are gradually being replaced by complex electronic controllers. Electronic controllers are widely used in various fields of automobiles, including powertrain systems, chassis control, body control, infotainment systems, and driver assistance systems.
[0003] Electronic controllers in related technologies typically employ a single-core processor architecture, which can meet simple control requirements. However, as automotive functions continue to increase, the computing power of single-core processors is gradually becoming a bottleneck, making it difficult to support the complex control tasks of modern vehicles. Summary of the Invention
[0004] This application provides a vehicle control method, device, controller, storage medium, and product. The technical solution is as follows:
[0005] On the one hand, a vehicle control method is provided, the method comprising:
[0006] The vehicle task request is received, which is used to request the vehicle's multi-core processor to execute the 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 handle tasks of different task types.
[0007] Determine the task type of the vehicle control task corresponding to the vehicle task request;
[0008] Determine the priority level of the vehicle control task corresponding to the vehicle task request;
[0009] 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 requirements of the vehicle control task;
[0010] Determine the load information, health status information, and suitable task types of the plurality of first processing cores;
[0011] Based on the task type, priority level, and real-time demand information of the vehicle control task corresponding to the vehicle task request, as well as the load information, health status information, and suitable task type of the plurality of first processing cores, a first target processing core is determined from the plurality of first processing cores.
[0012] The vehicle control task corresponding to the vehicle task request is assigned 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 one possible implementation, assigning 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 through the first target processing core, includes:
[0014] When the first target processing core is the engine control core, the vehicle control task corresponding to the 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 cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0015] When the first target processing core is the 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 cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0016] When the first target processing core is the transmission control core, the 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 cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0017] 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 cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0018] Wherein, the first cache space is used to store data with an access frequency greater than a first preset frequency, the second cache space is used to store data with an access frequency greater than a 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, wherein 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] During the process of the first target processing core processing the task corresponding to the vehicle task request, the task completion rate, task execution time and task resource utilization rate of the vehicle control task corresponding to the vehicle task request are determined, and the task resource utilization rate is the resource utilization rate of the first target processing core processing the vehicle control task corresponding to the vehicle task request.
[0021] Based on the task completion rate, the task execution duration, and the task resource utilization rate, determine the task execution information of the vehicle control task corresponding to the vehicle task request;
[0022] Based on the task execution information, the adjustment strategy information of the vehicle control task corresponding to the vehicle task request is determined. The adjustment strategy information includes at least one of the following strategies: task reassignment to other processing cores, task decomposition to multiple processing cores, and resource adjustment 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 for running a power management model;
[0025] The method further includes:
[0026] Obtain the load information of the plurality of first processing cores;
[0027] Based on the load information of the plurality of first processing cores, the battery management model running on the second processing core is invoked to determine the power management information of the plurality of first processing cores. The power management information includes power state and power frequency. Based on the power management information of the plurality of first processing cores, the power state and power frequency of the plurality of first processing cores are adjusted; and / or,
[0028] Based on the load information of the plurality of first processing cores, a second target processing core is determined from the plurality of first processing cores. The second target processing core is a processing core whose load is lower than a preset load. The second target processing core is controlled to switch from a first operating mode to a second operating mode. 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 for running a fault prediction model;
[0030] The method further includes:
[0031] Obtain the operational information of the plurality of first processing cores;
[0032] Based on the operating information of the plurality of first processing cores, the fault prediction model of the second processing core is invoked to determine the fault prediction information of the plurality of first processing cores, the fault prediction information including potential faults or no faults.
[0033] Determine the fault detection information of the plurality of first processing cores, the fault detection information including whether a fault has occurred or not;
[0034] Based on the fault prediction information and fault detection information of the plurality of first processing cores, a second target processing core is determined from the plurality of first processing cores. The second target processing core is a processing core that has experienced a fault or has a potential fault.
[0035] The task of the second target processing core is assigned to other processing cores among the plurality of first processing cores, and the task of the second target processing core is processed by the other processing cores.
[0036] In another possible implementation, determining the 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, as well as the load information, health status information, and adapted task type of the plurality of first processing cores, includes:
[0037] 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 type adapted to the plurality of first processing cores, at least one candidate processing core is determined from the plurality of first processing cores. 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 to 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 demand 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 requirements corresponding to the real-time demand information.
[0039] On the other hand, a vehicle control device is provided, the device comprising:
[0040] A receiving module is used to receive a vehicle task request, wherein the vehicle task request is used to request the vehicle's multi-core processor to execute the vehicle control task corresponding to the vehicle task request, and the multi-core processor includes multiple first processing cores, and different first processing cores are used to process tasks of different task types.
[0041] The first determining module is used to determine the task type of the vehicle control task corresponding to the vehicle task request.
[0042] The second determining module is used to determine the priority level of the vehicle control task corresponding to the vehicle task request;
[0043] The third determining module is used to 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 requirements of the vehicle control task.
[0044] The fourth determining module is used to determine the load information, health status information, and suitable task types of the plurality of first processing cores;
[0045] The fifth determining module is used to determine the 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, as well as the load information, health status information and adapted task type 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 to process the task corresponding to the vehicle task request through the first target processing core.
[0047] In one possible implementation, the first processing module is configured to, when the first target processing core is an engine control core, assign the vehicle control task corresponding to the vehicle task request to the engine control core, and process the task corresponding to the vehicle task request through the engine control core based on cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0048] The first processing module is configured to, when the first target processing core is an electric motor control core, assign the vehicle control task corresponding to the vehicle task request to the electric motor control core, and process the task corresponding to the vehicle task request through the electric motor control core based on cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0049] The first processing module is configured to, when the first target processing core is the transmission control core, assign the vehicle control task corresponding to the vehicle task request to the transmission control core, and process the task corresponding to the vehicle task request through the transmission control core based on cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0050] The first processing module is used to process the task corresponding to the vehicle task request by means of the communication processing core, based on cached data in at least one of the cached data in the first cache space, the second cache space, and the third cache space, when the first target processing core is a communication processing core.
[0051] Wherein, the first cache space is used to store data with an access frequency greater than a first preset frequency, the second cache space is used to store data with an access frequency greater than a 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, wherein 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] The sixth determining module is used to determine the task completion rate, task execution time and task resource utilization rate of the vehicle control task corresponding to the vehicle task request during the process of the first target processing core processing the task corresponding to the vehicle task request. The task resource utilization rate is the resource utilization rate of the first target processing core processing the vehicle control task corresponding to the vehicle task request.
[0054] The seventh determining module is used to determine the task execution information of the vehicle control task corresponding to the vehicle task request based on the task completion degree, the task execution duration and the task resource utilization rate.
[0055] The eighth determining module is used to determine the adjustment strategy information of the vehicle control task corresponding to the vehicle task request based on the task execution information. The adjustment strategy information includes at least one of the following strategies: task reassignment to other processing cores, task decomposition to multiple processing cores, and resource adjustment of the first target processing core.
[0056] The 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 for running a power management model;
[0058] The device further includes:
[0059] The first acquisition module is used to acquire the load information of the plurality of first processing cores;
[0060] The ninth determining module is used to determine the power management information of the plurality of first processing cores based on the load information of the plurality of first processing cores by invoking the battery management model running on the second processing core. The power management information includes power state and power frequency. Based on the power management information of the plurality of first processing cores, the module adjusts the power state and power frequency of the plurality of first processing cores; and / or,
[0061] The tenth determining module is used to determine a second target processing core from the plurality of first processing cores based on the load information of the plurality of first processing cores. The second target processing core is a processing core whose load is lower than a preset load. The module controls the second target processing core to switch from a first operating mode to a second operating mode. 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 for running a fault prediction model;
[0063] The device further includes:
[0064] The second acquisition module is used to acquire the operating information of the plurality of first processing cores;
[0065] The calling module is used to determine the fault prediction information of the multiple first processing cores by calling the fault prediction model running by the second processing core based on the running information of the multiple first processing cores. The fault prediction information includes whether a fault is potentially present or not.
[0066] The eleventh determining module is used to determine the fault detection information of the plurality of first processing cores, including whether a fault has occurred or not.
[0067] The twelfth determining module is used to determine a second target processing core from the plurality of first processing cores based on the fault prediction information and fault detection information of the plurality of first processing cores. 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 assign the tasks of the second target processing core to other processing cores among the plurality of first processing cores, and to process the tasks of the second target processing core through the other processing cores.
[0069] In another possible implementation, the fifth determining module is configured to 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 type adapted to the plurality of first processing cores. The health status information of the at least one candidate processing core indicates that the status of the at least one candidate processing core is normal, and the task type adapted to 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, real-time demand information, and load information of the vehicle control task corresponding to the vehicle task request, the fifth determining module is configured to determine a 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 demand corresponding to the real-time demand information.
[0070] On the other hand, a task scheduler is provided, which includes a processor and a memory, wherein the memory stores at least one piece of program code, which is loaded and executed by the processor to implement the above-described vehicle control method.
[0071] On the other hand, a computer-readable storage medium is provided, wherein at least one piece of program code is stored in the storage medium, the at least one piece of program code being loaded and executed by a processor to implement the above-described vehicle control method.
[0072] On the other hand, a computer program product is provided, the product storing at least one piece of program code, the at least one piece of program code being executed by a processor to implement the above-described vehicle control method.
[0073] In this embodiment, on the one hand, the functions of multiple processing cores are integrated into a multi-core processor, thereby enabling the multi-core processor 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 the multi-core processor, it is determined based on multiple dimensions, including the task type, priority level, and real-time demand information of the vehicle control task, as well as the load information, health status information, and suitable task types of multiple first processing cores. This improves the accuracy of the determined first target processing core, and consequently improves the processing efficiency of the first target processing core in processing vehicle control tasks. In summary, this embodiment can improve the processing efficiency of vehicle control tasks through two aspects.
[0074] It should be understood that the above general description and the following detailed description are merely exemplary and do not limit this disclosure. Attached Figure Description
[0075] Figure 1 This is a schematic diagram illustrating a vehicle control system according to an exemplary embodiment of this application;
[0076] Figure 2 This is a schematic diagram illustrating a vehicle control system according to an exemplary embodiment of this application;
[0077] Figure 3 This is a flowchart illustrating a vehicle control method in an exemplary embodiment of this application;
[0078] Figure 4 This is a flowchart illustrating a vehicle control method in an exemplary embodiment of this application;
[0079] Figure 5 This is a flowchart illustrating a vehicle control method in an exemplary embodiment of this application;
[0080] Figure 6 This is a flowchart illustrating a vehicle control method in an exemplary embodiment of this application;
[0081] Figure 7 This is a flowchart illustrating a vehicle control method in an exemplary embodiment of this application;
[0082] Figure 8 This is a flowchart illustrating a vehicle control method in an exemplary embodiment of this application;
[0083] Figure 9 This is a structural block diagram of a vehicle control device provided in an exemplary embodiment of this application;
[0084] Figure 10 This is a structural block diagram of a task scheduler illustrated in an exemplary embodiment of this application. Detailed Implementation
[0085] To make the technical solution and advantages of this application clearer, the embodiments of this application will be described in further detail below.
[0086] The terms "first," "second," "third," and "fourth," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0087] It should be noted that all 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 have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, vehicle task requests, real-time demand information for vehicle control tasks, load information of multiple primary processing cores, health status information, and adapted task types involved in this application were all obtained with full authorization.
[0088] Please refer to Figure 1 The illustration shows a schematic diagram of a vehicle control system according to an exemplary embodiment of this 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 external devices; 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] A multi-core processor includes multiple primary processing cores, each capable of independently executing vehicle control tasks. Furthermore, the multiple primary processing cores allow for the parallel processing of multiple vehicle control tasks, thereby improving system performance and responsiveness. For example, please refer to [link / reference needed]. Figure 1The system comprises several primary processing cores, including an engine control core, an electric motor control core, a transmission control core, and a communication processing core. The engine control core is responsible for controlling engine operation, including fuel injection, intake control, and emission control; it also monitors and adjusts various engine sensor data in real time to ensure normal engine operation under different load conditions. The electric motor control core controls the electric motor's speed and torque output; it also works closely with the vehicle's battery management system to optimize energy use and drive efficiency. The transmission control core controls the operation of the automatic transmission, including shift logic, clutch control, and torque conversion. The communication processing core handles communication between the vehicle's internal network and external devices.
[0090] The task scheduler is used to manage and schedule vehicle control tasks across multiple primary processing cores. In other words, the task scheduler decides which vehicle control tasks are assigned to which primary processing cores; and dynamically adjusts the allocation of vehicle control tasks based on the load information of multiple primary processing cores and the priority of the vehicle control tasks, thereby ensuring that vehicle control tasks can be executed efficiently and in a balanced manner across multiple primary processing cores.
[0091] Input / output (I / O) modules process input and output signals from the vehicle system. For example, an I / O module might receive vehicle task requests from external devices, convert them into digital signals that the vehicle control system can process, and then send these digital signals to the peripheral interface. Alternatively, an I / O module might receive output signals from the peripheral interface and send them to the peripheral devices. External interfaces connect the multi-core processor to external devices via a bus system. These external devices can include vehicle sensors, external memory, and communication modules. The bus system facilitates data transfer between multiple primary processing cores, memory, and external devices, ensuring seamless collaboration among the various components of the vehicle control system.
[0092] The memory can be dynamic random access memory (DRAM) or 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 the operating data, instructions and system status of multiple first processing cores; and the memory ensures that multiple first processing cores can quickly access the required data and support efficient task execution.
[0093] Please refer to Figure 2The vehicle control system also includes a cache space, comprising a first cache space, a second cache space, and a third cache space. These three cache spaces utilize different levels of storage structure to accelerate data access, ensuring that multiple primary processing cores can quickly obtain the necessary data when handling real-time vehicle control tasks. The first cache space is a dedicated storage space shared by multiple primary processing cores and is a high-speed, small-capacity cache. It stores real-time control parameters that require frequent access and have short storage cycles. For example, it stores real-time data read from vehicle sensors (e.g., throttle position, engine speed, vehicle speed), local variables of the control algorithm, instruction data, and program instructions for vehicle control tasks. The second cache space stores data with a lower update frequency but shared among multiple primary processing cores. For instance, when the first cache space cannot fully accommodate all real-time data, the second cache space can help store more intermediate or historical data, and vehicle operating status data. The third cache space is used to cache a large amount of data that needs to be shared among multiple primary processing cores, such as vehicle comprehensive operating conditions, energy management strategies, and historical status data. It may be used by multiple primary processing cores, but the access frequency is not high.
[0094] In one possible implementation, the vehicle control system also includes a Network on Chip (NoC). In this embodiment, the NoC is responsible for data communication between multiple first processing cores and data communication between the first processing cores 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 one possible implementation, the multi-core processor further includes a second processing core and a third processing core. The second processing core is used to run a power management model, and the third processing core is used to run a fault prediction model. Correspondingly, 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 supply of the multi-core processor; the fault detection and recovery unit is used to call the fault prediction model to detect faults in the multi-core processor and perform fault recovery after a fault is detected. The second and third processing cores can be the same core or different cores. Figure 2 The example used is where the second and third processing cores are the same core, serving as the core of the AI algorithm. In another possible implementation, the multi-core processor also includes a backup processing core, which is activated and used when needed.
[0096] Please refer to Figure 3The diagram illustrates a flowchart of a vehicle control method according to an exemplary embodiment of this application. (Reference) Figure 3 The method includes:
[0097] Step 301: Receive vehicle task request. The vehicle task request is used to request the vehicle's multi-core processor to execute the 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 handle tasks of different task types.
[0098] External devices send vehicle task requests to the task scheduler, which carry vehicle control tasks. The task scheduler receives vehicle task requests sent by external devices, such as vehicle sensors, external memory, and communication modules.
[0099] Step 302: Determine the task type of the vehicle control task corresponding to the vehicle task request.
[0100] After receiving a vehicle task request, the task scheduler preprocesses the request and determines the task type based on the preprocessed request. The task type can be engine control, electric motor control, transmission control, communication processing, etc. The preprocessing steps include: the task scheduler converts the vehicle task request into a digital signal format, which can be correctly parsed and recognized.
[0101] Step 303: Determine the priority level of the vehicle control task corresponding to the vehicle task request.
[0102] The priority of vehicle control tasks is determined based on the importance of the task and its impact on the vehicle control system. This impact can be on the stability and / or safety of the vehicle control system. Accordingly, the task scheduler determines the priority of the vehicle control task corresponding to a vehicle task request by: determining the importance and impact of the task on the vehicle control system, and then weighting and summing the importance and impact to obtain the priority level. For example, vehicle control tasks such as engine control, transmission control, and electric motor control involve core vehicle functions and driving safety, and are therefore assigned a higher priority. Conversely, vehicle control tasks related to comfort and entertainment systems (such as air conditioning control or song switching) do not involve core vehicle functions and driving safety, and are therefore assigned a lower priority.
[0103] For example, please refer to Figure 4The system takes a vehicle task request as input, preprocesses the vehicle task request, identifies the task type of the vehicle control task from the preprocessed vehicle task request, and determines the priority level of the vehicle control task.
[0104] Step 304: Determine the real-time requirements of the vehicle control task corresponding to the vehicle task request. The real-time requirements information is used to indicate the real-time requirements of the vehicle control task.
[0105] Real-time demand information can be categorized into real-time levels. These levels can be classified as Level 1, Level 2, and Level 3, with Level 1 being higher than Level 2, and Level 2 being higher than Level 3. For example, Level 1 could be high, Level 2 medium, and Level 3 low. For instance, vehicle control tasks related to driving safety, such as emergency braking systems, typically have strict real-time requirements, meaning their real-time demand information would be Level 1 (high). Conversely, some background vehicle control tasks (such as system log recording or data analysis) usually do not require real-time processing, meaning their real-time requirements are lower, and their real-time demand information would be Level 2 (low).
[0106] Step 305: Determine the load information, health status information, and suitable task types for multiple primary processing cores.
[0107] For any first processing core, the load information of the first processing core can be the number of processes running and the number of processes waiting to run; the health status information can be normal or abnormal; the adapted task type can be engine control type, electric motor control type, transmission control type, or communication processing type.
[0108] Step 306: Based on the task type, priority level, and real-time demand information of the vehicle control task corresponding to the vehicle task request, as well as the load information, health status information, and suitable task type of multiple first processing cores, determine the first target processing core from multiple first processing cores.
[0109] This step can be achieved through the following 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 multiple first processing cores and the task type adapted to the multiple first processing cores. The health status information of at least one candidate processing core is used to indicate that the status of at least one candidate processing core is normal, and the task type adapted to 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 the 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 requirements 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 the first target processing core from at least one pending processing core based on the real-time demand information of the vehicle control task.
[0113] The step of the task scheduler determining 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 can be as follows: If the priority level of the vehicle control task is first priority level (high), the task scheduler determines the pending processing core with a load size less than a first preset load from at least one candidate processing core; if the priority level of the vehicle control task is second priority level (medium), the task scheduler determines the pending processing core with a load size greater than the first preset load and less than the second preset load from at least one candidate processing core; if the priority level of the vehicle control task is third priority level (low), the task scheduler determines the pending processing core with a load size 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] The step of the task scheduler determining the first target processing core from at least one pending processing core based on the real-time demand information of the vehicle control task can be as follows: the task scheduler determines the real-time score of at least one pending processing core based on the vehicle control tasks being executed and not being executed by the at least one pending processing core. The real-time score is negatively correlated with the urgency of the executing and not executed vehicle control tasks. That is, if a 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; while the real-time score of a pending processing core without an urgent task is higher. When the real-time requirement information of the vehicle control task is at the first real-time level, the task scheduler determines a first target processing core with a real-time score 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 at the second real-time level, the task scheduler determines a first target processing core with a real-time score less than the first preset score but 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 at the third real-time level, the task scheduler determines a first target processing core with a real-time score 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: 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.
[0116] This step can be achieved through the following steps (1) to (4), including:
[0117] (1) When the first target processing core is the engine control core, the vehicle control task corresponding to the vehicle task request is assigned to the engine control core. The engine control core processes the task corresponding to the vehicle task request based on the cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0118] The system comprises three cache spaces: a first cache space for storing data accessed at a frequency greater than a first preset frequency; a second cache space for storing data accessed at a frequency greater than the second preset frequency but less than the first preset frequency; and a third cache space for storing data accessed at a 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 one possible implementation, the first cache space stores real-time control parameters that require frequent access and have short storage cycles. For example, the first cache space stores real-time data read from vehicle sensors (e.g., throttle position, engine speed, vehicle speed), local variables of the control algorithm, instruction data, and program instructions for vehicle control tasks. The second cache space stores data with a low update frequency but shared among multiple first processing cores. For instance, when the first cache space cannot fully accommodate all real-time data, the second cache space can help store more intermediate or historical data, vehicle operating status data, etc. The third cache space caches large amounts of data that need to be shared among multiple first processing cores, such as vehicle comprehensive operating conditions, energy management strategies, and historical status data, which may be used by multiple first processing cores but are accessed infrequently.
[0119] For example, if the vehicle control task is a fuel injection control task, then the fuel injection control task is assigned to the engine control core. The engine control core obtains the throttle position and engine speed from the first buffer space, and controls the fuel injection based on the throttle position and engine speed.
[0120] (2) When the first target processing core is the motor control core, the vehicle control task corresponding to the vehicle task request is assigned to the motor control core. The motor control core processes the task corresponding to the vehicle task request based on the cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0121] For example, if the vehicle control task is the speed control task of the electric motor, then the engine speed control task is assigned to the electric motor core. The electric motor core obtains the throttle position from the first buffer space and controls the speed of the electric motor based on the throttle position.
[0122] (3) When the first target processing core is the transmission control core, the vehicle control task corresponding to the vehicle task request is assigned to the transmission control core. The transmission control core processes the task corresponding to the vehicle task request based on the cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0123] For example, if the vehicle control task is the clutch control of the transmission, then the clutch control task of the transmission is assigned to the transmission core. The transmission core obtains the vehicle speed from the first buffer space and controls the clutch of the transmission based on the vehicle speed.
[0124] (4) When the first target processing core is the communication processing core, the task corresponding to the vehicle task request is processed by the communication processing core based on the cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0125] For example, if the vehicle control task is to play a favorite song, then the task of playing the favorite song is assigned to the communication processing core. The communication processing core retrieves the historical favorite songs from the third cache space and plays the historical favorite songs.
[0126] In one possible implementation, when the first target processing core needs to perform vehicle control tasks with the help of other processing cores (for ease of distinction, these other processing cores can be referred to as the sixth target processing core), the first target processing core communicates with the sixth target processing core via a NoC (No. 1 Communication Center). For example, if the first target processing core needs to obtain auxiliary data from the sixth target processing core, it obtains the auxiliary data through the NoC. Furthermore, the first target processing core also uses the NoC when communicating with other components of the vehicle. In this embodiment, the NoC is responsible for data communication between multiple first processing cores and between the first processing core and other components. It ensures efficient data transmission between different processing cores through high-speed connections, supporting the efficient execution of parallel computing tasks. Moreover, the high-speed communication between different processing cores via the NoC replaces the traditional external bus communication between control units, significantly reducing communication latency and improving the real-time response capability of the vehicle control system.
[0127] In this embodiment, by integrating the functions of multiple processing cores into a single multi-core processor, the multi-core processor gains the ability to process vehicle control tasks in parallel. Therefore, using a multi-core processor for vehicle control tasks enables faster response times, lower system costs, and reduced physical costs. Furthermore, by integrating the functional modules of multiple processing cores, the hardware resources required by independent controllers (such as processor chips, memory, and interface circuits) are reduced, significantly lowering the hardware cost of the vehicle control system. This also reduces the size and weight of the vehicle control system, contributing to optimized layout of the automotive electronic system.
[0128] In this embodiment, on the one hand, the functions of multiple processing cores are integrated into a multi-core processor, thereby enabling the multi-core processor 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 the multi-core processor, it is determined based on multiple dimensions, including the task type, priority level, and real-time demand information of the vehicle control task, as well as the load information, health status information, and suitable task types of multiple first processing cores. This improves the accuracy of the determined first target processing core, and consequently improves the processing efficiency of the first target processing core in processing vehicle control tasks. In summary, this embodiment can improve the processing efficiency of vehicle control tasks through two aspects.
[0129] Please refer to Figure 4 The diagram illustrates a flowchart of a vehicle control method according to an exemplary embodiment of this application. (Reference) Figure 4 The method includes:
[0130] Step 401: The task scheduler receives a vehicle task request. The vehicle task request is used to request the vehicle's multi-core processor to execute the 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 handle tasks of different task types.
[0131] In some embodiments, this step is the same as step 301, and will not be described again 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 described again 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 described again 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 requirements of the vehicle control task.
[0137] In some embodiments, this step is the same as step 304, and will not be described again here.
[0138] Step 405: The task scheduler determines the load information, health status information, and appropriate task types for multiple primary processing cores.
[0139] In some embodiments, this step is the same as step 305, and will not be described again here.
[0140] Step 406: The task scheduler determines the 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, as well as the load information, health status information, and suitable task type of multiple first processing cores.
[0141] In some embodiments, this step is the same as step 306, and will not be described again 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 the first target processing core processes the task corresponding to the vehicle task request.
[0143] In some embodiments, this step is the same as step 307, and will not be described again 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 rate, task execution time 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 first target processing core processing the vehicle control task corresponding to the vehicle task request.
[0145] The task completion rate of a vehicle control task is used to indicate the degree to which the vehicle control task is completed; for example, the task completion rate of a vehicle control task can be 50%, 80%, etc.; the task execution time can be the duration during which the vehicle control task is executed; for example, the task execution time 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 rate, task execution duration, and task resource utilization rate.
[0147] In one possible implementation, the task scheduler combines task completion rate, task execution duration, and task resource utilization rate to form task execution information; or, the task scheduler performs a weighted summation of task completion rate, task execution duration, and task resource utilization rate to obtain task execution rate, and determines task execution rate as task execution information.
[0148] Step 410: Based on the task execution information, the task scheduler determines the adjustment strategy information for the vehicle control task corresponding to the vehicle task request. The adjustment strategy information includes at least one of the following strategies: task reassignment to other processing cores, task decomposition to multiple processing cores, and resource adjustment for the first target processing core.
[0149] In one possible implementation, the task execution information includes task completion rate, task execution duration, and task resource utilization rate. If the task completion rate is less than a preset completion rate and the task execution duration is greater than a first preset duration, the task scheduler determines the adjustment strategy to allocate the vehicle control task to other processing cores. If the task completion rate is greater than a preset completion rate and the task execution duration is not greater than a second preset duration, the task scheduler determines the adjustment strategy to decompose the vehicle control task into multiple processing cores. If the task completion rate is less than a preset completion rate, the task execution duration is less than a first preset duration, and the task resource utilization rate is greater than a preset utilization rate, the task scheduler determines the adjustment strategy to adjust the resources of the first target processing core, i.e., 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, if the adjustment strategy information is to allocate the vehicle control task to other processing cores, the task scheduler determines a third target processing core from among the multiple first processing cores other than the first target processing core, and allocates the vehicle control task to the third target processing core for processing. In another possible implementation, if the adjustment strategy information is to decompose the vehicle control task into multiple processing cores, the task scheduler determines at least one fourth target processing core from among the multiple first processing cores other than the first target processing core, and allocates a portion of the vehicle control task to at least one fourth target processing core for processing. In yet another possible implementation, if the adjustment strategy information is to adjust the resources of the first target processing core, the task scheduler adjusts the resources of the first target processing core, i.e., adds resources to the first target processing core. For example, please refer to [reference needed]. Figure 5 The task scheduler dynamically allocates tasks, enabling multiple primary processing cores to execute tasks in parallel. The task scheduler can also obtain the execution results of the vehicle control tasks processed in parallel by multiple primary processing cores, integrate the execution results, generate the corresponding output signal, and output the corresponding output signal to achieve data feedback and storage.
[0152] In this embodiment, the vehicle control system monitors key indicators in real time, such as task completion rate, task execution time, and task resource utilization, when performing vehicle control tasks to evaluate the progress of the vehicle control tasks. Based on the progress of the tasks, the vehicle control system can adopt strategies such as dynamic task reallocation, task decomposition, and real-time resource adjustment to ensure efficient task execution. Furthermore, the vehicle control system can also perform iterative optimization based on real-time feedback of the vehicle control task execution to improve the efficiency of the vehicle control tasks.
[0153] Please refer to Figure 6 The diagram illustrates a flowchart of a vehicle control method according to an exemplary embodiment of this application. (Reference) Figure 6 The method includes:
[0154] Step 601: The task scheduler obtains the load information of multiple first processing cores.
[0155] For any first processing core, the load information of the first processing core can be the number of processes running on the first processing core and the number of processes waiting to run.
[0156] Step 602: Based on the load information of multiple first processing cores, the task scheduler calls the battery management model running on the second processing core to determine the power management information of multiple first processing cores. The power management information includes power status and power frequency.
[0157] The task scheduler inputs the load information of multiple primary processing cores into the battery management model and outputs the power management information of multiple primary processing cores. The power management information includes power status and power frequency. The power status can be on or off, and the power frequency can be 50Hz or 60Hz.
[0158] Step 603: The task scheduler adjusts the power status and power frequency of the multiple first processing cores based on the power management information of the multiple first processing cores.
[0159] For any first processing core, if the power state of the first processing core is off, the power state of the first processing core is turned off; if 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 refer to [link / reference]. Figure 5 It monitors the status of the vehicle control system, analyzes the power consumption of multiple primary processing cores, and then optimizes the power supply of multiple primary processing cores through an AI-optimized battery management model.
[0160] In this embodiment, 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 lifespan of the vehicle battery.
[0161] Please refer to Figure 7 The diagram illustrates a flowchart of a vehicle control method according to an exemplary embodiment of this application. (Reference) Figure 7 The method includes:
[0162] Step 701: The task scheduler obtains the load information of multiple first processing cores.
[0163] For any first processing core, the load information of the first processing core can be the number of processes running on the first processing core and the number of processes waiting to run.
[0164] Step 702: Based on the load information of multiple first processing cores, the task scheduler determines the second target processing core from the multiple first processing cores. The second target processing core is the processing core whose load is lower than the preset load.
[0165] For ease of distinction, the preset load in this step can be referred to as the 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. The power consumption of the second target processing core in the second operating mode is lower than that of the second target processing core in the first operating mode.
[0167] The first preset model can be a high-power mode, and the second preset model can be a low-power mode.
[0168] In this embodiment, the task scheduler controls the second target processing core with reduced load to enter a low-power mode, thereby further improving the energy efficiency of the vehicle control system and extending the lifespan of the vehicle battery.
[0169] Please refer to Figure 8 The diagram illustrates a flowchart of a vehicle control method according to an exemplary embodiment of this application. (Reference) Figure 8 The method includes:
[0170] Step 801: The task scheduler obtains the running information of multiple first processing cores.
[0171] For any first processing core, the operating information of the first processing core includes at least one of temperature, power consumption, performance indicators, error logs, and historical fault lights.
[0172] Step 802: Based on the running information of multiple first processing cores, the task scheduler calls the fault prediction model running on the third processing core to determine the fault prediction information of multiple first processing cores. The fault prediction information includes whether a fault exists or not.
[0173] The task scheduler inputs the operational information of multiple first processing cores into the fault prediction model and outputs fault prediction information for multiple first processing cores. In this embodiment, the system relies on continuously monitoring the operational status of the vehicle control system and inputting this information into the fault prediction model for analysis and prediction, in order to detect anomalies that may lead to system failure in advance. Furthermore, by analyzing data from multiple aspects such as temperature, power consumption, performance indicators, error logs, and historical faults, and comprehensively considering the long-term health status and short-term abnormal behavior of the system, the system predicts whether there are potential faults in the processing cores.
[0174] Step 803: The task scheduler determines the fault detection information of multiple first processing cores, including whether a fault has occurred or not.
[0175] Step 804: Based on the fault prediction information and fault detection information of multiple first processing cores, the task scheduler determines the second target processing core from the multiple first processing cores. The second target processing core is the processing core that has failed or has the potential to fail.
[0176] Step 805: The task scheduler assigns the tasks of the second target processing core to other processing cores among the multiple first processing cores, and the other processing cores process the tasks of the second target processing core.
[0177] The multi-core processor includes a spare processing core; in this step, the task scheduler assigns the tasks of the second target processing core to the spare processing core, and the spare processing core processes the tasks of the second target processing core; alternatively, in this step, the task scheduler determines a fifth target processing core from among the multiple first processing cores other than the second target processing core, assigns the tasks of the second target processing core to the fifth target processing core, and the fifth target processing core processes the tasks of the second target processing core. For example, please refer to [link / reference]. Figure 5 The task scheduler performs fault prediction and isolation, and automatically recovers from faults.
[0178] In this embodiment, the fault detection and recovery module is mainly used. When the system detects a fault in a processing core, it performs fault isolation, task suspension, task reallocation or use of a backup core, task recovery, fault core diagnosis and restart, etc.
[0179] In this embodiment, the built-in fault prediction model can predict vehicle control system faults in real time and recover quickly (such as task transfer), thus ensuring the stability and reliability of the vehicle control system.
[0180] Please refer to Figure 9 This illustration shows a structural block diagram of a vehicle control device provided in an exemplary embodiment of this application. The device includes:
[0181] The receiving module 901 is used to receive a vehicle task request, which is used to request the vehicle's multi-core processor to execute the 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.
[0182] The first determining module 902 is used to determine the task type of the vehicle control task corresponding to the vehicle task request.
[0183] The second determining module 903 is used to determine the priority level of the vehicle control task corresponding to the vehicle task request;
[0184] The third determining module 904 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 requirements of the vehicle control task.
[0185] The fourth determining module 905 is used to determine the load information, health status information, and suitable task types of the plurality of first processing cores;
[0186] The fifth determining module 906 is used to determine the 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, as well as 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 to process the task corresponding to the vehicle task request through the first target processing core.
[0188] In one 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 the engine control core, and to process the task corresponding to the vehicle task request by the engine control core based on cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0189] The first processing module 907 is used to assign the vehicle control task corresponding to the vehicle task request to the motor control core when the first target processing core is the motor control core, and to process the task corresponding to the vehicle task request by the motor control core based on cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0190] The first processing module 907 is used to assign the vehicle control task corresponding to the vehicle task request to the transmission control core when the first target processing core is the transmission control core, and to process the task corresponding to the vehicle task request by the transmission control core based on cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space.
[0191] The first processing module 907 is used to process the task corresponding to the vehicle task request by means of the communication processing core based on cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space when the first target processing core is a communication processing core.
[0192] Wherein, the first cache space is used to store data with an access frequency greater than a first preset frequency, the second cache space is used to store data with an access frequency greater than a 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, wherein 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] The sixth determining module is used to determine the task completion rate, task execution time and task resource utilization rate of the vehicle control task corresponding to the vehicle task request during the process of the first target processing core processing the task corresponding to the vehicle task request. The task resource utilization rate is the resource utilization rate of the first target processing core processing the vehicle control task corresponding to the vehicle task request.
[0195] The seventh determining module is used to determine the task execution information of the vehicle control task corresponding to the vehicle task request based on the task completion degree, the task execution duration and the task resource utilization rate.
[0196] The eighth determining module is used to determine the adjustment strategy information of the vehicle control task corresponding to the vehicle task request based on the task execution information. The adjustment strategy information includes at least one of the following strategies: task reassignment to other processing cores, task decomposition to multiple processing cores, and resource adjustment of the first target processing core.
[0197] The 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 for running a power management model;
[0199] The device further includes:
[0200] The first acquisition module is used to acquire the load information of the plurality of first processing cores;
[0201] The ninth determining module is used to determine the power management information of the plurality of first processing cores based on the load information of the plurality of first processing cores by invoking the battery management model running on the second processing core. The power management information includes power state and power frequency. Based on the power management information of the plurality of first processing cores, the module adjusts the power state and power frequency of the plurality of first processing cores; and / or,
[0202] The tenth determining module is used to determine a second target processing core from the plurality of first processing cores based on the load information of the plurality of first processing cores. The second target processing core is a processing core whose load is lower than a preset load. The module controls the second target processing core to switch from a first operating mode to a second operating mode. 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 for running a fault prediction model;
[0204] The device further includes:
[0205] The second acquisition module is used to acquire the operating information of the plurality of first processing cores;
[0206] The calling module is used to determine the fault prediction information of the multiple first processing cores by calling the fault prediction model running by the second processing core based on the running information of the multiple first processing cores. The fault prediction information includes whether a fault is potentially present or not.
[0207] The eleventh determining module is used to determine the fault detection information of the plurality of first processing cores, including whether a fault has occurred or not.
[0208] The twelfth determining module is used to determine a second target processing core from the plurality of first processing cores based on the fault prediction information and fault detection information of the plurality of first processing cores. 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 assign the tasks of the second target processing core to other processing cores among the plurality of first processing cores, and to process the tasks of the second target processing core through the other processing cores.
[0210] In another possible implementation, the fifth determining module 906 is configured to 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 type adapted to the plurality of first processing cores. The health status information of the at least one candidate processing core indicates that the status of the at least one candidate processing core is normal, and the task type adapted to 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, real-time demand information of the vehicle control task corresponding to the vehicle task request, 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 demand corresponding to the real-time demand information.
[0211] In this embodiment, on the one hand, the functions of multiple processing cores are integrated into a multi-core processor, thereby enabling the multi-core processor 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 the multi-core processor, it is determined based on multiple dimensions, including the task type, priority level, and real-time demand information of the vehicle control task, as well as the load information, health status information, and suitable task types of multiple first processing cores. This improves the accuracy of the determined first target processing core, and consequently improves the processing efficiency of the first target processing core in processing vehicle control tasks. In summary, this embodiment can improve the processing efficiency of vehicle control tasks through two aspects.
[0212] It should be noted that the vehicle control device provided in the above embodiments is only illustrated by the division of the above functional modules when performing vehicle control processing. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the task scheduler can be divided into different functional modules to complete all or part of the functions described above. In addition, the vehicle control device and the vehicle control method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0213] Please refer to Figure 10 , Figure 10 A structural block diagram of a task scheduler 1000 provided in an exemplary embodiment of this 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 line of program code, which is loaded and executed by the processor 1001 to implement the methods provided in the various method embodiments described above. Of course, the task scheduler 1000 may also have wired or wireless network interfaces, a keyboard, and input / output interfaces for input / output. The task scheduler 1000 may also include other components for implementing device functions, which will not be elaborated here.
[0214] Those skilled in the art will understand that Figure 10 The structure shown does not constitute a limitation on the task scheduler 1000, and may include more or fewer components than shown, or combine certain components, or use different component arrangements.
[0215] This application also provides a computer-readable storage medium storing at least one piece of program code, which is loaded and executed by a processor to implement the vehicle control method described in any of the above implementations. Optionally, the storage medium may be a non-transitory computer-readable storage medium, such as ROM (Read-Only Memory), RAM (Random Access Memory), CD-ROM (Compact Disc Read-Only Memory), magnetic tape, floppy disk, and optical data storage device.
[0216] This application also provides a computer program product that stores at least one piece of program code, which 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 this application may be deployed and executed on a vehicle controller, or on multiple vehicle controllers located in one location, or on multiple vehicle controllers distributed in multiple locations and interconnected through a communication network. Multiple vehicle controllers distributed in multiple locations and interconnected through a communication network may form a blockchain system.
[0218] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0219] The above description is only for the purpose of enabling those skilled in the art to understand the technical solution of this application, and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A vehicle control method, characterized in that, The method includes: The vehicle task request is received, which is used to request the vehicle's multi-core processor to execute the 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 handle tasks of different task types. Determine the task type of the vehicle control task corresponding to the vehicle task request; Determine the priority level of the vehicle control task corresponding to the vehicle task request; 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 requirements of the vehicle control task; Determine the load information, health status information, and suitable task types of 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, as well as the load information, health status information, and suitable task type of the plurality of first processing cores, a first target processing core is determined from the plurality of first processing cores. The vehicle control task corresponding to the vehicle task request is assigned to the first target processing core, and the task corresponding to the vehicle task request is processed by the first target processing core. Assigning 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 through the first target processing core, includes: When the first target processing core is the engine control core, the vehicle control task corresponding to the 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 cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space. When the first target processing core is the 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 cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space. When the first target processing core is the transmission control core, the 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 cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space. 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 cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space. The first cache space is used to store data with an access frequency greater than a first preset frequency, the second cache space is used to store data with an access frequency greater than a 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.
2. The method according to claim 1, characterized in that, The method further includes: During the process of the first target processing core processing the task corresponding to the vehicle task request, the task completion rate, task execution time and task resource utilization rate of the vehicle control task corresponding to the vehicle task request are determined, and the task resource utilization rate is the resource utilization rate of the first target processing core processing the vehicle control task corresponding to the vehicle task request. Based on the task completion rate, the task execution duration, and the task resource utilization rate, determine the task execution information of the vehicle control task corresponding to the vehicle task request; Based on the task execution information, the adjustment strategy information of the vehicle control task corresponding to the vehicle task request is determined. The adjustment strategy information includes at least one of the following strategies: task reassignment to other processing cores, task decomposition to multiple processing cores, and resource adjustment of the first target processing core. The vehicle control task corresponding to the vehicle task request is adjusted based on the adjustment strategy information.
3. The method according to claim 1, characterized in that, The multi-core processor also includes a second processing core, which is used to run a power management model. The method further includes: Obtain the load information of the plurality of first processing cores; Based on the load information of the plurality of first processing cores, the battery management model running on the second processing core is invoked to determine the power management information of the plurality of first processing cores. The power management information includes power state and power frequency. Based on the power management information of the plurality of first processing cores, the power state and power frequency of the plurality of first processing cores are adjusted; and / or, Based on the load information of the plurality of first processing cores, a second target processing core is determined from the plurality of first processing cores. The second target processing core is a processing core whose load is lower than a preset load. The second target processing core is controlled to switch from a first operating mode to a second operating mode. 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.
4. The method according to claim 1, characterized in that, The multi-core processor also includes a third processing core, which is used to run a fault prediction model. The method further includes: Obtain the operational information of the plurality of first processing cores; Based on the operating information of the plurality of first processing cores, the fault prediction model of the third processing core is invoked to determine the fault prediction information of the plurality of first processing cores, the fault prediction information including potential faults or no faults. Determine the fault detection information of the plurality of first processing cores, the fault detection information including whether a fault has occurred or not; Based on the fault prediction information and fault detection information of the plurality of first processing cores, a second target processing core is determined from the plurality of first processing cores. The second target processing core is a processing core that has experienced a fault or has a potential fault. The task of the second target processing core is assigned to other processing cores among the plurality of first processing cores, and the task of the second target processing core is processed by the other processing cores.
5. The method according to claim 1, characterized in that, The process of 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, as well as the load information, health status information, and adapted task type of the plurality of first processing cores, includes: 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 type adapted to the plurality of first processing cores, at least one candidate processing core is determined from the plurality of first processing cores. 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 to 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 demand 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 requirements corresponding to the real-time demand information.
6. A vehicle control device, characterized in that, The device includes: A receiving module is used to receive a vehicle task request, wherein the vehicle task request is used to request the vehicle's multi-core processor to execute the vehicle control task corresponding to the vehicle task request, and the multi-core processor includes multiple first processing cores, and different first processing cores are used to process tasks of different task types. The first determining module is used to determine the task type of the vehicle control task corresponding to the vehicle task request. The second determining module is used to determine the priority level of the vehicle control task corresponding to the vehicle task request; The third determining module is used to 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 requirements of the vehicle control task. The fourth determining module is used to determine the load information, health status information, and suitable task types of the plurality of first processing cores; The fifth determining module is used to determine the 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, as well as the load information, health status information and adapted task type 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. The first processing module is configured to, when the first target processing core is an engine control core, assign the vehicle control task corresponding to the vehicle task request to the engine control core, and process the task corresponding to the vehicle task request through the engine control core based on cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space. The first processing module is configured to, when the first target processing core is an electric motor control core, assign the vehicle control task corresponding to the vehicle task request to the electric motor control core, and process the task corresponding to the vehicle task request through the electric motor control core based on cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space. The first processing module is configured to, when the first target processing core is the transmission control core, assign the vehicle control task corresponding to the vehicle task request to the transmission control core, and process the task corresponding to the vehicle task request through the transmission control core based on cached data in at least one of the cached data in the first cache space, the cached data in the second cache space, and the cached data in the third cache space. The first processing module is used to process the task corresponding to the vehicle task request by means of the communication processing core, based on cached data in at least one of the cached data in the first cache space, the second cache space, and the third cache space, when the first target processing core is a communication processing core. The first cache space is used to store data with an access frequency greater than a first preset frequency, the second cache space is used to store data with an access frequency greater than a 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.
7. A task scheduler, characterized in that, The task scheduler includes a processor and a memory, the memory storing at least one piece of program code, which is loaded and executed by the processor to implement the vehicle control method as described in any one of claims 1 to 5.
8. A computer-readable storage medium, characterized in that, The storage medium stores at least one piece of program code, which is loaded and executed by a processor to implement the vehicle control method as described in any one of claims 1 to 5.
9. A computer program product, characterized in that, The computer program product stores at least one piece of program code, which is executed by a processor to implement the vehicle control method as described in any one of claims 1 to 5.
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