Method and system for time slot allocation for multi-protocol coexistence of shared radio frequency front-end circuit

By adopting a classification and two-level priority time slot allocation method, the real-time performance and efficiency issues of time slot allocation in multi-protocol shared RF front-end circuits are solved, achieving efficient and low-latency time slot scheduling, and improving communication quality and system performance.

CN121078537BActive Publication Date: 2026-06-26BEIJING ZHAOXUN HENGDA TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511315591.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-15
Publication Date
2026-06-26
Estimated Expiration
2045-09-15

AI Technical Summary

Technical Problem

In shared RF front-end circuits with multiple protocols coexisting, existing technologies struggle to achieve efficient and real-time time slot allocation, leading to frequent packet collisions and transmission delays, which affect communication quality and system performance.

Method used

The system adopts a periodic approach to receive time slot requests and classifies them into three types: periodic, continuous, and indefinite periodic. Based on a two-level priority scheduling strategy, it assigns differentiated priorities to each type of time slot. By dynamically calculating the current permanent priority and idle time, it intelligently inserts low-priority tasks and dynamically adjusts priorities to avoid time slot conflicts.

Benefits of technology

It achieves high real-time performance and low latency time slot allocation in multi-protocol shared RF front-end scenarios, improves time slot utilization and system throughput, effectively avoids time slot conflicts and resource starvation, and takes into account the requirements of real-time performance, latency and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121078537B_ABST
    Figure CN121078537B_ABST
Patent Text Reader

Abstract

The application discloses a time slot allocation method and system for multi-protocol coexistence of a shared radio frequency front-end circuit. The method comprises the following steps: periodically receiving all time slot applications in a current period and classifying them into three types of periodic, continuous and indefinite period according to execution characteristics; allocating different priorities to time slot applications of different categories, and calculating a dynamic current permanent priority by combining a permanent priority and a temporary priority; selecting a next to-be-executed time slot application according to the priority, updating all time slot parameters after execution is completed, and performing a cycle. The application can effectively predict and avoid time slot conflicts, significantly improve time slot utilization and communication real-time performance, and meet the requirements of low delay and high throughput, and is suitable for efficient coexistence of various wireless communication protocols in a shared radio frequency front-end environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a time slot allocation method for multi-protocol coexistence using a shared radio frequency front-end circuit, and also to a corresponding time slot allocation system, belonging to the field of wireless communication technology. Background Technology

[0002] Currently, many mainstream wireless communication technologies, such as Bluetooth, Wi-Fi, and ZigBee, operate in the 2.4GHz frequency band, leading to increasing congestion of resources in this band. To reduce costs and improve integration, modern wireless communication chips often integrate baseband processing units for multiple protocols into a single chip. However, these protocols typically have to share the same set of radio frequency front-end circuitry, including hardware resources such as antennas, filters, and power amplifiers.

[0003] In this context of shared hardware resources, achieving efficient and conflict-free coexistence of multiple protocols in terms of time has become a key technical challenge. Especially in application scenarios with high real-time requirements, the lack of an effective time slot scheduling mechanism will lead to frequent packet collisions and transmission delays, seriously affecting communication quality and system performance.

[0004] To address the slot collision problem in multi-protocol coexistence, existing technologies have proposed several solutions. For example, Chinese invention patent ZL 201210331106.0 discloses a slot collision handling method based on frame information (FI). This method requires each node to maintain a state table for each slot it uses and predicts slot collisions by parsing the received FI information. Once a potential collision is detected, the corresponding slot state table is deleted to avoid re-initiating the access process.

[0005] However, this method has significant limitations: time slot requests must be matched by collision prediction via FI before the actual time slot is used; if a conflict is predicted, an idle time slot must be reselected. This mechanism results in poor real-time performance of collision detection, significant system response delay, and collision events often have to wait until the next frame period to be processed, failing to meet the requirements for high real-time performance and low latency communication.

[0006] Therefore, there is an urgent need for a more efficient and real-time time slot allocation method and system to support the reliable coexistence of multiple protocols in a shared RF front-end environment. Summary of the Invention

[0007] The primary technical problem to be solved by this invention is to provide a time slot allocation method for multiple protocols coexisting in a shared radio frequency front-end circuit.

[0008] Another technical problem to be solved by the present invention is to provide a time slot allocation system for multiple protocols coexisting in a shared radio frequency front-end circuit.

[0009] To achieve the above-mentioned technical objectives, the present invention adopts the following technical solution:

[0010] According to a first aspect of the present invention, a time slot allocation method for multi-protocol coexistence using a shared radio frequency front-end circuit is provided, comprising the following steps:

[0011] S1: Periodically receive all time slot requests initiated by upper-layer applications, wireless protocols, or drivers within the current period, and obtain the classification to which the time slot requests belong;

[0012] S2: Assign corresponding priorities to time slot applications based on their different categories;

[0013] S3: Based on priority, select the next time slot application to be executed, start and execute the communication task corresponding to this selected time slot application; after the time slot application is completed, update the time slot parameters of all current time slot applications, and return to step S1;

[0014] The time slot applications are categorized as follows: periodically executed time slots, continuously executed time slots, and time slots with irregular periods.

[0015] Preferably, step S2 includes the following sub-steps:

[0016] S21: Obtain the initial values ​​of permanent priority and temporary priority for each time slot application;

[0017] S22: Calculate the current permanent priority based on the permanent priority and the temporary priority;

[0018] S23: Find the time slot application with the highest permanent priority value among all time slot applications. If there is only one time slot application with the highest permanent priority value, set this time slot application as the next time slot application to be executed, and then proceed to the next step. If there are multiple time slot applications with the highest permanent priority value, proceed to step S26 to compare temporary priorities.

[0019] S24: Calculate the idle time of the slot application with the highest current permanent priority value;

[0020] S25: Except for the time slot application with the highest current permanent priority value, continue to search for time slot applications in the remaining time slot applications according to the current permanent priority from high to low, and select the next time slot application to be executed;

[0021] S26: Check if there are any time slot applications of the continuous execution category among all time slot applications. If not, proceed to step S3. If there are, select the time slot application that can be executed before the highest priority time slot application from all time slot applications of the continuous execution category.

[0022] Preferably, the value of the current permanent priority in step S22 is equal to the permanent priority plus the quotient of the temporary priority and the temporary priority plus the permanent priority threshold.

[0023] Preferably, in step S25, if the expected value of one or more time slot applications is less than the start timestamp of the time slot application with the highest current permanent priority value, then the corresponding time slot application is set as the next time slot application to be executed, and then step S24 is executed; otherwise, step S27 is executed; wherein, the expected value is equal to the start timestamp of the time slot application to be executed plus the sum of the maximum expected execution time and the execution time of the time slot selection algorithm.

[0024] Preferably, in step S25, if multiple time slot applications among the remaining time slot applications have the same expected value, the temporary priorities of these time slot applications are compared, and the time slot application with the highest temporary priority is selected as the next time slot application to be executed, and then step S24 is executed; if the temporary priorities of multiple time slot applications are all the highest, the start timestamps of these time slot applications to be executed are compared, and the time slot application with the timestamp closest to the current time is set as the next time slot application to be executed, and then step S24 is executed; if the start timestamps of these time slot applications are also the same, one of the time slot applications is arbitrarily selected as the next time slot application to be executed, and then step S24 is executed.

[0025] Preferably, in step S26, if there is only one time slot application of the continuously executing category, it is determined whether the application can be executed before the highest priority time slot application. If so, this time slot application is set as the next time slot application to be executed, and then the next step is executed. If there are multiple time slot applications of the continuously executing category, it is determined whether these time slot applications can be executed before the highest priority time slot application. If so, the time slot application with the highest permanent priority is selected from them, and this application is set as the next time slot application to be executed, and then the next step is executed.

[0026] Preferably, if the current permanent priority of the first time slot application Y1 and the second time slot application Y2 are the same among multiple time slot applications, then the temporary priority of the first time slot application Y1 and the second time slot application Y2 are compared, and the time slot application with the higher temporary priority is selected as the next time slot application to be executed, and then the next step is executed; if the temporary priority of multiple time slot applications is the highest, then one of the time slot applications is arbitrarily selected as the next time slot application to be executed, and then the next step is executed.

[0027] Preferably, the time slot allocation method further includes:

[0028] After executing a time slot request, the time slot priority is adjusted periodically. The time slot priority adjustment refers to calculating the completion value of different time slot requests and then adjusting the priority of the corresponding time slot requests from large to small according to the completion value.

[0029] Preferably, for multiple time slot applications with the same current permanent priority, the demand completion values ​​are compared. If the difference in demand completion between the time slot application with the highest completion rate and the time slot application with the lowest completion rate exceeds a preset threshold, and the initial value of the temporary priority of the time slot application with the highest completion rate has not reached the upper limit, then the initial value of the temporary priority of the time slot application with the lowest completion rate is increased; otherwise, if the initial value of the temporary priority of the time slot application with the highest completion rate has reached the upper limit, then the initial value of the temporary priority of the time slot application with the highest completion rate is decreased.

[0030] According to a second aspect of the present invention, a time slot allocation system for multi-protocol coexistence of shared radio frequency front-end circuitry is provided, comprising a processor and a memory, wherein the processor and the memory are coupled together; wherein the memory is used to store a computer program; and the processor is used to run the computer program stored in the memory to execute the time slot allocation method for multi-protocol coexistence of shared radio frequency front-end circuitry as described above.

[0031] Compared with existing technologies, this invention classifies time slot requests into three types based on their execution characteristics: periodic, continuous, and indefinite-period, and assigns them differentiated priorities. By combining dynamic calculation of the current permanent priority (CT value) and idle time (IdleTime), it achieves high real-time performance and low latency time slot allocation in multi-protocol shared RF front-end scenarios. This method can intelligently insert low-priority tasks that can be completed during the idle period before the execution of high-priority time slot requests, significantly improving time slot utilization and system throughput. At the same time, through a periodic priority adjustment mechanism based on the degree of demand completion, it adaptively balances the resource allocation of different time slot requests, effectively avoiding time slot conflicts and resource starvation, and taking into account the comprehensive requirements of multiple communication protocols for real-time performance, latency, and reliability. Attached Figure Description

[0032] Figure 1 This is a flowchart illustrating the time slot allocation method for multi-protocol coexistence using a shared radio frequency front-end circuit, as shown in the first embodiment of the present invention.

[0033] Figure 2 This is a schematic diagram of a time slot allocation system with multiple protocols coexisting and a shared radio frequency front-end circuit, as shown in the second embodiment of the present invention. Detailed Implementation

[0034] The technical content of the present invention will now be described in detail with reference to the accompanying drawings and specific embodiments.

[0035] The technical concept in this invention is to classify the use of time slots in wireless communication technology into three types: periodic, continuous, and irregular. Based on this classification, a two-layer priority automatic differentiated scheduling strategy (dynamic priority measurement to solve the resource fairness problem) is adopted to provide dedicated resource allocation logic for each type of time slot usage. At the same time, differentiated completion rate is used to achieve resource allocation optimization guided by "time slot hit probability", solving the scheduling efficiency problem and balancing the technical requirements of high real-time performance and low latency in real time.

[0036] First Embodiment

[0037] like Figure 1 As shown, the time slot allocation method for multi-protocol coexistence of a shared radio frequency front-end circuit provided in the first embodiment of the present invention includes at least the following steps.

[0038] S1: Based on all currently received time slot requests initiated by upper-layer applications, wireless protocols, or drivers, obtain the classification of the time slot requests required by the time slot requests.

[0039] In one embodiment of the present invention, based on the usage scenarios of time slots according to the wireless communication requirements of the 2.4G band, time slot applications are divided into three categories: periodic execution, continuous execution (such as Wi-Fi TXOP burst transmission), and irregular periodic execution (such as Zigbee event-triggered transmission).

[0040] S2: Different priorities are assigned based on the classification of applications in different time slots.

[0041] In one embodiment of the present invention, this step includes the following sub-steps:

[0042] S21: Obtain the initial values ​​of permanent priority and temporary priority for each time slot application.

[0043] The initial value of the permanent priority of each time slot application is determined by the upper-layer application; the initial value of the temporary priority of each time slot application is 0.

[0044] S22: Calculate the current permanent priority (CT) based on the permanent priority and temporary priority in step S21.

[0045] It should be noted that the current permanent priority is a dynamically calculated priority value used to determine which time slot request should be executed first during scheduling. The CT value is determined by two parts:

[0046] Permanent Priority: A basic priority set by upper-layer applications or protocols, which can be understood as an "identity level".

[0047] Temporary Priority: A value that changes dynamically based on system status (such as the number of times a time slot request is blocked), which can be understood as the "urgency level".

[0048] In one embodiment of the present invention, the current permanent priority = permanent priority + (temporary priority / temporary priority carry-over permanent priority threshold).

[0049] The above formula cleverly converts the dynamic "urgency level" (temporary priority) into a value that can be compared with a higher "status level" (permanent priority). For example, a time slot request with a permanent priority of 4, if its temporary priority accumulates to 10 due to multiple preemptions (assuming a threshold of 10), then its CT = 4 + (10 / 10) = 5. In this way, it can participate in scheduling with a priority of 5, thus being more likely to be selected for execution, solving the "starvation" problem.

[0050] The current permanent priority is the primary basis for the scheduling algorithm's decision. The scheduling algorithm will prioritize the time slot request with the highest CT value for execution. Only when multiple requests have the same CT value will they further compare their temporary priority, execution timestamp, and other parameters.

[0051] In step S22, the permanent priority is updated to the current permanent priority. The temporary priority carry-over threshold refers to the threshold for adjusting a temporary priority to a permanent priority. This threshold is set by the system developers after careful consideration. For example, if a high number of collisions with a current time slot application could cause system problems, the threshold should be set lower to more quickly raise the current permanent priority, thus increasing its chances of being selected for execution by the algorithm more rapidly. For instance, if a time slot application has a permanent priority of 4, a temporary priority carry-over threshold of 10, and an initial temporary priority of 0, as the time slot scheduling algorithm runs, if the current time slot application is frequently collided with higher-priority applications, its temporary priority increases by 1 with each collision. When the temporary priority reaches 10, according to the formula above, the current permanent priority = 4 + (10 / 10) = 5. At this point, when selecting a higher-priority time slot application, the algorithm will select this application with a priority of 5. It's important to note that if this time slot application has been successfully scheduled and executed once, its priority must be downgraded to its initial value, i.e., a permanent priority of 4 and a temporary priority of 0.

[0052] S23: Find the time slot application M with the highest current permanent priority value among all time slot applications. If there is only one time slot application with the highest current permanent priority value, set that time slot application as the next time slot application to be executed, and then proceed to the next step. If there are multiple time slot applications with the highest current permanent priority value (i.e., multiple time slot applications have the same current permanent priority value and are all the highest value), then proceed to step 26 to compare temporary priorities.

[0053] S24: Calculate the idle time of slot request M with the highest current permanent priority value.

[0054] Retrieve the timestamp (TimeStamp) of the start time of the time slot application (the time slot application M with the highest current permanent priority value) found in step S23. Subtract the current timestamp (CurrTimeStamp) from this timestamp, and then subtract the execution time of the time slot selection algorithm (AlgoRunTime) to calculate the idle time (IdleTime). That is, IdleTime = TimeStamp - CurrTimeStamp - AlgoRunTime.

[0055] This is because a time slot occupancy comprises two parts: 1) the time for communication within the time slot, and 2) the execution time of the time slot selection algorithm (AlgoRunTime), which represents the time required for the algorithm to select the next time slot request. AlgoRunTime has a worst-case execution time parameter (generally including RF configuration switching time, software computation time, etc.), which affects the time slot's duty cycle. Subtracting AlgoRunTime during idle time calculation ensures the scheduling algorithm has sufficient time to run, thus avoiding time slot conflicts.

[0056] S25: Except for the time slot application M with the highest current permanent priority value, continue to search for time slot applications in the remaining time slot applications according to the current permanent priority from high to low, and select the next time slot application to be executed.

[0057] In the remaining time slot applications, if the expected value (ET) of one or more time slot applications N is less than the timestamp of time slot application M (i.e., ET < timestamp), then time slot application N is set as the next time slot application to be executed, and then step S24 is executed to calculate the idle time of time slot application N; if there is none, then step 27 is executed.

[0058] The expected value of time slot request N is calculated as follows: the start time (TimeStamp) required for the execution of this time slot request. NAdd the maximum expected execution time (MaxExpectEventTime) and the execution time of the time slot selection algorithm (AlgoRunTime) N The sum, i.e., ET = TimeStamp N +MaxExpectEventTime+AlgoRunTime N The maximum expected execution time refers to the time required for a time slot application to be executed. This time slot application is prioritized among multiple time slot applications, selecting those that can be executed within the timestamp of time slot application M (selecting those with an ET value less than the timestamp of time slot application M) to optimize resource allocation. The expected value serves to determine whether, in the case that the highest priority time slot application M has already been selected in step S23, a time slot application that can be executed within the remaining time slot applications can be selected from the current time to the time when the selected time slot application M will be executed. If it can be selected, the next time slot application to be executed will become that time slot application (although the current permanent priority value of this time slot application is lower than the current permanent priority value of the time slot application selected in step S23), because it is closest to the nearest time, and its execution will not affect the execution of the time slot application with the highest current permanent priority value selected in step S23.

[0059] It should be noted that step S25 can be repeated multiple times until no time slot application that can be completed within the idle time of all selected time slot applications is found. For example, if time slot application A is selected as the next time slot application, and then time slot application B is selected from the remaining time slot applications as it can be completed before time slot application A, then B is set as the next time slot application. Then, time slot application C is selected from the remaining time slot applications excluding A and B, because C can be completed before time slot application B is executed, so C is selected as the next time slot application, until no time slot application that can be completed before the selected next time slot application is found in the remaining time slot applications.

[0060] Another scenario is as follows: In step S25, if multiple time slot applications among the remaining time slot applications have the same ET value, the temporary priorities of these time slot applications are compared. If a time slot application has the highest temporary priority, it is selected as the next time slot application to be executed, and then step S24 is executed to calculate the idle time of that time slot application. If multiple time slot applications have the highest temporary priority, the timestamps of the start time of these time slot applications to be executed are compared. The time slot application whose timestamp is closest to the current time is set as the next time slot application to be executed, and then step S24 is executed to calculate the idle time. If the timestamps of these time slot applications are also the same, one of the time slot applications is arbitrarily selected as the next time slot application to be executed, and then step S24 is executed.

[0061] S26: Check if there are any time slot applications of the "continuous execution" category among all time slot applications. If not, proceed to step 3; if so, select the time slot application that can be executed before the highest priority time slot application from all the time slot applications of the "continuous execution" category.

[0062] For time slot requests classified as continuously executing in S1, if there is only one (let's say time slot request X), determine whether it can be executed before the highest priority time slot request M. If so, change the TimeStamp of time slot request X. X The value is CurrTimeStamp X +AlgoRunTime X The maximum allowed execution time (the time slot request execution will automatically exit after the execution time reaches this time) is TimeStamp - (CurrTimeStamp) X +AlgoRunTime X -AlgoRunTime sets the slot request as the next slot request to be executed, and then proceeds to the next step.

[0063] If multiple time slot requests of the same category are continuously executed, determine whether these multiple time slot requests can be executed before the highest priority time slot request M. If so, determine the permanent priority of these multiple time slot requests (let's say Y1, Y2, Y3, Y4), select the one with the highest permanent priority (e.g., Y4), and change the TimeStamp of time slot request Y4. y4 The value is CurrTimeStamp y4 +AlgoRunTime y4 The maximum allowed execution time is TimeStamp - (CurrTimeStamp) y4 +AlgoRunTime y4 -AlgoRunTime sets the slot request as the next slot request to be executed, and then proceeds to the next step.

[0064] If the current permanent priority of the first time slot application (Y1) and the second time slot application (Y2) among the multiple first time slot applications (Y1), Y2, Y3, and Y4 is the same, then the temporary priority of the first time slot application (Y1) and the second time slot application (Y2) is compared. If the temporary priority of the first time slot application (Y1) is the highest, then the first time slot application (Y1) is selected as the next time slot application to be executed, and then the next step is executed. If there are multiple time slot applications with the highest temporary priority value (for example, Y1 and Y2 have the same temporary priority), then any one of the time slot applications is arbitrarily selected as the next time slot application to be executed, and then the next step is executed.

[0065] S3: For the next selected time slot application to be executed, start the corresponding action, and after the time slot application is completed, update the time slot parameters of all current time slot applications, and then return to step S1.

[0066] Updating the timeslot parameters of all current timeslot requests means that if the timestamp of a timeslot request has expired and has not been executed (i.e., its value is less than CurrTimeStamp), the requester is notified to update the value to the time value of the most recent time slot to be executed according to its strategy, and the temporary priority is increased by a step value (i.e., updated to temporary priority + temporary priority increase step value) until the timeslot request gets an execution opportunity, after which the temporary priority is restored to the initial value of the temporary priority.

[0067] More preferably, it also includes periodically adjusting the time slot priority every 100ms, 500ms, or 1 second after executing the time slot request. Time slot priority adjustment refers to calculating the completion rate value of different time slot requests and then adjusting the priority of the corresponding time slots according to the completion rate value from large to small.

[0068] During the time slot priority adjustment process, only the balance of demand completion levels for time slot requests with the same current permanent priority can be automatically adjusted. For adjustments to the demand completion levels of time slot requests with different current permanent priorities, the applicant (e.g., upper-layer applications or drivers) can only make the adjustment by modifying the following parameters when requesting a time slot. The time slot request priority adjustment process is only responsible for reporting the demand completion data to the applicant:

[0069] a) Permanent priority,

[0070] b) Temporary priority,

[0071] c) Temporary priority is increased by step size.

[0072] d) Temporary priority initial value

[0073] e) Temporary priority carry-over to permanent priority threshold.

[0074] Regarding the completion rate of requests, for periodic time slot requests, the completion rate is the time slot hit rate = actual execution count / expected count; for continuously executed time slot requests (such as Wi-Fi scenarios), the completion rate is the actual execution rate = actual execution time / fixed time interval; for time slots executed at irregular intervals, the completion rate is the average time slot hit rate = actual execution count / expected average count.

[0075] For continuous execution time slot requests, the upper layer typically desires to occupy the RF front-end circuitry for an extended period, the longer the better. Therefore, continuous execution time slot requests require special handling. Whenever there is idle time, the time slot selection algorithm will ultimately determine whether a continuous execution time slot request can be inserted for a certain period to improve time slot utilization. Here, for continuous execution time slot requests, the requirement completion rate is represented by the ratio of the actual execution time within a fixed time interval, calculated by dividing the total execution time of the actual time slot request by the fixed time interval (which is generally the interval for adjusting the time slot request priority). Typically, compared to other types of time slot requests, the permanent priority of continuous execution time slot requests is set relatively low. Therefore, the requirement completion rate formula for continuous execution time slot requests differs from the other two types of time slot requests; continuous execution time slot requests should ideally be set to the same permanent priority, lower than the permanent priority value of other types of time slot requests.

[0076] Specifically, the sub-steps for adjusting the priority of time slot requests include:

[0077] For multiple time slot applications with the same current permanent priority, their requirement completion values ​​are compared. If the difference in requirement completion between the highest and lowest completion time slot applications exceeds a preset threshold, and the initial value of the temporary priority of the highest completion time slot application has not reached the upper limit, then the initial value of the temporary priority of the lowest completion time slot application is increased (this initial value refers to the initial value of the temporary priority configured by the upper-layer application in the time slot application. Each time a time slot application is blocked, the time slot application will increase by a step value based on this value. After the time slot application is executed, the temporary priority of the time slot application is restored to the initial value of the temporary priority). Otherwise, when the initial value of the temporary priority of the highest completion time slot application has reached the upper limit, then the initial value of the temporary priority of the highest completion time slot application is decreased.

[0078] The temporary priority of time slots with low completion rates is updated from the initial value to the current temporary priority equal to the previous temporary priority plus the temporary priority increment step. In other words, the temporary priority is increased by one step value. Each time the difference exceeds a threshold, the temporary priority is increased by one step value until the time slot difference is less than or equal to the threshold. Afterward, the current temporary priority value is maintained at its current value. This is because the completion rates of multiple requests with the same current permanent priority are usually not significantly different, so the adjustment process can be completed by fine-tuning the temporary priority value.

[0079] It should be noted that the demand completion calculation in step S3 is used to update the priority of each time slot application, while step S22 selects a time slot application based on priority. These two steps are two mutually influential state machines or steps, with no sequential order, and are generally executed simultaneously without jumping between each other. However, these two steps can also be executed sequentially, with the completion calculation process inserted before step S22 after the current time slot execution is completed. While waiting for the current time slot to complete, the demand completion calculation timer is first checked for timeout. If a timeout is found, the completion rate is calculated, the temporary priority is updated, and then the time slot selection step is executed. Here, for clarity and conciseness, the order of executing step S22 (selecting a time slot application based on priority) followed by step S3 (updating the priority) is used in the description, but this does not constitute a limitation of the present invention.

[0080] Second Embodiment

[0081] Based on the aforementioned time slot allocation method for multi-protocol coexistence in a shared RF front-end circuit, this embodiment further provides a time slot allocation system for multi-protocol coexistence in a shared RF front-end circuit. This system includes one or more processors and a memory. The memory is coupled to the processors and stores one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the time slot allocation method for multi-protocol coexistence in a shared RF front-end circuit as described in the above embodiment.

[0082] The processor controls the overall operation of the system to complete all or part of the steps in the multi-protocol coexistence time slot allocation method for the shared RF front-end circuit. The processor can be a central processing unit (CPU), graphics processing unit (GPU), field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), digital signal processing (DSP) chip, etc. The memory stores various types of data to support the operation of the system. This data may include, for example, instructions for any application or method operating on the system, as well as application-related data. The memory can be implemented using any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, etc.

[0083] In another exemplary embodiment, the present invention also provides a computer-readable storage medium including program instructions that, when executed by a processor, implement the steps of the time slot allocation method for multi-protocol coexistence of a shared radio frequency front-end circuit in any of the above embodiments. For example, the computer-readable storage medium may be the memory including the program instructions described above, which may be executed by the system's processor to complete the time slot allocation method for multi-protocol coexistence of a shared radio frequency front-end circuit and achieve the same technical effects as the method described above.

[0084] In summary, the time slot allocation method and system for multi-protocol coexistence in a shared radio frequency front-end circuit provided by the embodiments of the present invention selects and executes time slot applications based on the principle of foresight, and strives to avoid the randomness of the impact of conflicts occurring during time slot execution on communication performance. It proactively avoids the occurrence of time slot collisions.

[0085] It should be noted that the above embodiments are merely illustrative examples. The technical solutions of the various embodiments can be combined, and the order of the steps can be changed, all of which are within the scope of protection of this patent.

[0086] The above provides a detailed description of the time slot allocation method and system for multi-protocol coexistence in a shared radio frequency front-end circuit provided by this invention. Any obvious modifications made by those skilled in the art without departing from the essence of this invention will constitute an infringement of the patent rights of this invention and will incur corresponding legal liability.

Claims

1. A time slot allocation method for multi-protocol coexistence using a shared radio frequency front-end circuit, characterized in that... Includes the following steps: S1: Periodically receive all time slot requests initiated by upper-layer applications, wireless protocols, or drivers within the current period, and obtain the classification to which the time slot requests belong; S2: Assign corresponding priorities to time slot applications based on their different categories; S3: Based on priority, select the next time slot request to be executed, start and execute the communication task corresponding to this selected time slot request; After the time slot application is completed, update the time slot parameters of all current time slot applications and return to step S1; The time slot applications are classified as follows: periodically executed time slots, continuously executed time slots, and irregularly periodically executed time slots. Step S2 includes the following sub-steps: S21: Obtain the initial values ​​of permanent priority and temporary priority for each time slot application; S22: Calculate the current permanent priority based on the permanent priority and the temporary priority; S23: Find the time slot application with the highest permanent priority value among all time slot applications. If there is only one time slot application with the highest permanent priority value, set this time slot application as the next time slot application to be executed, and then proceed to the next step. If there are multiple time slot applications with the highest permanent priority value, proceed to step S26 to compare temporary priorities. S24: Calculate the idle time of the slot application with the highest current permanent priority value; S25: Except for the time slot application with the highest current permanent priority value, continue to search for time slot applications in the remaining time slot applications according to the current permanent priority from high to low, and select the next time slot application to be executed; S26: Check if there are any time slot applications of the continuous execution category among all time slot applications. If not, proceed to step S3. If there are, select the time slot application that can be executed before the highest priority time slot application from all time slot applications of the continuous execution category.

2. The time slot allocation method for multi-protocol coexistence in a shared RF front-end circuit as described in claim 1, characterized in that: The value of the current permanent priority in step S22 is equal to the permanent priority plus the quotient of the temporary priority and the temporary priority plus the permanent priority threshold.

3. The time slot allocation method for multi-protocol coexistence in a shared RF front-end circuit as described in claim 2, characterized in that: In step S25, if the expected value of one or more time slot applications is less than the start timestamp of the time slot application with the highest current permanent priority value, then the corresponding time slot application is set as the next time slot application to be executed, and then step S24 is executed; otherwise, step S27 is executed; wherein, the expected value is equal to the start timestamp of the time slot application to be executed plus the sum of the maximum expected execution time and the execution time of the time slot selection algorithm.

4. The time slot allocation method for multi-protocol coexistence in a shared RF front-end circuit as described in claim 3, characterized in that... In step S25, If multiple time slot applications in the remaining time slot applications have the same expected value, compare the temporary priorities of these time slot applications, select the time slot application with the highest temporary priority as the next time slot application to be executed, and then execute step S24; If multiple time slot applications have the same highest temporary priority, compare the start timestamps of these time slot applications, set the time slot application with the timestamp closest to the current time as the next time slot application to be executed, and then execute step S24. If the start timestamps of these time slot applications are also the same, then arbitrarily select one of the time slot applications as the next time slot application to be executed, and then execute step S24.

5. The time slot allocation method for multi-protocol coexistence in a shared RF front-end circuit as described in claim 4, characterized in that... In step S26, If there is only one time slot application of a certain category, it is determined whether the application can be executed before the highest priority time slot application. If it can, the time slot application is set as the next time slot application to be executed, and then the next step is executed. If there are multiple time slot requests of the same category that are continuously executed, it is determined whether these time slot requests can be executed before the highest priority time slot request. If so, the time slot request with the highest current permanent priority is selected and set as the next time slot request to be executed, and then the next step is executed.

6. The time slot allocation method for multi-protocol coexistence in a shared RF front-end circuit as described in claim 5, characterized in that: If the current permanent priority of the first time slot application Y1 and the second time slot application Y2 are the same among multiple time slot applications, then the temporary priority of the first time slot application Y1 and the second time slot application Y2 are compared, and the time slot application with the higher temporary priority is selected as the next time slot application to be executed, and then the next step is executed; if the temporary priority of multiple time slot applications is the highest, then any one of the time slot applications is arbitrarily selected as the next time slot application to be executed, and then the next step is executed.

7. The time slot allocation method for multi-protocol coexistence of a shared radio frequency front-end circuit as described in any one of claims 1 to 6, characterized in that... Also includes: After executing a time slot request, the time slot priority is adjusted periodically. The time slot priority adjustment refers to calculating the completion value of different time slot requests and then adjusting the priority of the corresponding time slot requests from large to small according to the completion value.

8. The time slot allocation method for multi-protocol coexistence in a shared RF front-end circuit as described in claim 7, characterized in that: For multiple time slot applications with the same current permanent priority, the demand completion values ​​are compared. If the difference in demand completion between the time slot application with the highest completion rate and the time slot application with the lowest completion rate exceeds a preset threshold, and the initial value of the temporary priority of the time slot application with the highest completion rate has not reached the upper limit, then the initial value of the temporary priority of the time slot application with the lowest completion rate is increased; otherwise, if the initial value of the temporary priority of the time slot application with the highest completion rate has reached the upper limit, then the initial value of the temporary priority of the time slot application with the highest completion rate is decreased.

9. A time slot allocation system for multiple protocols coexisting and sharing a common radio frequency front-end circuit, characterized in that... The device includes a processor and a memory, the processor and the memory being coupled together; wherein the memory is used to store a computer program; the processor is used to run the computer program stored in the memory to execute the time slot allocation method for multi-protocol coexistence of a shared radio frequency front-end circuit as described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Time slot collision processing method and device

    CN103684645A

  • Method for coexistence of a same-frequency-band multi-protocol wireless communication technology

    CN113613255A