A satellite navigation baseband module optimization method and system
By adopting dual-core processors and heterogeneous scheduling strategies in the satellite navigation baseband module, reasonably allocate tasks and perform refined management and control, the problem that processors in the existing technology cannot optimize task allocation according to task real-time and system load is achieved. Efficient processing and performance improvements.
Patent Information
- Application Number
- CN202411274889.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-12
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2044-09-12
AI Technical Summary
In the existing satellite navigation baseband module, two independently arranged processors cannot optimize task allocation based on the real-time requirements of the task and the current system load, which affects the overall performance.
Using dual-core processors, the original task allocation between the first core and the second core is constructed through heterogeneous scheduling strategies, and tasks are allocated reasonably, and refined management and control are carried out according to peripheral management strategies and task priority management strategies, and collaborative allocation is carried out at the same time. Interrupt load.
It realizes efficient processing of tasks and improves overall performance, optimizes task allocation according to the real-time requirements of the tasks and system load, and improves the performance of the satellite navigation baseband module.
Smart Images

Figure CN118796480B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of satellite navigation baseband modules, and in particular to an optimization method and system for a satellite navigation baseband module. Background Art
[0002] With the development of science and technology, satellite navigation baseband modules are gradually used in the aerospace industry. Some system designs use satellite navigation baseband processing that includes two processors. In this design, the two processors are independently arranged and arranged in different positions. At this time, the tasks that the two processors are responsible for are inconsistent, and the two processors cannot optimize task allocation according to the real-time requirements of the task and the current system load, affecting the overall performance. Summary of the invention
[0003] The purpose of the present invention is to overcome the shortcomings of the prior art. The present invention provides an optimization method and system for a satellite navigation baseband module. Based on a heterogeneous scheduling strategy, the original task allocation between the first core and the second core is constructed to facilitate the reasonable allocation of the first task and the second task, thereby optimizing the task allocation according to the real-time requirements of the task and the current system load. At the same time, the first task is managed according to the peripheral management strategy, and the second task is managed according to the task priority management strategy, thereby realizing refined management and control of the first core and the second core, thereby realizing efficient processing of the first task and the second task and improving the overall performance, and collaboratively allocating the interrupt load according to the current load capacity of the first core and the current load capacity of the second core to optimize the satellite navigation baseband module.
[0004] In order to solve the above technical problems, the present invention provides an optimization method for a satellite navigation baseband module, wherein the satellite navigation baseband module includes a dual-core processor, and the optimization method includes:
[0005] The dual-core processor is used to collect original tasks and interrupt loads, and the dual-core processor is divided into a first core and a second core;
[0006] Based on the heterogeneous scheduling strategy, construct an original task allocation between the first core and the second core, define the original task that the first core is responsible for as a first task, and define the original task that the second core is responsible for as a second task;
[0007] Based on the original task, the first core triggers a peripheral management policy, and manages the first task according to the peripheral management policy;
[0008] Based on the original task, the second core triggers a task priority management policy, and manages the second task according to the task priority management policy; and
[0009] The interrupt load is collaboratively distributed according to the current load capacity of the first core and the current load capacity of the second core.
[0010] Optionally, the dual-core processor is divided into a first core and a second core, including:
[0011] locating the dual-core processor; and
[0012] The dual-core processor is divided into the first core and the second core according to the type of the original task.
[0013] Optionally, constructing the original task allocation between the first core and the second core based on the heterogeneous scheduling strategy, defining the original task that the first core is responsible for as the first task, and defining the original task that the second core is responsible for as the second task, includes:
[0014] Freeze the first core and the second core;
[0015] Establishing interaction between the first core and the second core, and associating the heterogeneous scheduling strategy;
[0016] constructing an original task allocation between the first core and the second core according to the heterogeneous scheduling strategy to define the function of the first core and the function of the second core; and
[0017] According to the function definition of the first core, the original task that the first core is responsible for is the first task; according to the function definition of the second core, the original task that the second core is responsible for is the second task.
[0018] Optionally, the first task includes processing non-real-time tasks and peripheral interaction tasks; and
[0019] The second task includes a satellite navigation signal processing task.
[0020] Optionally, based on the original task, the first core triggering a peripheral management policy and managing the first task according to the peripheral management policy includes:
[0021] Freeze the first core;
[0022] Based on the original task, the first core triggers the peripheral management policy; and
[0023] According to the peripheral management strategy, the first core controls the processing of the non-real-time task and the peripheral interaction task;
[0024] According to the peripheral management strategy, the first core controls the processing of the non-real-time task and the peripheral interaction task, including:
[0025] The non-real-time task and the peripheral interaction task constitute a task set;
[0026] Constructing task priorities based on the task set; and
[0027] Prioritize the peripheral interaction tasks.
[0028] Optionally, based on the original task, the second core triggers a task priority management policy and manages the second task according to the task priority management policy, including:
[0029] Freeze the second core;
[0030] Based on the original task, the second core triggers the task priority management policy; and
[0031] According to the task priority management strategy, the second core controls the satellite navigation signal processing task;
[0032] According to the task priority management strategy, the second core controls the satellite navigation signal processing task, including:
[0033] Defining the priority of each subtask in the satellite navigation signal processing task; and
[0034] The subtasks are triggered in order based on their priorities.
[0035] Optionally, the collecting original tasks and interrupt loads by using the dual-core processor includes:
[0036] detecting the state of the satellite navigation baseband module; and
[0037] If the satellite navigation baseband module is in an interrupt state, the dual-core processor collects the interrupt load in real time.
[0038] Optionally, the collaboratively allocating the interrupt load according to the current load capacity of the first core and the current load capacity of the second core further includes:
[0039] Obtaining an actual load ratio between the first core and the second core; and
[0040] Based on the fact that the actual load ratio is higher than the preset load ratio, load distribution is performed on the first core and the second core until the actual load ratio between the first core and the second core is lower than the preset load ratio.
[0041] Optionally, the satellite navigation baseband module optimization method further includes:
[0042] Collecting the abnormal state of the satellite navigation baseband module;
[0043] In the abnormal state, defining an abnormal portion of the satellite navigation baseband module;
[0044] According to the abnormal part, define the task type;
[0045] triggering the first core or the second core according to the task type; and
[0046] Based on the first core or the second core, real-time optimization is performed on the abnormal part to restore the normal state of the satellite navigation baseband module.
[0047] In addition, an embodiment of the present invention further provides an optimization system for a satellite navigation baseband module, the optimization system for a satellite navigation baseband module comprising:
[0048] Dual-core processor;
[0049] A collection module, used for collecting original tasks and interrupt loads using the dual-core processing;
[0050] A division module, used for dividing the dual-core processor into a first core and a second core;
[0051] A task module, based on a heterogeneous scheduling strategy, the task module is used to construct an original task allocation between the first core and the second core, define the original task that the first core is responsible for as a first task, and define the original task that the second core is responsible for as a second task; based on the original task, the first core triggers a peripheral management strategy and controls the first task according to the peripheral management strategy; based on the original task, the second core triggers a task priority management strategy and controls the second task according to the task priority management strategy; and
[0052] A distribution module is used to collaboratively distribute the interruption load according to the current load capacity of the first core and the current load capacity of the second core.
[0053] In an embodiment of the present invention, through the method in the embodiment of the present invention, a dual-core processor is used to collect original tasks and interrupt loads, and the dual-core processor is divided into a first core and a second core; based on a heterogeneous scheduling strategy, the original task allocation between the first core and the second core is constructed, and the original task responsible for the first core is defined as the first task, and the original task responsible for the second core is defined as the second task; based on the original task, the first core triggers the peripheral management strategy, and controls the first task according to the peripheral management strategy; based on the original task, the second core triggers the task priority management strategy, and controls the second task according to the task priority management strategy; and based on the current load capacity of the first core and the current load capacity of the second core, the first core triggers the peripheral management strategy, and controls the first task according to the peripheral management strategy. The interrupt load is collaboratively distributed based on the front load capacity. At this time, based on the heterogeneous scheduling strategy, the original task allocation between the first core and the second core is constructed to facilitate the reasonable allocation of the first task and the second task, thereby optimizing the task allocation according to the real-time requirements of the task and the current system load. At the same time, the first task is controlled according to the peripheral management strategy, and the second task is controlled according to the task priority management strategy, thereby realizing the refined management and control of the first core and the second core, thereby realizing efficient processing of the first task and the second task and improving the overall performance, and collaboratively distributing the interrupt load according to the current load capacity of the first core and the current load capacity of the second core to optimize the satellite navigation baseband module. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0055] Figure 1 is a schematic flow chart of a method for optimizing a satellite navigation baseband module in an embodiment of the present invention;
[0056] Figure 2 is a schematic diagram of the flow of S11 in the method for optimizing the satellite navigation baseband module in an embodiment of the present invention;
[0057] Figure 3 is a schematic diagram of the flow of S12 in the method for optimizing the satellite navigation baseband module in an embodiment of the present invention;
[0058] Figure 4 is a schematic diagram of the flow of S13 in the method for optimizing the satellite navigation baseband module in an embodiment of the present invention;
[0059] Figure 5 is a schematic diagram of the flow of S14 in the method for optimizing the satellite navigation baseband module in an embodiment of the present invention;
[0060] Figure 6 is a schematic diagram of the flow of S15 in the method for optimizing the satellite navigation baseband module in an embodiment of the present invention;
[0061] Figure 7 is a schematic diagram of core allocation in a method for optimizing a satellite navigation baseband module in an embodiment of the present invention;
[0062] Figure 8 is a schematic diagram of resource allocation in a method for optimizing a satellite navigation baseband module in an embodiment of the present invention;
[0063] Fig. 9 Schematic diagram of the structure of the optimization system of the satellite navigation baseband module in the embodiment of the present invention;
[0064] Fig.10 The figure is a hardware diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION
[0065] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0066] See also Figures 1 to 10 The present invention provides a satellite navigation baseband module optimization method, which is applied to the satellite navigation baseband module optimization scenario.
[0067] Since two processors are currently used, the two processors are arranged independently and separately in different positions. The tasks that the two processors are responsible for are inconsistent and it is impossible to optimize the task allocation according to the real-time requirements of the tasks and the current system load. This seriously affects the overall performance of the satellite navigation baseband module. In view of this, the present invention adopts a single dual-core processor to process different tasks through the dual-core processor, and can also optimize the performance of the satellite navigation baseband module according to the real-time requirements of the tasks and the current system load, as described below.
[0068] The optimization methods of satellite navigation baseband module include:
[0069] Step S11: using the dual-core processor to collect original tasks and interrupt loads, the dual-core processor is divided into a first core and a second core;
[0070] Step S12: constructing original task allocation between the first core and the second core based on the heterogeneous scheduling strategy, defining the original task that the first core is responsible for as the first task, and defining the original task that the second core is responsible for as the second task;
[0071] Step S13: Based on the original task, the first core triggers a peripheral management policy, and manages the first task according to the peripheral management policy;
[0072] Step S14: Based on the original task, the second core triggers a task priority management policy, and manages the second task according to the task priority management policy;
[0073] Step S15: collaboratively distributing the interruption load according to the current load capacity of the first core and the current load capacity of the second core.
[0074] The present invention is based on a heterogeneous scheduling strategy, constructs an original task allocation between a first core and a second core, reasonably allocates different tasks to the first core and the second core, and defines the original tasks that the first core and the second core are responsible for processing respectively as the first task and the second task, so that the task allocation can be optimized according to the real-time requirements of the task and the current system load. At the same time, the first task is controlled according to the peripheral management strategy, and the second task is controlled according to the task priority management strategy, thereby realizing refined management and control of the first core and the second core, thereby realizing efficient processing of the first task and the second task and improving the overall performance, and collaboratively allocating the interruption load according to the current load capacity of the first core and the current load capacity of the second core to optimize the satellite navigation baseband module.
[0075] In some embodiments, in the specific implementation process of the present invention, step S11 may include:
[0076] S111: locating the dual-core processor;
[0077] S112: Divide the dual-core processor into the first core and the second core according to the type of the original task.
[0078] Dual-core processors are collected and core allocation is performed for the dual-core processors so that the dual-core processors can be divided according to the original task type and divided into the first core and the second core, so that in-depth management and control can be performed based on the first core and the second core, thereby achieving collaborative interaction between the first core and the second core, and making full use of the first core and the second core. At this time, the first core can be used as a CPU0 business module and match the CPU0 business function, and the second core can be used as a CPU1 business module and match the CPU1 business function.
[0079] At this time, the use of the dual-core processor to collect original tasks and interrupt loads includes: detecting the status of the satellite navigation baseband module; and if the satellite navigation baseband module is in an interrupt state, the dual-core processor collects the interrupt load in real time, thereby defining the interrupt load, and controlling the interrupt load.
[0080] In some embodiments, in the specific implementation of the present invention, step S12 may include:
[0081] S121: freeze the first core and the second core;
[0082] S122: Establishing interaction between the first core and the second core, and associating the heterogeneous scheduling strategy;
[0083] S123: constructing original task allocation between the first core and the second core according to the heterogeneous scheduling strategy to define the function of the first core and the function of the second core; and
[0084] S124: Define the original task that the first core is responsible for as the first task according to the function of the first core; and define the original task that the second core is responsible for as the second task according to the function of the second core.
[0085] In certain embodiments of the present application, the first core and the second core are fixed, and the first core and the second core are interacted, so that the first core and the second core are associated with a heterogeneous scheduling strategy, so as to introduce a heterogeneous scheduling strategy into the first core and the second core, and then construct a task allocation between the first core and the second core according to the heterogeneous scheduling strategy to define the functions of the first core and the functions of the second core. Therefore, with respect to the task allocation between the first core and the second core, the workload of the first core and the second core is reasonably allocated, so that one core focuses on real-time satellite navigation signal processing tasks, while the other core processes non-real-time tasks and peripheral interactions, thereby achieving efficient task processing, optimizing power consumption and improving the overall performance of the system.
[0086] At this time, according to the function definition of the first core, the original task that the first core is responsible for is the first task; according to the function definition of the second core, the original task that the second core is responsible for is the second task. Optionally, the first task includes processing non-real-time tasks and peripheral interaction tasks; and the second task includes satellite navigation signal processing tasks.
[0087] Therefore, the first task that the first core is responsible for processing is designated to process non-real-time tasks and all peripheral interaction tasks (such as UART, SPI), and the non-real-time tasks include user interfaces, data interaction applications, etc.; the second core is specifically responsible for real-time satellite navigation signal processing tasks, including baseband signal capture, tracking processing, and processing of high-frequency interrupts related thereto. Optionally, the heterogeneous scheduling mechanism is a software-level scheduler that is responsible for dynamically allocating tasks to the first core and the second core, and optimizing task allocation according to the real-time requirements of the tasks and the current system load. In addition, the use of heterogeneous scheduling strategies can simplify the system design and development process. Developers can optimize the code based on the expertise and task characteristics of each core without having to worry about resource competition and scheduling conflicts between the first core and the second core.
[0088] In some implementations, in the specific implementation process of the present invention, step S13 may include:
[0089] S131: freeze the first core;
[0090] S132: Based on the original task, the first core triggers the peripheral management strategy;
[0091] S133: According to the peripheral management strategy, the first core controls the processing of the non-real-time task and the peripheral interaction task.
[0092] Specifically, according to the peripheral management strategy, the first core forms a task set with the non-real-time task and the peripheral interaction task; constructs a task priority based on the task set; and performs priority processing on the peripheral interaction task.
[0093] In certain embodiments of the present application, the first core is frozen and managed, so that non-real-time tasks and peripheral interaction tasks are collected according to the first core, so as to centrally process the non-real-time tasks and peripheral interaction tasks, and fully guarantee the work content of the first core. At this time, based on the original task, the first core triggers the peripheral management strategy, and according to the peripheral management strategy, the first core manages the processing of the non-real-time tasks and the peripheral interaction tasks.
[0094] Furthermore, non-real-time tasks and peripheral interaction tasks are formed into a task set; task priorities are constructed based on the task set; peripheral interaction tasks are prioritized to trigger peripheral management strategies; at this time, by ensuring the stable execution of peripheral interaction tasks on the non-real-time processing core, the data interruption problem that may be caused by high-frequency real-time task processing is avoided, thereby improving the reliability of data interaction.
[0095] In some embodiments, in the specific implementation process of the present invention, step S14 may include:
[0096] S141: freeze the second core;
[0097] S142: Based on the original task, the second core triggers the task priority management policy;
[0098] S143: According to the task priority management strategy, the second core controls the satellite navigation signal processing task.
[0099] Specifically, according to the task priority management strategy, the second core defines the priority of each subtask in the satellite navigation signal processing task; and triggers the subtasks in an orderly manner based on the priority of each subtask.
[0100] In certain embodiments of the present application, the second core is frozen, and satellite navigation signal processing tasks are collected for the second core, thereby triggering priority processing based on the satellite navigation signal processing tasks, and defining the priorities of each subtask in the satellite navigation signal processing tasks; orderly triggering is performed based on the priorities of each subtask in the satellite navigation signal processing tasks to trigger the task priority management strategy.
[0101] At this time, based on the original task, the second core triggers the task priority management strategy; according to the task priority management strategy, the second core controls the satellite navigation signal processing task; defines the priority of each subtask in the satellite navigation signal processing task; and triggers in an orderly manner based on the priority of each subtask.
[0102] Therefore, by assigning real-time tasks and non-real-time tasks to different cores respectively, the system's processing capability for real-time tasks is significantly improved, while ensuring the stable execution of non-real-time tasks. Therefore, by implementing dual-core heterogeneous scheduling on a dual-core processor, the present invention reduces the hardware cost and design complexity of the system, while reducing the space required inside the chip, thereby improving the system's integration and space efficiency.
[0103] Optionally, through real-time task priority management, a higher priority is assigned to the real-time tasks running on CPU1 to ensure that satellite navigation signal processing and baseband module interrupts can get immediate response. At the same time, the peripheral management strategy is optimized and implemented on CPU0, giving priority to the stability and security of peripheral IO interaction, and avoiding data loss through buffer management and flow control strategy. Figure 7 As shown, the resources between CPU1 and CPU0 interact, such as Figure 8 As indicated, at this time, CPU resource allocation is dynamically adjusted, cache usage strategy is optimized, and the overhead of task switching and interrupt processing is reduced. According to the current workload, the power consumption and performance state of the two cores are dynamically adjusted to achieve energy efficiency optimization.
[0104] In some embodiments, in the specific implementation of the present invention, step S15 may include:
[0105] S151: Obtaining an actual load ratio between the first core and the second core;
[0106] S152: Based on the fact that the actual load ratio is higher than the preset load ratio, load distribution is performed on the first core and the second core until the actual load ratio between the first core and the second core is lower than the preset load ratio.
[0107] In certain embodiments of the present application, the status of the satellite navigation baseband module is detected; if the satellite navigation baseband module is in an interrupt state, the interrupt load of the satellite navigation baseband module is collected in real time to define the interrupt load of the satellite navigation baseband module, thereby dividing the interrupt load of the satellite navigation baseband module to adapt to the first core and the second core.
[0108] In certain embodiments of the present application, the status of the satellite navigation baseband module is detected; if the satellite navigation baseband module is in an interrupt state, the interrupt load of the satellite navigation baseband module is collected in real time to define the interrupt load of the satellite navigation baseband module, thereby dividing the interrupt load of the satellite navigation baseband module to adapt to the first core and the second core.
[0109] Therefore, the interrupt load based on the satellite navigation baseband module triggers the load distribution of the first core and the second core, wherein the actual load ratio between the first core and the second core is obtained, and based on the actual load ratio being higher than the preset load ratio, the first core and the second core are load distributed until the actual load ratio between the first core and the second core is lower than the preset load ratio. Therefore, the interrupt load is collaboratively distributed based on the current load capacity of the first core and the current load capacity of the second core to improve the response speed and processing capability of the satellite navigation baseband module to interrupts. At this time, a priority management system is implemented to ensure that real-time processing tasks (such as baseband module interrupts) can obtain a quick response, while ensuring that non-real-time tasks (such as peripheral IO operations) are not blocked for a long time due to the high-frequency interrupts of real-time tasks.
[0110] At the same time, the load ratio between the first core and the second core is collected; if the load ratio between the first core and the second core is higher than the preset load ratio, the load is distributed for the first core and the second core until the load ratio between the first core and the second core is lower than the preset load ratio, and the power consumption and state of the first core and the second core are dynamically adjusted. At this time, according to the current task load and system performance requirements, the power consumption state of the first core and the second core is dynamically adjusted, such as reducing the CPU frequency or placing non-critical cores in low power mode when the load is low. In addition, a set of efficient inter-core communication mechanisms is designed to support fast data exchange and synchronization, and reduce data transmission and processing delays. The invented dynamic power management strategy effectively reduces the overall power consumption, which is particularly suitable for battery-powered portable satellite navigation devices and prolongs the use time of the device. In addition, an error detection and recovery mechanism is implemented to ensure that the system can recover quickly when encountering abnormal situations, ensuring the stable operation of the system and the security of data.
[0111] In some embodiments, the optimization method of the satellite navigation baseband module also includes: collecting the abnormal state of the satellite navigation baseband module; in the abnormal state, defining the abnormal part of the satellite navigation baseband module; defining the task type according to the abnormal part; triggering the first core or the second core according to the task type; and performing real-time optimization on the abnormal part based on the first core or the second core to restore the normal state of the satellite navigation baseband module, thereby realizing abnormal management and control of the satellite navigation baseband module and ensuring abnormal handling of the satellite navigation baseband module.
[0112] Some embodiments of the present application use a dual-core processor to collect original tasks and interrupt loads, and the dual-core processor is divided into a first core and a second core; based on a heterogeneous scheduling strategy, the original task allocation between the first core and the second core is constructed, and the original task that the first core is responsible for is defined as the first task, and the original task that the second core is responsible for is defined as the second task; based on the original task, the first core triggers the peripheral management strategy, and controls the first task according to the peripheral management strategy; based on the original task, the second core triggers the task priority management strategy, and controls the second task according to the task priority management strategy; and based on the current load capacity of the first core and the current load capacity of the second core, The interrupt load is collaboratively distributed. At this time, based on the heterogeneous scheduling strategy, the original task allocation between the first core and the second core is constructed to facilitate the reasonable allocation of the first task and the second task, thereby optimizing the task allocation according to the real-time requirements of the task and the current system load. At the same time, the first task is controlled according to the peripheral management strategy, and the second task is controlled according to the task priority management strategy, thereby realizing refined management and control of the first core and the second core, thereby realizing efficient processing of the first task and the second task and improving the overall performance, and collaboratively distributing the interrupt load according to the current load capacity of the first core and the current load capacity of the second core to optimize the satellite navigation baseband module.
[0113] In some embodiments, see Fig. 9 , Fig. 9 1 is a schematic diagram of the structure of the satellite navigation baseband module optimization system in the embodiment of the present invention. The present invention provides a satellite navigation baseband module optimization system, which can optimize the satellite navigation baseband module by using the optimization methods of the above embodiments or other embodiments, and the system specifically includes:
[0114] Dual-core processor 21;
[0115] A collection module 22, used for collecting original tasks and interrupt loads using the dual-core processing;
[0116] A division module 23, used for dividing the dual-core processor into a first core and a second core;
[0117] A task module 24, based on the heterogeneous scheduling strategy, the task module is used to construct the original task allocation between the first core and the second core, define the original task responsible for the first core as the first task, and define the original task responsible for the second core as the second task; based on the original task, the first core triggers the peripheral management strategy and controls the first task according to the peripheral management strategy; based on the original task, the second core triggers the task priority management strategy and controls the second task according to the task priority management strategy; and
[0118] The allocation module 25 is used to collaboratively allocate the interruption load according to the current load capacity of the first core and the current load capacity of the second core.
[0119] In some embodiments, see Fig.10 , refer to the following Fig.10 The electronic device 40 according to this embodiment of the present invention will be described. Fig.10 The electronic device 40 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0120] like Fig.10 As shown, the electronic device 40 is in the form of a general computing device. The components of the electronic device 40 may include but are not limited to: at least one processing unit 41, at least one storage unit 42, and a bus 43 connecting different system components (including the storage unit 42 and the processing unit 41).
[0121] The storage unit stores program codes, which can be executed by the processing unit 41, so that the processing unit 41 executes the steps according to various exemplary embodiments of the present invention described in the above “Embodiment Method” section of this specification.
[0122] The storage unit 42 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 421 and / or a cache memory unit 422 , and may further include a read-only memory unit (ROM) 423 .
[0123] The storage unit 42 may also include a program / utility 424 having a set (at least one) of program modules 425, such program modules 425 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0124] Bus 43 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0125] The electronic device 40 may also communicate with one or more external devices (e.g., keyboards, pointing devices, Bluetooth devices, etc.), one or more devices that enable a trainee to interact with the electronic device 40, and / or any device that enables the electronic device 40 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 44. Furthermore, the electronic device 40 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 45. Fig.10 As shown, the network adapter 45 communicates with other modules of the electronic device 40 via the bus 43. It should be understood that although Fig.10 Not shown, other hardware and / or software modules may be used in conjunction with the electronic device 40, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup planning systems.
[0126] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes a number of instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation of the present disclosure.
[0127] Those skilled in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium, and the storage medium can include: a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc. In addition, it stores computer program instructions, and when the computer program instructions are executed by a computer, the computer executes the above method.
[0128] In addition, the above describes in detail the optimization method and system for the satellite navigation baseband module provided in the embodiments of the present invention. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the ideas of the present invention, there will be changes in the specific implementation methods and application scopes. In summary, the content of this specification should not be understood as a limitation on the present invention.
Claims
1. A method for optimizing a satellite navigation baseband module, characterized in that: The satellite navigation baseband module includes a dual-core processor, and the optimization method includes: The dual-core processor is used to collect original tasks and interrupt loads, and the dual-core processor is divided into a first core and a second core; Based on the heterogeneous scheduling strategy, construct an original task allocation between the first core and the second core, define the original task that the first core is responsible for as a first task, and define the original task that the second core is responsible for as a second task; Based on the original task, the first core triggers a peripheral management policy, and manages the first task according to the peripheral management policy; Based on the original task, the second core triggers a task priority management policy, and manages the second task according to the task priority management policy; and Coordinately distributing the interrupt load according to the current load capacity of the first core and the current load capacity of the second core; The first task includes processing non-real-time tasks and peripheral interaction tasks; The second task includes a satellite navigation signal processing task; Based on the original task, the first core triggers a peripheral management policy and controls the first task according to the peripheral management policy, including: Freeze the first core; Based on the original task, the first core triggers the peripheral management policy; and According to the peripheral management strategy, the first core controls the processing of the non-real-time task and the peripheral interaction task; According to the peripheral management strategy, the first core controls the processing of the non-real-time task and the peripheral interaction task, including: The non-real-time task and the peripheral interaction task constitute a task set; Constructing task priorities based on the task set; and Prioritizing the peripheral interaction tasks; Based on the original task, the second core triggers a task priority management policy and manages the second task according to the task priority management policy, including: Freeze the second core; Based on the original task, the second core triggers the task priority management policy; and According to the task priority management strategy, the second core controls the satellite navigation signal processing task; According to the task priority management strategy, the second core controls the satellite navigation signal processing task, including: Defining the priority of each subtask in the satellite navigation signal processing task; and The subtasks are triggered in order based on their priorities.
2. The method for optimizing a satellite navigation baseband module according to claim 1, characterized in that: The dual-core processor is divided into a first core and a second core, including: locating the dual-core processor; and The dual-core processor is divided into the first core and the second core according to the type of the original task.
3. The method for optimizing a satellite navigation baseband module according to claim 2, characterized in that: The step of constructing the original task allocation between the first core and the second core based on the heterogeneous scheduling strategy, defining the original task that the first core is responsible for as the first task, and defining the original task that the second core is responsible for as the second task, includes: Freeze the first core and the second core; Establishing interaction between the first core and the second core, and associating the heterogeneous scheduling strategy; constructing an original task allocation between the first core and the second core according to the heterogeneous scheduling strategy to define the function of the first core and the function of the second core; and According to the function definition of the first core, the original task that the first core is responsible for is the first task; according to the function definition of the second core, the original task that the second core is responsible for is the second task.
4. The method for optimizing a satellite navigation baseband module according to any one of claims 1 to 3, characterized in that: The step of using the dual-core processor to collect original tasks and interrupt loads includes: detecting the state of the satellite navigation baseband module; and If the satellite navigation baseband module is in an interrupt state, the dual-core processor collects the interrupt load in real time.
5. The method for optimizing a satellite navigation baseband module according to claim 4, characterized in that: The collaboratively distributing the interrupt load according to the current load capacity of the first core and the current load capacity of the second core further includes: Obtaining an actual load ratio between the first core and the second core; and Based on the fact that the actual load ratio is higher than the preset load ratio, load distribution is performed on the first core and the second core until the actual load ratio between the first core and the second core is lower than the preset load ratio.
6. The method for optimizing a satellite navigation baseband module according to claim 5, characterized in that: Also includes: Collecting the abnormal state of the satellite navigation baseband module; In the abnormal state, defining an abnormal portion of the satellite navigation baseband module; According to the abnormal part, define the task type; triggering the first core or the second core according to the task type; as well as Based on the first core or the second core, real-time optimization is performed on the abnormal part to restore the normal state of the satellite navigation baseband module.
7. An optimization system for a satellite navigation baseband module, characterized in that: The method for optimizing a satellite navigation baseband module according to any one of claims 1 to 6 is adopted, wherein the optimization system comprises: Dual-core processor; A collection module, used for collecting original tasks and interrupt loads using the dual-core processing; A division module, used for dividing the dual-core processor into a first core and a second core; A task module, based on a heterogeneous scheduling strategy, the task module is used to construct an original task allocation between the first core and the second core, define the original task that the first core is responsible for as a first task, and define the original task that the second core is responsible for as a second task; based on the original task, the first core triggers a peripheral management strategy and controls the first task according to the peripheral management strategy; based on the original task, the second core triggers a task priority management strategy and controls the second task according to the task priority management strategy; and an allocation module, configured to collaboratively allocate the interruption load according to a current load capacity of the first core and a current load capacity of the second core; The first task includes processing non-real-time tasks and peripheral interaction tasks; The second task includes a satellite navigation signal processing task; Based on the original task, the first core triggers a peripheral management policy and controls the first task according to the peripheral management policy, including: Freeze the first core; Based on the original task, the first core triggers the peripheral management policy; and According to the peripheral management strategy, the first core controls the processing of the non-real-time task and the peripheral interaction task; According to the peripheral management strategy, the first core controls the processing of the non-real-time task and the peripheral interaction task, including: The non-real-time task and the peripheral interaction task constitute a task set; Constructing task priorities based on the task set; and Prioritizing the peripheral interaction tasks; Based on the original task, the second core triggers a task priority management policy and manages the second task according to the task priority management policy, including: Freeze the second core; Based on the original task, the second core triggers the task priority management policy; and According to the task priority management strategy, the second core controls the satellite navigation signal processing task; According to the task priority management strategy, the second core controls the satellite navigation signal processing task, including: Defining the priority of each subtask in the satellite navigation signal processing task; and The subtasks are triggered in order based on their priorities.
Citation Information
Patent Citations
Heterogeneous multi-core architecture-based runtime system and control method thereof
CN106598731A
Real-time task scheduling method and module for non-real-time operating system, terminal and storage medium
CN112579271A