A method, apparatus, and data processing unit for reporting time slot numbers and half-frame numbers.
By acquiring and calibrating the time stamps of programmable logic devices through interrupt tasks and link selection mechanisms, the problem of inaccurate reporting of time slot numbers and half-frame numbers in communication services is solved, and accurate data transmission at the service layer is achieved.
Patent Information
- Application Number
- CN202311185809.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-14
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2043-09-14
AI Technical Summary
In communication services, instability of chips or operating systems can lead to errors in the reporting of time slot numbers and half-frame numbers, and existing technologies cannot guarantee the accuracy of the reporting.
The interrupt task obtains the time stamp reported by the programmable logic device interrupt, determines whether it increases according to the preset auto-increment rule, and if so, reports the target time stamp; otherwise, it updates the interrupt maintenance time stamp according to the preset auto-increment rule, and ensures accuracy under the link selection and timing system calibration.
To ensure the accuracy of the time slot number and half-frame number reported to the service layer, the link selection and calibration mechanism avoids erroneous reporting due to latency, thereby improving the stability of the communication system.
Smart Images

Figure CN119628770B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method, apparatus and data processing unit for reporting time slot numbers and half-frame numbers. Background Technology
[0002] In communication services, different parameter sets are defined for different communication environments. By selecting and using the appropriate parameter set as needed to complete tasks, the flexibility of communication can be greatly increased. The parameter set includes subcarriers, frame structure, uplink / downlink ratio, etc. For the frame structure, which includes time slots, half-frames, and subframes, there are usually corresponding time slot numbers, half-frame numbers, and subframe numbers. In communication services, to complete tasks, the service layer often needs to obtain the time slot number and half-frame number.
[0003] In actual communication services, if there is instability in the chip or operating system, it may cause errors in the timeslot number and half-frame number reported to the service layer. Summary of the Invention
[0004] The purpose of this application is to provide a method, apparatus, and data processing unit for reporting time slot numbers and half-frame numbers, so as to ensure the accuracy of the time slot numbers and half-frame numbers reported to the service layer. The specific technical solution is as follows:
[0005] In a first aspect, embodiments of this application provide a method for reporting time slot numbers and half-frame numbers, the method comprising:
[0006] The time stamp of the interrupt reported by the programmable logic device is obtained through the interrupt task and used as the target time stamp, wherein the time stamp is a time slot number or a half frame number;
[0007] Determine whether the target time tag above has increased according to a preset auto-incrementing rule based on the time tag previously reported to the business layer;
[0008] If so, the target time tag is reported to the business layer, and the time tag for interrupted maintenance is updated to the target time tag.
[0009] If not, update the time stamp of the maintenance interruption according to the preset auto-increment rule, and report the updated time stamp of the maintenance interruption to the business layer.
[0010] In one embodiment of this application, the time stamp for the interrupt reporting of the programmable logic device is reported through at least one of the following links: SRIO link and SPI link.
[0011] In one embodiment of this application, the above-mentioned acquisition of the time stamp of the interrupt report from the programmable logic device through the interrupt task as the target time stamp, and the determination of whether the target time stamp increases according to a preset auto-incrementing rule based on the time stamp of the last report to the service layer, include:
[0012] Based on the values of the flag bits corresponding to the SRIO link and SPI link, the first link is selected, and the target time tag is obtained through the first link by the interrupt task. The value of the above flag bit is a first preset value, which indicates that the link corresponding to the flag bit is the first link, and the value of the above flag bit is a second preset value, which indicates that the link corresponding to the flag bit is the second link.
[0013] Determine whether the target time tag obtained through the first link above increases according to a preset auto-incrementing rule based on the time tag previously reported to the business layer;
[0014] If not, the target time tag is obtained through the second link mentioned above by interrupting the task;
[0015] Determine whether the target time tag obtained through the second link above increases according to a preset auto-incrementing rule based on the time tag previously reported to the business layer.
[0016] In one embodiment of this application, the above method further includes:
[0017] If the acquired target time tag does not increase according to the preset auto-increment rule based on the time tag previously reported to the business layer, the value of the flag bit corresponding to the link that acquired the target time tag will be adjusted to the second preset value, and the value of the flag bit corresponding to the other link will be adjusted to the first preset value.
[0018] In one embodiment of this application, the method further includes calibrating the time slot number and half-frame number in the following manner:
[0019] Obtain the second value of the current time sent by the time synchronization system, and calculate the standard half-frame number corresponding to the second value;
[0020] Determine whether the half-frame number of the interrupted maintenance is the same as the standard half-frame number mentioned above;
[0021] If not, the interrupted half-frame number will be updated to the standard half-frame number, and the half-frame number stored in the programmable logic device will be updated to the standard half-frame number, so that the programmable logic device can maintain its stored half-frame number and time slot number based on the updated half-frame number.
[0022] In one embodiment of this application, after obtaining the time stamp of the interrupt report from the programmable logic device through the interrupt task as the target time stamp, the method further includes:
[0023] When the target time tag is the target time slot number, the standard data type corresponding to the half frame number of the interruption maintenance is determined according to the preset parity rule and the target time slot number. The standard data type indicates that the half frame number of the interruption maintenance is odd or even.
[0024] If the actual data type of the half-frame number maintained by the intermediate end does not match the above standard data type, the half-frame number maintained by the interrupt will be updated according to the preset auto-increment rule.
[0025] Secondly, embodiments of this application provide a data processing unit, including a memory and a processor:
[0026] A memory is used to store computer programs; a processor is used to execute programs stored in memory, implementing the following method steps:
[0027] The time stamp reported by the interrupt of the programmable logic device is obtained through the interrupt task and used as the target time stamp. The time stamp is either a time slot number or a half-frame number.
[0028] Determine whether the target time tag above has increased according to a preset auto-incrementing rule based on the time tag previously reported to the business layer;
[0029] If so, the target time tag is reported to the business layer, and the time tag for interrupted maintenance is updated to the target time tag.
[0030] If not, update the time stamp of the maintenance interruption according to the preset auto-increment rule, and report the updated time stamp of the maintenance interruption to the business layer.
[0031] In one embodiment of this application, the time stamp for the interrupt reporting of the programmable logic device is reported through at least one of the following links: SRIO link and SPI link.
[0032] In one embodiment of this application, the above-mentioned acquisition of the time stamp of the interrupt report from the programmable logic device through the interrupt task, as the target time stamp, and the determination of whether the target time stamp increases according to a preset auto-incrementing rule based on the time stamp of the last report to the service layer, specifically include:
[0033] Based on the values of the flag bits corresponding to the SRIO link and SPI link, the first link is selected, and the target time tag is obtained through the first link by the interrupt task. The value of the above flag bit is a first preset value, which indicates that the link corresponding to the flag bit is the first link, and the value of the above flag bit is a second preset value, which indicates that the link corresponding to the flag bit is the second link.
[0034] Determine whether the target time tag obtained through the first link above increases according to a preset auto-incrementing rule based on the time tag previously reported to the business layer;
[0035] If not, the target time tag is obtained through the second link mentioned above by interrupting the task;
[0036] Determine whether the target time tag obtained through the second link above increases according to a preset auto-incrementing rule based on the time tag previously reported to the business layer.
[0037] In one embodiment of this application, the processor is further configured to execute a program stored in the memory to implement the following method steps:
[0038] If the acquired target time tag does not increase according to the preset auto-increment rule based on the time tag previously reported to the business layer, the value of the flag bit corresponding to the link that acquired the target time tag will be adjusted to the second preset value, and the value of the flag bit corresponding to the other link will be adjusted to the first preset value.
[0039] In one embodiment of this application, the processor is further configured to execute a program stored in the memory to implement the following method steps:
[0040] Obtain the second value of the current time sent by the time synchronization system, and calculate the standard half-frame number corresponding to the second value;
[0041] Determine whether the half-frame number of the interrupted maintenance is the same as the standard half-frame number mentioned above;
[0042] If not, the interrupted half-frame number will be updated to the standard half-frame number, and the half-frame number stored in the programmable logic device will be updated to the standard half-frame number, so that the programmable logic device can maintain its stored half-frame number and time slot number based on the updated half-frame number.
[0043] In one embodiment of this application, after obtaining the time stamp of the interrupt report from the programmable logic device through the interrupt task as the target time stamp, the processor is further configured to execute the program stored in the memory to implement the following method steps:
[0044] When the target time tag is the target time slot number, the standard data type corresponding to the half frame number of the interruption maintenance is determined according to the preset parity rule and the target time slot number. The standard data type indicates that the half frame number of the interruption maintenance is odd or even.
[0045] If the actual data type of the interrupted half-frame number does not match the above standard data type, the interrupted half-frame number will be updated according to the preset auto-increment rule.
[0046] Thirdly, embodiments of this application provide a network device, including a memory, a transceiver, a processor, and a programmable logic device:
[0047] The memory is used to store computer programs; the transceiver is used to send and receive data under the control of the processor; the processor is used to implement any of the method steps of the first aspect when executing the program stored in the memory.
[0048] Fourthly, embodiments of this application provide a time slot number and half-frame number reporting device, the device comprising:
[0049] The first acquisition module is used to acquire the time tag of the interrupt reported by the programmable logic device through the interrupt task, and use it as the target time tag, wherein the time tag is a time slot number or a half frame number.
[0050] The first judgment module is used to determine whether the target time tag is increased according to a preset auto-incrementing rule based on the time tag previously reported to the business layer.
[0051] The first update reporting module is used to report the target time tag to the business layer and update the interrupted maintenance time tag to the target time tag if the judgment result of the first judgment module is yes.
[0052] The second update reporting module is used to update the interruption maintenance time tag according to a preset auto-increment rule if the judgment result of the first judgment module is negative, and report the updated time tag of the interruption maintenance to the business layer.
[0053] In one embodiment of this application, the time stamp for the interrupt reporting of the programmable logic device is reported through at least one of the following links: SRIO link and SPI link.
[0054] In one embodiment of this application, the first acquisition module described above is specifically used for:
[0055] Based on the values of the flag bits corresponding to the SRIO link and SPI link, the first link is selected, and the target time tag is obtained through the first link by the interrupt task. The value of the above flag bit is a first preset value, which indicates that the link corresponding to the flag bit is the first link, and the value of the above flag bit is a second preset value, which indicates that the link corresponding to the flag bit is the second link.
[0056] The first judgment module mentioned above is specifically used for:
[0057] Determine whether the target time tag obtained through the first link above increases according to a preset auto-incrementing rule based on the time tag previously reported to the business layer;
[0058] The aforementioned first acquisition module is also specifically used for:
[0059] If the judgment result of the first judgment module is negative, the target time tag is obtained through the second link by interrupting the task;
[0060] The aforementioned first judgment module is also specifically used for:
[0061] Determine whether the target time tag obtained through the second link above increases according to a preset auto-incrementing rule based on the time tag previously reported to the business layer.
[0062] In one embodiment of this application, the above-described apparatus further includes:
[0063] The flag adjustment module is used to adjust the value of the flag corresponding to the link that acquired the target time tag to a second preset value and adjust the value of the flag corresponding to another link to a first preset value when the acquired target time tag does not increase according to a preset auto-increment rule based on the time tag previously reported to the business layer.
[0064] In one embodiment of this application, the above-described apparatus further includes:
[0065] The second acquisition module is used to acquire the second value of the current time sent by the time synchronization system and calculate the standard half-frame number corresponding to the second value.
[0066] The second judgment module is used to determine whether the half-frame number of the interrupt maintenance is the same as the standard half-frame number mentioned above.
[0067] The first update module is used to update the interrupted half-frame number to the standard half-frame number and update the half-frame number stored in the programmable logic device to the standard half-frame number if the judgment result of the second judgment module is negative, so that the programmable logic device maintains its own stored half-frame number and time slot number based on the updated half-frame number.
[0068] In one embodiment of this application, after the first acquisition module described above, the apparatus further includes:
[0069] The determination module is used to determine the standard data type that the half-frame number of the interrupt maintenance should correspond to, based on a preset parity rule and the target time slot number, when the target time tag is the target time slot number. The standard data type indicates whether the half-frame number of the interrupt maintenance is odd or even.
[0070] The second update module is used to update the interrupted half-frame number according to a preset auto-incrementing rule if the actual data type of the interrupted half-frame number does not match the standard data type.
[0071] Fifthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements any of the method steps of the first aspect.
[0072] Beneficial effects of the embodiments in this application:
[0073] This application provides a method for reporting time slot numbers and half-frame numbers. The method obtains the time tag reported by the interrupt of a programmable logic device through an interrupt task, using it as a target time tag. The time tag is either a time slot number or a half-frame number. The method determines whether the target time tag increases according to a preset auto-incrementing rule based on the time tag previously reported to the service layer. If yes, the method reports the target time tag to the service layer and updates the interrupt maintenance time tag to the target time tag. If no, the method updates the interrupt maintenance time tag according to the preset auto-incrementing rule and reports the updated interrupt maintenance time tag to the service layer.
[0074] As can be seen from the above, in the solution provided in this application embodiment, the time tag is a time slot number or a half-frame number. If the target time tag reported by the programmable logic device is normal, that is, it increases according to a preset auto-incrementing rule based on the time tag previously reported to the service layer, then the obtained target time tag is reported to the service layer, and the interruption maintenance time tag is updated to the above-mentioned target time tag. If the target time tag reported by the programmable logic device is abnormal, that is, it does not increase according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, in this case, since the time tag before the interruption maintenance update is the time tag previously reported to the service layer, and the time tag after the interruption maintenance update increases according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, the updated time tag after the interruption maintenance can be reported to the service layer to ensure that the correct time slot number or half-frame number is reported to the service layer. This application embodiment can ensure the accuracy of the time slot number and half-frame number reported to the service layer by selecting between the time tag reported by the programmable logic device interruption and the time tag of interruption maintenance. Attached Figure Description
[0075] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained based on these drawings.
[0076] Figure 1 This is a schematic diagram of a frame structure in related technologies;
[0077] Figure 2 A flowchart illustrating the first time slot number and half-frame number reporting method provided in this application embodiment;
[0078] Figure 3 A flowchart illustrating the second time slot number and half-frame number reporting method provided in this application embodiment;
[0079] Figure 4A flowchart illustrating the third method for reporting time slot numbers and half-frame numbers provided in this application embodiment;
[0080] Figure 5 A flowchart illustrating the fourth method for reporting time slot number and half-frame number provided in this application embodiment;
[0081] Figure 6A A flowchart illustrating a time slot number and half-frame number calibration method provided in an embodiment of this application;
[0082] Figure 6B A flowchart illustrating the fifth method for reporting time slot number and half-frame number provided in this application embodiment;
[0083] Figure 7 This is a schematic diagram of the structure of a data processing unit provided in an embodiment of this application;
[0084] Figure 8 This application provides a schematic diagram of the structure of a network device according to an embodiment of the present application.
[0085] Figure 9 This is a schematic diagram of a time slot number and half-frame number reporting device provided in an embodiment of this application. Detailed Implementation
[0086] In the embodiments of this application, the term "and / or" describes the relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. The character " / " generally indicates that the preceding and following associated objects have an "or" relationship.
[0087] In the embodiments of this application, the term "multiple" refers to two or more, and other quantifiers are similar.
[0088] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0089] In communication services, the time slots, half-frames, and subframes contained in a frame structure typically have corresponding time slot numbers, half-frame numbers, and subframe numbers. Figure 1 This diagram illustrates a frame structure in related technologies. A frame consists of 20 time slots, divided into two half-frames: 10 time slots per half-frame and 2 time slots per subframe. In related technologies, a subframe may contain only one time slot, or it may contain four time slots, etc. The number of time slots in a subframe may vary depending on the configuration.
[0090] In related technologies, the methods for reporting time slot numbers and half-frame numbers include: reporting time slot numbers and half-frame numbers via FPGA (Field-Programmable Gate Array), reporting time slot numbers and half-frame numbers by reading FPGA registers via SPI (Serial Peripheral Interface), and reporting time slot numbers and half-frame numbers via interrupts. See Table 1 for a description of these three methods of reporting time slot numbers and half-frame numbers:
[0091] Table 1
[0092]
[0093]
[0094]
[0095] As can be seen from the above, different methods of reporting time slot numbers and half-frame numbers in related technologies each have their own drawbacks. In practical applications, using a single method of reporting time slot numbers and half-frame numbers cannot meet the reporting needs of time slot numbers and half-frame numbers in various scenarios. It is easy to encounter situations such as unstable reporting of time slot numbers and half-frame numbers, and failure to update the reported time slot numbers and half-frame numbers. In other words, the reported time slot numbers and half-frame numbers are prone to errors.
[0096] To address the aforementioned issues, this application provides a method, apparatus, and data processing unit for reporting time slot numbers and half-frame numbers, which will be described in detail below.
[0097] First, a method for reporting time slot numbers and half-frame numbers provided in the embodiments of this application will be described.
[0098] See Figure 2 This is a flowchart illustrating the first time slot number and half-frame number reporting method provided in the embodiments of this application. The method is applied to a processor, such as a CPU, and includes the following steps S201 to S204.
[0099] Step S201: Obtain the time stamp of the interrupt reported by the programmable logic device through the interrupt task, and use it as the target time stamp.
[0100] The aforementioned time stamps are either time slot numbers or half-frame numbers.
[0101] Typically, programmable logic devices (PLDs), such as FPGAs, PALs (Programmable Array Logic), and CPLDs (Complex Programmable Logic Devices), maintain timeslot numbers and half-frame numbers that can be used as accurate timeslot numbers and half-frame numbers in network devices. When it is necessary to obtain a timeslot number or half-frame number, the timeslot number or half-frame number maintained by the PLD is obtained first. The processor issues an interrupt task to the PLD with the purpose of obtaining a timeslot number or half-frame number. The PLD interrupts and reports the aforementioned timestamps based on the interrupt task. That is, if the purpose of the interrupt task is to obtain a timeslot number, the timestamp reported by the PLD based on the interrupt task is the timeslot number; if the purpose of the interrupt task is to obtain a half-frame number, the timestamp reported by the PLD based on the interrupt task is the half-frame number.
[0102] Specifically, the time slot number and half-frame number maintained by the programmable logic device (PLD) change cyclically over time. For example, the time slot number maintained by the PLD ranges from 0 to 19, incrementing sequentially within this range, typically by 1 each time. When the time slot number reaches 19, it changes to 0 in the next iteration, then continues to increment sequentially within the 0-19 range, repeating this cycle. The half-frame number changes in a similar manner. For the half-frame number, the range maintained by the PLD can be 1-2048, incrementing sequentially within this range, typically by 1 each time. When the half-frame number reaches 2048, it changes to 1 in the next iteration, then continues to increment sequentially within the 1-2048 range, repeating this cycle. Furthermore, the time slot number maintained by the PLD is reset to zero every second.
[0103] Specifically, taking an FPGA (Programmable FPGA) as an example, when an interrupt task occurs, the voltage level of the FPGA pin changes. The application program in the FPGA responds to the interrupt task by reporting the timeslot number or half-frame number. This is how the FPGA reports the timeslot number or half-frame number through the interrupt pin. If a frame consists of 20 timeslots, the range of timeslot numbers maintained in the FPGA is 0-19. For example, when an interrupt task occurs with the purpose of obtaining a timeslot number, the timeslot number maintained in the FPGA is 0. Therefore, the target timestamp obtained through the interrupt task, i.e., the target timeslot number, is timeslot number 0.
[0104] In one embodiment of this application, the time stamp for the interrupt reporting of the programmable logic device is reported through at least one of the following links: SRIO link and SPI link.
[0105] For example, if the programmable logic device is an FPGA, the way the FPGA reports time stamps via the SRIO link is the same as the FPGA reporting time slot number in Table 1 above, and the way the FPGA reports time stamps via the SPI link is the same as the way the FPGA reports time slot number and half frame number by reading the FPGA register through SPI in Table 1 above.
[0106] In this embodiment of the application, the processor can obtain the time tag reported by the programmable logic device via the SRIO link through an interrupt task, or obtain the time tag only through the SPI link; or obtain the time tag first through the SRIO link and then through the SPI link; or obtain the time tag first through the SPI link and then through the SRIO link.
[0107] Step S202: Determine whether the target time tag is increased according to the preset auto-increment rule based on the time tag previously reported to the business layer.
[0108] In one possible scenario, due to network equipment system issues, the programmable logic device (PLD) may experience a delay in reporting timeslot numbers or half-frame numbers. During this delay, the timeslot numbers and half-frame numbers maintained by the PLD change, resulting in a jump between the timeslot numbers or half-frame numbers reported by the PLD after the delay and the previously reported timeslot numbers or half-frame numbers to the service layer. Specifically, in a frame containing 20 timeslots, the timeslot number increments every 0.5ms according to a preset auto-incrementing rule, meaning that at least every 0.5ms, the incremented timeslot number can be reported to the service layer. Similarly, the half-frame number increments every 5ms according to a preset auto-incrementing rule, meaning that at least every 5ms, the incremented half-frame number can be reported to the service layer. The reporting of timeslot numbers and half-frame numbers to the service layer is separate, i.e., the timeslot number and half-frame number are reported separately. The preset auto-incrementing rule can be simply adding 1 to the previous value. Because of the time delay in reporting the time slot number or half-frame number by the programmable logic device, the changed time slot number or half-frame number is not reported to the processor in a timely manner. As a result, the time slot number or half-frame number is reported to the processor only after multiple changes. Therefore, the increase value of the time tag reported by the programmable logic device after the delay ends does not conform to the preset auto-increment rule compared with the time tag previously reported to the service layer. This indicates that the time tag reported by the programmable logic device is incorrect due to the time delay.
[0109] After obtaining the timestamp reported by the programmable logic device interrupt, the processor will determine whether the obtained timestamp has increased according to a preset auto-incrementing rule based on the timestamp reported to the service layer last time. If so, it indicates that the timestamp reported by the programmable logic device is correct; if not, it indicates that the timestamp reported by the programmable logic device does not match the timestamp required by the interrupt task, and an error has occurred.
[0110] Step S203: Report the above target time tag to the business layer and update the interrupted maintenance time tag to the above target time tag.
[0111] If it is determined that the target time tag obtained is increased according to a preset auto-incrementing rule based on the time tag previously reported to the business layer, it indicates that the time tag reported by the programmable logic device is correct. In this case, the target time tag can be reported to the business layer.
[0112] In addition, if the timestamp reported by the programmable logic device is correct, the timestamp of the interrupted maintenance will be updated to the aforementioned target timestamp. Normally, updating the timestamp of the interrupted maintenance takes time; therefore, the timestamp of the programmable logic device maintenance will be obtained first to reduce latency, and the timestamp of the interrupted maintenance will be used as a backup.
[0113] Step S204: Update the time stamp of the interruption maintenance according to the preset auto-increment rule, and report the updated time stamp of the interruption maintenance to the business layer.
[0114] If it is determined that the target timestamp does not increase according to a preset auto-incrementing rule based on the timestamp previously reported to the business layer, it indicates that the timestamp reported by the programmable logic device is incorrect. In this case, since the backup timestamp before the interruption maintenance update is the timestamp previously reported to the business layer, updating the interruption maintenance timestamp according to the preset auto-incrementing rule yields the updated timestamp required by the aforementioned interruption task. The updated timestamp is then reported to the business layer, enabling the business layer to obtain the accurate timestamp.
[0115] As can be seen from the above description, regardless of whether step S203 or step S204 is executed, the updated timestamp of the interrupted maintenance is accurate.
[0116] For example, if a frame contains 20 time slots, the time stamps for interrupted maintenance are updated according to a preset auto-incrementing rule. This means that for time slot numbers, the time slot number before the interrupted maintenance update is incremented by 1 every 0.5ms; for half-frame numbers, the half-frame number before the interrupted maintenance update is incremented by 1 every 5ms. Taking the range of the interrupted maintenance time slot number as 0-19 as an example, if the time slot number before the interrupted maintenance update is 19, then the updated time slot number after the interrupted maintenance is 0; if the time slot number before the interrupted maintenance update is 17, then the updated time slot number after the interrupted maintenance is 18.
[0117] As can be seen from the above, in the solution provided in this application embodiment, the time tag is a time slot number or a half-frame number. If the target time tag reported by the programmable logic device is normal, that is, it increases according to a preset auto-incrementing rule based on the time tag previously reported to the service layer, then the obtained target time tag is reported to the service layer, and the interruption maintenance time tag is updated to the above-mentioned target time tag. If the target time tag reported by the programmable logic device is abnormal, that is, it does not increase according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, in this case, since the time tag before the interruption maintenance update is the time tag previously reported to the service layer, and the time tag after the interruption maintenance update increases according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, the updated time tag after the interruption maintenance can be reported to the service layer to ensure that the correct time slot number or half-frame number is reported to the service layer. This application embodiment can ensure the accuracy of the time slot number and half-frame number reported to the service layer by selecting between the time tag reported by the programmable logic device interruption and the time tag of interruption maintenance.
[0118] exist Figure 2 In the illustrated embodiment, the processor can obtain the slot number or half-frame number in different ways. For a detailed explanation of one of these methods, please refer to [link to documentation]. Figure 3 This is a flowchart illustrating the second time slot number and half-frame number reporting method provided in this application embodiment. This method is applied to a processor, such as a CPU. Figure 2 Compared to the illustrated embodiment, the above steps S201 and S202 can be implemented by the following steps S205 to S208.
[0119] Step S205: Based on the values of the flag bits corresponding to the SRIO link and SPI link, select the first link and obtain the target time tag through the first link by interrupting the task.
[0120] Wherein, the value of the above-mentioned flag bit is a first preset value, indicating that the link corresponding to the flag bit is the first link, and the value of the above-mentioned flag bit is a second preset value, indicating that the link corresponding to the flag bit is the second link.
[0121] In this embodiment, both the SRIO link and the SPI link have their corresponding flag bits. The value of the flag bit can reflect whether the corresponding link is the first link or the second link. At the same time, the values of the flag bits corresponding to the SRIO link and the SPI link are different.
[0122] First, through an interrupt task, based on the values of the flag bits corresponding to the SRIO and SPI links, one link is selected as the first link to obtain the target time tag. Specifically, if the first link is an SRIO link, the target time tag is obtained through the SRIO link via the interrupt task; if the first link is an SPI link, the target time tag is obtained through the SPI link via the interrupt task.
[0123] Step S206: Determine whether the target time tag obtained through the first link above increases according to a preset auto-incrementing rule based on the time tag previously reported to the business layer.
[0124] Specifically, if it is determined that the target time tag obtained through the first link increases according to a preset auto-incrementing rule based on the time tag previously reported to the service layer, it indicates that the correct time slot number or half-frame number has been obtained through the first link. In this case, the obtained target time tag is reported to the service layer. Otherwise, it indicates that the time slot number or half-frame number obtained through the first link is inaccurate. In this case, the following step S207 is executed.
[0125] Step S207: Obtain the target time tag via the second link by interrupting the task.
[0126] If the target time tag obtained through the first link is inaccurate, the target time tag is obtained through the second link. Specifically, if the first link is an SRIO link, the second link is an SPI link; if the first link is an SPI link, the second link is an SRIO link.
[0127] Step S208: Determine whether the target time tag obtained through the second link above increases according to the preset auto-increment rule based on the time tag previously reported to the business layer.
[0128] Specifically, if it is determined that the target time tag obtained through the second link increases according to a preset auto-incrementing rule based on the time tag previously reported to the service layer, it indicates that the correct time slot number or half-frame number has been obtained through the second link. In this case, the obtained target time tag is reported to the service layer.
[0129] If it is determined that the target time tag obtained through the second link does not increase according to the preset auto-increment rule based on the time tag previously reported to the service layer, it indicates that the target time tag obtained through the second link is inaccurate. In this case, since the target time tags obtained through the SRIO link and the SPI link are both inaccurate, the updated time tag for interrupted maintenance is reported to the service layer.
[0130] As can be seen from the above, in the solution provided in this application embodiment, the programmable logic device first selects one of two methods: reporting the target time tag via the SRIO link or reporting the target time tag via the SPI link. If the processor determines that the obtained target time tag is correct, it reports the obtained target time tag to the service layer; otherwise, it selects the other of the two methods to obtain the target time tag. If the obtained target time tag is correct, it reports the obtained target time tag to the service layer. If the target time tag obtained by the above two methods is inaccurate, the updated time tag maintained by the interrupt is reported to the service layer. Compared with the case of using only one method to report the time tag, the comprehensive use of the SRIO link, SPI link, and interrupt-maintained time tag can better ensure that the accurate time tag, i.e., slot number or half-frame number, is reported to the service layer.
[0131] In one embodiment of this application, the above-mentioned time slot number and half-frame number reporting method further includes the following step A.
[0132] Step A: If the acquired target time tag does not increase according to the preset auto-increment rule based on the time tag previously reported to the business layer, adjust the value of the flag bit corresponding to the link that acquired the target time tag to the second preset value, and adjust the value of the flag bit corresponding to the other link to the first preset value.
[0133] In this embodiment, a corresponding flag bit is set for the link used to obtain the time tag for the maintenance of the programmable logic device. In practical applications, the flag bit of the link can be represented by the parameter "flag".
[0134] For example, if the flag bit corresponding to the SRIO link is set to a first preset value and the flag bit corresponding to the SPI link is set to a second preset value, then the target time tag is first obtained through the SRIO link. If the obtained target time tag increases according to a preset auto-incrementing rule based on the time tag previously reported to the business layer, it indicates that the obtained target time tag is correct. Then the flag bit corresponding to the SRIO link remains at the first preset value and the flag bit corresponding to the SPI link remains at the second preset value. After that, the target time tag is obtained again through the SRIO link.
[0135] If the target time tag obtained via the SRIO link does not increase according to the preset auto-increment rule based on the time tag previously reported to the service layer, it indicates that the obtained target time tag is incorrect. In this case, the value of the flag bit corresponding to the SRIO link is adjusted to the second preset value, and the value of the flag bit corresponding to the SPI link is adjusted to the first preset value. Then, the target time tag is obtained through the SPI link.
[0136] If the target time tag obtained via the SPI link increases according to a preset auto-incrementing rule based on the time tag previously reported to the service layer, it indicates that the obtained target time tag is correct. In this case, the value of the flag bit corresponding to the SPI link remains at the first preset value, and the value of the flag bit corresponding to the SRIO link remains at the second preset value. Then, the target time tag is obtained again via the SPI link.
[0137] If the target time tag obtained via the SPI link does not increase according to the preset auto-increment rule based on the time tag previously reported to the service layer, it indicates that the obtained target time tag is incorrect. In this case, the value of the flag bit corresponding to the SRIO link is adjusted to the first preset value, and the value of the flag bit corresponding to the SPI link is adjusted to the second preset value. Subsequently, when it is necessary to obtain the time tag maintained by the programmable logic device, the target time tag is obtained through the SRIO link, and so on.
[0138] As can be seen from the above, in the solution provided in this application embodiment, the first link and the second link each have their corresponding flag bits. If the target time tag obtained using one of the links is correct, the value of the flag bit corresponding to that link remains unchanged, indicating that the link will continue to be used to obtain the target time tag. If the target time tag obtained using one of the links is incorrect, the values of the flag bits corresponding to the two links are adjusted. The incorrect link is adjusted to the second link, and the other link is adjusted to the first link. Since the other link has not yet been verified to be capable of errors, using the other link to obtain the target time tag subsequently increases the probability of obtaining an accurate target time tag. The value of the flag bit determines the link to be used to obtain the target time tag.
[0139] During the use of network devices, it is often necessary to use external standard information to calibrate the timing data of the network devices themselves. In one embodiment of this application, the time slot number and half-frame number are calibrated through steps B to D.
[0140] Step B: Obtain the second value of the current time sent by the time synchronization system, and calculate the standard half-frame number corresponding to the second value.
[0141] The aforementioned time synchronization system is a reference time source that can accurately determine time and serve as a time standard. For example, the aforementioned time synchronization system can be a satellite time synchronization system. Obtaining the second value of the current time sent by the time synchronization system can specifically mean obtaining the second value of the current time sent by GPS (Global Positioning System).
[0142] In this embodiment, the processor can acquire the second value of the current time sent by the timing system once per second. After acquiring the second value of the current time sent by the timing system, the processor can calculate the corresponding standard half-frame number based on the second value. Specifically, the standard half-frame number can be calculated when the acquired second value of the current time sent by the timing system reaches an odd number of seconds or an even number of seconds, or every preset time interval, such as 3 seconds or 5 seconds.
[0143] Step C: Determine whether the half-frame number maintained during interruption is the same as the standard half-frame number mentioned above.
[0144] The time synchronization system, as a reference time source capable of accurately determining time, calculates a standard half-frame number based on the second value of the current moment issued by the time synchronization system. This standard half-frame number can be used as an accurate half-frame number by network devices. Determining whether the half-frame number used for interrupt maintenance is the same as the aforementioned standard half-frame number determines whether the interrupt maintenance half-frame number is accurate. If the interrupt maintenance half-frame number is found to be the same as the aforementioned standard half-frame number, then the interrupt maintenance half-frame number is determined to be accurate.
[0145] Step D: Update the interrupted half-frame number to the standard half-frame number mentioned above, and update the half-frame number stored in the programmable logic device to the standard half-frame number mentioned above, so that the programmable logic device maintains its stored half-frame number and time slot number based on the updated half-frame number.
[0146] If it is determined that the half-frame number of the interrupted maintenance is different from the standard half-frame number mentioned above, it indicates that there is an error in the half-frame number of the interrupted maintenance. In this case, the half-frame number of the interrupted maintenance will be updated to the standard half-frame number mentioned above to ensure the accuracy of the half-frame number of the interrupted maintenance.
[0147] In addition, if it is determined that the half-frame number maintained during interruption is different from the standard half-frame number, it indicates that the half-frame number stored in the programmable logic device may also be incorrect. The half-frame number stored in the programmable logic device is then updated to the standard half-frame number. Based on the updated half-frame number, the programmable logic device maintains its own stored half-frame number and timeslot number. This ensures the accuracy of the timeslot number and half-frame number maintained by the programmable logic device.
[0148] As can be seen from the above, in the solution provided in this application embodiment, the current standard half-frame number is calculated by obtaining the precise second value issued by the time synchronization system. If it is determined that the half-frame number maintained during interruption is different from the aforementioned standard half-frame number, the half-frame number maintained during interruption is updated to the standard half-frame number, and the half-frame number stored in the programmable logic device is also updated to the standard half-frame number. Based on this standard half-frame number, the half-frame number maintained during interruption and the time slot number and half-frame number maintained by the programmable logic device can be calibrated, ensuring the accuracy of the time slot number and half-frame number subsequently reported to the service layer.
[0149] In one embodiment of this application, after performing step S201 and before reporting the target timestamp to the business layer, the following steps E and F are further included.
[0150] Step E: If the target time tag is the target time slot number, determine the standard data type that the half-frame number of the interrupt maintenance should correspond to based on the preset parity rule and the target time slot number.
[0151] The above standard data type indicates that the half-frame number maintained by the interrupt is either odd or even.
[0152] In the frame structure, there is a pre-defined parity rule between the time slot number and the half-frame number. Figure 1 Taking the frame structure diagram shown as an example, a frame contains 20 time slots, and the time slot numbers in each frame can be from 0 to 19. A frame is divided into two half-frames, with 10 time slots per half-frame. The half-frame numbers can be set to 1, 2, 3, ..., incrementing by 1. For example, if the half-frame number is 2048, the next half-frame number is set to 1, and this cycle continues. Thus, in a frame, for instance, the half-frame number of the time slot with time slot number 0 is odd, and the half-frame number of the time slot with time slot number 10 is even. Alternatively, if a frame contains 10 time slots, the time slot numbers in each frame can be from 0 to 9; a frame is divided into two half-frames, with 5 time slots per half-frame. The half-frame numbers can be set to 1, 2, 3, ..., 2048, incrementing by 1. If the half-frame number is 2048, the next half-frame number is set to 1, and this cycle continues. In a frame, for example, the half-frame number of the half-frame to which the time slot number is 0 belongs is odd, and the half-frame number of the half-frame to which the time slot number is 5 belongs is even. Under normal circumstances, the time slot number and half-frame number in a frame satisfy a preset parity rule.
[0153] Specifically, if a frame contains 20 time slots, the data type of the half-frame number corresponding to the time slot number can be determined when the time slot number is 0 or 10.
[0154] Step F: If the actual data type of the interrupted half-frame number does not match the above standard data type, then update the interrupted half-frame number according to the preset auto-increment rule.
[0155] Under normal circumstances, the half-frame number of the half-frame to which the time slot number is 0 is odd, and the half-frame number of the half-frame to which the time slot number is 10 is even. However, in practice, there have been abnormal situations where the half-frame number of the half-frame to which the time slot number is 0 is even, or the half-frame number of the half-frame to which the time slot number is 10 is odd. This indicates that the acquired target time slot number and target half-frame number are abnormal, and the time slot number and half-frame number maintained during interruption do not meet the preset parity rule. In this case, updating the half-frame number maintained during interruption according to the preset auto-increment rule will ensure that the time slot number and half-frame number maintained during interruption meet the preset parity rule.
[0156] As can be seen from the above, in the solution provided by the embodiments of this application, it is determined whether the actual data type of the interrupted half-frame number matches the standard data type. If the actual data type of the interrupted half-frame number does not match the standard data type, the interrupted half-frame number can be updated according to a preset auto-incrementing rule, so that the interrupted time slot number and half-frame number satisfy the preset parity rule.
[0157] See Figure 4 This is a flowchart illustrating the third time slot number and half-frame number reporting method provided in this application embodiment. The method is applied to a processor and includes the following steps S401 to S403.
[0158] Step S401: Obtain the target time tag reported by the programmable logic device via the SRIO link or the SPI link.
[0159] Step S402: Determine whether the acquired target time tag increases according to the preset auto-increment rule based on the time tag previously reported to the business layer.
[0160] Step S403: Based on the judgment result, update the time stamp of the interrupted maintenance and report the time stamp to the business layer.
[0161] right Figure 4 The description of the embodiments shown can be found in the embodiments of the time slot number and half frame number reporting methods mentioned above, and will not be repeated here.
[0162] See Figure 5 This is a flowchart illustrating the fourth time slot number and half-frame number reporting method provided in this application embodiment. The method is applied to a processor and includes the following steps S501 to S503.
[0163] Step S501: Request to interrupt the task.
[0164] The processor requests an interrupt task from the upper-level system to send to the programmable logic device (PLD) to obtain the time slot number or half-frame number maintained by the PLD.
[0165] Step S502: Enable interrupt.
[0166] The processor sends information to the programmable logic device, enabling the programmable logic device to trigger an interrupt and execute the interrupt task when a signal indicating an interrupt task arrives.
[0167] Step S503: Calibrate the time slot number and half-frame number and report the time slot number or half-frame number to the service layer through the interrupt task.
[0168] Specifically, for Figure 5 The description of the embodiments shown can be found in the embodiments of the time slot number and half frame number reporting methods mentioned above, and will not be repeated here.
[0169] See Figure 6A This is a flowchart illustrating a time slot number and half-frame number calibration method provided in an embodiment of this application, including the following steps S601 to S602.
[0170] Step S601: Obtain the second value of the current time sent by the time synchronization system, calculate the standard half-frame number corresponding to the second value, and determine whether the half-frame number maintained by the interrupt is the same as the standard half-frame number.
[0171] Step S602: If the half-frame number maintained by the interrupt is different from the standard half-frame number, update the half-frame number maintained by the interrupt to the standard half-frame number, and update the half-frame number stored in the programmable logic device to the standard half-frame number.
[0172] See Figure 6B This is a flowchart illustrating the fifth time slot number and half frame number reporting method provided in the embodiments of this application. The method includes the following steps S603 to S6012.
[0173] Step S603: Based on the flag bit corresponding to the link, obtain the target time tag maintained by the programmable logic device through the first link via the interrupt task.
[0174] In one example, when the target time tag maintained by the programmable logic device is obtained for the first time using the scheme in the embodiment of this application, the target time tag maintained by the programmable logic device can be obtained via the SRIO link. That is, in the embodiment of this application, the flag bit corresponding to the SRIO link can be set to a first preset value. In this case, the SRIO link is the first link, and the flag bit corresponding to the SPI link is set to a second preset value.
[0175] Step S604: When the target time tag is the target time slot number, determine the standard data type that the half-frame number of the interrupt maintenance should correspond to according to the preset parity rule and the target time slot number.
[0176] Step S605: If the actual data type of the interrupted half-frame number does not match the above standard data type, then update the interrupted half-frame number according to the preset auto-increment rule.
[0177] Step S606: Determine whether the target time tag obtained through the first link increases according to the preset auto-increment rule based on the time tag previously reported to the business layer.
[0178] If yes, proceed to step S607; otherwise, proceed to step S608.
[0179] Step S607: Report the obtained target time tag to the business layer.
[0180] Step S608: Adjust the value of the flag bit corresponding to the first link to the second preset value, adjust the value of the flag bit corresponding to the second link to the first preset value, and obtain the target time tag through the second link by interrupting the task.
[0181] Step S609: Determine whether the target time tag obtained through the second link increases according to the preset auto-increment rule based on the time tag previously reported to the business layer.
[0182] If yes, proceed to step S6010; if no, proceed to step S6011.
[0183] Step S6010: Report the target time tag obtained via the second link to the business layer.
[0184] Step S6011: Report the updated timestamp of interrupt maintenance to the service layer. If the timestamp is a half-frame number, update the half-frame number stored in the programmable logic device to the half-frame number of interrupt maintenance, so that the programmable logic device maintains its own stored half-frame number and timeslot number based on the updated half-frame number.
[0185] Step S6012: Adjust the value of the flag bit corresponding to the second link to the second preset value, and adjust the value of the flag bit corresponding to the first link to the first preset value.
[0186] Specifically, Figure 6A and Figure 6B The methods and steps in the text are independent of each other. Figure 6A and Figure 6B The methods and steps described can be executed in parallel and independently. Figure 6A and Figure 6B The description of the embodiments shown can be found in the embodiments of the time slot number and half frame number reporting methods mentioned above, and will not be repeated here.
[0187] The technical solutions provided in this application can be applied to various systems, such as Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, Long Term Evolution Advanced (LTE-A) systems, Universal Mobile Telecommunications System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) systems, 5G New Radio (NR) systems, and their evolved communication systems. These systems can include terminal equipment and network equipment. The systems can also include a core network component, such as Evolved Packet System (EPS) and 5G systems (5GS).
[0188] Corresponding to the aforementioned method for reporting time slot numbers and half-frame numbers, this application embodiment also provides a data processing unit.
[0189] See Figure 7 The diagram below illustrates the structure of a data processing unit according to an embodiment of this application, including a memory 701 and a processor 702.
[0190] The memory 701 is used to store computer programs; the processor 702, when executing the program stored in the memory 701, implements the following method steps:
[0191] The time stamp reported by the interrupt of the programmable logic device is obtained through the interrupt task and used as the target time stamp. The time stamp is either a time slot number or a half-frame number.
[0192] Determine whether the target time tag above has increased according to a preset auto-incrementing rule based on the time tag previously reported to the business layer;
[0193] If so, the target time tag is reported to the business layer, and the time tag for interrupted maintenance is updated to the target time tag.
[0194] If not, update the time stamp of the maintenance interruption according to the preset auto-increment rule, and report the updated time stamp of the maintenance interruption to the business layer.
[0195] Among them, Figure 7In this context, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits together, represented by one or more processors (processor 702) and memory (memory 701). The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides the interface. Processor 702 is responsible for managing the bus architecture and general processing, and memory 701 can store data used by processor 702 during operation.
[0196] The processor 702 can be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a complex programmable logic device (CPLD). The programmable logic device can also adopt a multi-core architecture.
[0197] As can be seen from the above, in the solution provided in this application embodiment, the time tag is a time slot number or a half-frame number. If the target time tag reported by the programmable logic device is normal, that is, it increases according to a preset auto-incrementing rule based on the time tag previously reported to the service layer, then the obtained target time tag is reported to the service layer, and the interruption maintenance time tag is updated to the above-mentioned target time tag. If the target time tag reported by the programmable logic device is abnormal, that is, it does not increase according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, in this case, since the time tag before the interruption maintenance update is the time tag previously reported to the service layer, and the time tag after the interruption maintenance update increases according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, the updated time tag after the interruption maintenance can be reported to the service layer to ensure that the correct time slot number or half-frame number is reported to the service layer. This application embodiment can ensure the accuracy of the time slot number and half-frame number reported to the service layer by selecting between the time tag reported by the programmable logic device interruption and the time tag of interruption maintenance.
[0198] In one embodiment of this application, the time stamp for the interrupt reporting of the programmable logic device is reported through at least one of the following links: SRIO link and SPI link.
[0199] In one embodiment of this application, the above-mentioned acquisition of the time stamp of the interrupt report from the programmable logic device through the interrupt task, as the target time stamp, and the determination of whether the target time stamp increases according to a preset auto-incrementing rule based on the time stamp of the last report to the service layer, specifically include:
[0200] Based on the values of the flag bits corresponding to the SRIO link and SPI link, the first link is selected, and the target time tag is obtained through the first link by the interrupt task. The value of the above flag bit is a first preset value, which indicates that the link corresponding to the flag bit is the first link, and the value of the above flag bit is a second preset value, which indicates that the link corresponding to the flag bit is the second link.
[0201] Determine whether the target time tag obtained through the first link above increases according to a preset auto-incrementing rule based on the time tag previously reported to the business layer;
[0202] If not, the target time tag is obtained through the second link mentioned above by interrupting the task;
[0203] Determine whether the target time tag obtained through the second link above increases according to a preset auto-incrementing rule based on the time tag previously reported to the business layer.
[0204] As can be seen from the above, in the solution provided in this application embodiment, the programmable logic device first selects one of two methods: reporting the target time tag via the SRIO link or reporting the target time tag via the SPI link. If the processor determines that the obtained target time tag is correct, it reports the obtained target time tag to the service layer; otherwise, it selects the other of the two methods to obtain the target time tag. If the obtained target time tag is correct, it reports the obtained target time tag to the service layer. If the target time tag obtained by the above two methods is inaccurate, the updated time tag maintained by the interrupt is reported to the service layer. Compared with the case of using only one method to report the time tag, the comprehensive use of the SRIO link, SPI link, and interrupt-maintained time tag can better ensure that the accurate time tag, i.e., slot number or half-frame number, is reported to the service layer.
[0205] In one embodiment of this application, the processor 702 is further configured to execute the program stored in the memory 701 to implement the following method steps:
[0206] If the acquired target time tag does not increase according to the preset auto-increment rule based on the time tag previously reported to the business layer, the value of the flag bit corresponding to the link that acquired the target time tag will be adjusted to the second preset value, and the value of the flag bit corresponding to the other link will be adjusted to the first preset value.
[0207] As can be seen from the above, in the solution provided in this application embodiment, the first link and the second link each have their corresponding flag bits. If the target time tag obtained using one of the links is correct, the value of the flag bit corresponding to that link remains unchanged, indicating that the link will continue to be used to obtain the target time tag. If the target time tag obtained using one of the links is incorrect, the values of the flag bits corresponding to the two links are adjusted. The incorrect link is adjusted to the second link, and the other link is adjusted to the first link. Since the other link has not yet been verified to be capable of errors, using the other link to obtain the target time tag subsequently increases the probability of obtaining an accurate target time tag. The value of the flag bit determines the link to be used to obtain the target time tag.
[0208] In one embodiment of this application, the processor 702 is further configured to execute the program stored in the memory 701 to implement the following method steps:
[0209] Obtain the second value of the current time sent by the time synchronization system, and calculate the standard half-frame number corresponding to the second value;
[0210] Determine whether the half-frame number of the interrupted maintenance is the same as the standard half-frame number mentioned above;
[0211] If not, the interrupted half-frame number will be updated to the standard half-frame number, and the half-frame number stored in the programmable logic device will be updated to the standard half-frame number, so that the programmable logic device can maintain its stored half-frame number and time slot number based on the updated half-frame number.
[0212] As can be seen from the above, in the solution provided in this application embodiment, the current standard half-frame number is calculated by obtaining the precise second value issued by the time synchronization system. If it is determined that the half-frame number maintained during interruption is different from the aforementioned standard half-frame number, the half-frame number maintained during interruption is updated to the standard half-frame number, and the half-frame number stored in the programmable logic device is also updated to the standard half-frame number. Based on this standard half-frame number, the half-frame number maintained during interruption and the time slot number and half-frame number maintained by the programmable logic device can be calibrated, ensuring the accuracy of the time slot number and half-frame number subsequently reported to the service layer.
[0213] In one embodiment of this application, after obtaining the time stamp of the interrupt report from the programmable logic device through the interrupt task as the target time stamp, the processor 702 is further configured to execute the program stored in the memory 701 to implement the following method steps:
[0214] When the target time tag is the target time slot number, the standard data type corresponding to the half frame number of the interruption maintenance is determined according to the preset parity rule and the target time slot number. The standard data type indicates that the half frame number of the interruption maintenance is odd or even.
[0215] If the actual data type of the interrupted half-frame number does not match the above standard data type, the interrupted half-frame number will be updated according to the preset auto-increment rule.
[0216] As can be seen from the above, in the solution provided by the embodiments of this application, it is determined whether the actual data type of the interrupted half-frame number matches the standard data type. If the actual data type of the interrupted half-frame number does not match the standard data type, the interrupted half-frame number can be updated according to a preset auto-incrementing rule, so that the interrupted time slot number and half-frame number satisfy the preset parity rule.
[0217] It should be noted that the data processing unit provided in this application embodiment can implement all the method steps implemented in the above method embodiment and can achieve the same technical effect.
[0218] Since the data processing unit and the time slot number and half frame number reporting method provided in this application embodiment are based on the same application concept and have similar problem-solving principles, the embodiments of the data processing unit and the time slot number and half frame number reporting method can refer to each other, and repeated parts will not be described again.
[0219] Corresponding to the aforementioned method for reporting time slot numbers and half-frame numbers, this application also provides a network device.
[0220] See Figure 8 The diagram below illustrates the structure of a network device according to an embodiment of this application, including a memory 801, a transceiver 802, a processor 803, and a programmable logic device 804.
[0221] The memory 801 is used to store computer programs; the transceiver 802 is used to send and receive data under the control of the processor 803; the processor 803 is used to implement any of the time slot number and half frame number reporting methods in the above embodiments when executing the program stored in the memory 801.
[0222] When the network device provided in this application reports time slot numbers and half-frame numbers, the time tag is either the time slot number or the half-frame number. If the target time tag reported by the programmable logic device is normal, that is, it increases according to a preset auto-incrementing rule based on the time tag previously reported to the service layer, then the obtained target time tag is reported to the service layer, and the interruption maintenance time tag is updated to the aforementioned target time tag. If the target time tag reported by the programmable logic device is abnormal, that is, it does not increase according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, then, since the time tag before the interruption maintenance update is the time tag previously reported to the service layer, and the time tag after the interruption maintenance update increases according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, the updated time tag after the interruption maintenance can be reported to the service layer to ensure that the correct time slot number or half-frame number is reported to the service layer. This application embodiment, by selecting between the time tag reported by the programmable logic device during interruption and the time tag during interruption maintenance, can ensure the accuracy of the time slot number and half-frame number reported to the service layer.
[0223] Among them, Figure 8 In this context, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits together, represented by one or more processors (processor 803) and memory (memory 801). The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides an interface. The transceiver 802 can be multiple elements, including transmitters and receivers, providing a unit for communicating with various other devices over transmission media, including wireless channels, wired channels, optical fibers, etc. The processor 803 is responsible for managing the bus architecture and general processing, and the memory 801 can store data used by the processor 803 during operation.
[0224] The processor 803 can be a CPU, ASIC, FPGA or CPLD, and the processor 803 can also adopt a multi-core architecture.
[0225] The network device involved in this application embodiment can be a base station, which may include multiple cells providing services to terminals. Depending on the specific application, the base station may also be called an access point, or a device in the access network that communicates with wireless terminal devices through one or more sectors on the air interface, or other names. The network device can be used to exchange received air frames with Internet Protocol (IP) packets, acting as a router between the wireless terminal device and the rest of the access network, where the rest of the access network may include an Internet Protocol (IP) communication network. The network device can also coordinate the attribute management of the air interface. For example, the network device involved in this application embodiment can be an evolved Node B (eNB or e-NodeB) in a long term evolution (LTE) system, a 5G base station (gNB) in a next generation system, or a Home evolved Node B (HeNB), relay node, femto, pico, network testing equipment, etc., and is not limited in this application embodiment. In some network architectures, network devices may include centralized unit (CU) nodes and distributed unit (DU) nodes, which may also be geographically separated.
[0226] Corresponding to the aforementioned method for reporting time slot numbers and half-frame numbers, this application also provides a device for reporting time slot numbers and half-frame numbers.
[0227] See Figure 9 This is a schematic diagram of a time slot number and half-frame number reporting device provided in an embodiment of this application. The device is applied to a processor and includes:
[0228] The first acquisition module 901 is used to acquire the time tag of the interrupt reported by the programmable logic device through the interrupt task, and use it as the target time tag, wherein the time tag is a time slot number or a half frame number.
[0229] The first judgment module 902 is used to determine whether the target time tag has increased according to a preset auto-incrementing rule based on the time tag previously reported to the business layer.
[0230] The first update reporting module 903 is used to report the target time tag to the business layer and update the interrupted maintenance time tag to the target time tag if the judgment result of the first judgment module 902 is yes.
[0231] The second update reporting module 904 is used to update the interruption maintenance time tag according to a preset auto-incrementing rule if the judgment result of the first judgment module 902 is negative, and report the updated time tag of the interruption maintenance to the business layer.
[0232] As can be seen from the above, in the solution provided in this application embodiment, the time tag is a time slot number or a half-frame number. If the target time tag reported by the programmable logic device is normal, that is, it increases according to a preset auto-incrementing rule based on the time tag previously reported to the service layer, then the obtained target time tag is reported to the service layer, and the interruption maintenance time tag is updated to the above-mentioned target time tag. If the target time tag reported by the programmable logic device is abnormal, that is, it does not increase according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, in this case, since the time tag before the interruption maintenance update is the time tag previously reported to the service layer, and the time tag after the interruption maintenance update increases according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, the updated time tag after the interruption maintenance can be reported to the service layer to ensure that the correct time slot number or half-frame number is reported to the service layer. This application embodiment can ensure the accuracy of the time slot number and half-frame number reported to the service layer by selecting between the time tag reported by the programmable logic device interruption and the time tag of interruption maintenance.
[0233] In one embodiment of this application, the time stamp for the interrupt reporting of the programmable logic device is reported through at least one of the following links: SRIO link and SPI link.
[0234] In one embodiment of this application, the first acquisition module 901 described above is specifically used for:
[0235] Based on the values of the flag bits corresponding to the SRIO and SPI links, the first link is selected, and the target time tag is obtained through the first link via the interrupt task. The value of the above flag bit is a first preset value, which indicates that the link corresponding to the flag bit is the first link, and the value of the above flag bit is a second preset value, which indicates that the link corresponding to the flag bit is the second link.
[0236] The aforementioned first judgment module 902 is specifically used for:
[0237] Determine whether the target time tag obtained through the first link above increases according to a preset auto-incrementing rule based on the time tag previously reported to the business layer.
[0238] The aforementioned first acquisition module 901 is also specifically used for:
[0239] If the judgment result of the first judgment module 902 is negative, the target time tag is obtained through the second link by interrupting the task.
[0240] The aforementioned first judgment module 902 is also specifically used for:
[0241] Determine whether the target time tag obtained through the second link above increases according to a preset auto-incrementing rule based on the time tag previously reported to the business layer.
[0242] As can be seen from the above, in the solution provided in this application embodiment, the programmable logic device first selects one of two methods: reporting the target time tag via the SRIO link or reporting the target time tag via the SPI link. If the processor determines that the obtained target time tag is correct, it reports the obtained target time tag to the service layer; otherwise, it selects the other of the two methods to obtain the target time tag. If the obtained target time tag is correct, it reports the obtained target time tag to the service layer. If the target time tag obtained by the above two methods is inaccurate, the updated time tag maintained by the interrupt is reported to the service layer. Compared with the case of using only one method to report the time tag, the comprehensive use of the SRIO link, SPI link, and interrupt-maintained time tag can better ensure that the accurate time tag, i.e., slot number or half-frame number, is reported to the service layer.
[0243] In one embodiment of this application, the above-described apparatus further includes:
[0244] The flag adjustment module 905 is used to adjust the value of the flag corresponding to the link that acquired the target time tag to a second preset value and adjust the value of the flag corresponding to another link to a first preset value when the acquired target time tag does not increase according to a preset auto-increment rule based on the time tag previously reported to the business layer.
[0245] As can be seen from the above, in the solution provided in this application embodiment, the first link and the second link each have their corresponding flag bits. If the target time tag obtained using one of the links is correct, the value of the flag bit corresponding to that link remains unchanged, indicating that the link will continue to be used to obtain the target time tag. If the target time tag obtained using one of the links is incorrect, the values of the flag bits corresponding to the two links are adjusted. The incorrect link is adjusted to the second link, and the other link is adjusted to the first link. Since the other link has not yet been verified to be capable of errors, using the other link to obtain the target time tag subsequently increases the probability of obtaining an accurate target time tag. The value of the flag bit determines the link to be used to obtain the target time tag.
[0246] In one embodiment of this application, the above-described apparatus further includes:
[0247] The second acquisition module 906 is used to acquire the second value of the current time sent by the time synchronization system and calculate the standard half-frame number corresponding to the second value.
[0248] The second judgment module 907 is used to determine whether the half-frame number of the interrupt maintenance is the same as the standard half-frame number mentioned above.
[0249] The first update module 908 is used to update the interrupted half-frame number to the standard half-frame number and update the half-frame number stored in the programmable logic device to the standard half-frame number if the judgment result of the second judgment module 907 is negative, so that the programmable logic device maintains its own stored half-frame number and time slot number based on the updated half-frame number.
[0250] As can be seen from the above, in the solution provided in this application embodiment, the current standard half-frame number is calculated by obtaining the precise second value issued by the time synchronization system. If it is determined that the half-frame number maintained during interruption is different from the aforementioned standard half-frame number, the half-frame number maintained during interruption is updated to the standard half-frame number, and the half-frame number stored in the programmable logic device is also updated to the standard half-frame number. Based on this standard half-frame number, the half-frame number maintained during interruption and the time slot number and half-frame number maintained by the programmable logic device can be calibrated, ensuring the accuracy of the time slot number and half-frame number subsequently reported to the service layer.
[0251] In one embodiment of this application, after the first acquisition module 901 described above, the apparatus further includes:
[0252] The determination module 909 is used to determine the standard data type that the half-frame number of the interruption maintenance should correspond to, based on a preset parity rule and the target time slot number, when the target time tag is the target time slot number. The standard data type indicates whether the half-frame number of the interruption maintenance is odd or even.
[0253] The second update module 9010 is used to update the interrupted half-frame number according to a preset auto-incrementing rule if the actual data type of the interrupted half-frame number does not match the standard data type.
[0254] As can be seen from the above, in the solution provided by the embodiments of this application, it is determined whether the actual data type of the interrupted half-frame number matches the standard data type. If the actual data type of the interrupted half-frame number does not match the standard data type, the interrupted half-frame number can be updated according to a preset auto-incrementing rule, so that the interrupted time slot number and half-frame number satisfy the preset parity rule.
[0255] It should be noted that the apparatus provided in this application embodiment can implement all the method steps implemented in the above method embodiment and can achieve the same technical effect.
[0256] Since the time slot number and half frame number reporting device and the time slot number and half frame number reporting method provided in the embodiments of this application are based on the same application concept and have similar problem-solving principles, the embodiments of the time slot number and half frame number reporting device and the time slot number and half frame number reporting method can refer to each other, and repeated parts will not be described again.
[0257] It should be noted that the module division in the embodiments of this application is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0258] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of any of the above-described timeslot number and half-frame number reporting methods.
[0259] When reporting time slot numbers and half-frame numbers using the computer program stored in the computer-readable storage medium provided in this application embodiment, the time tag is either a time slot number or a half-frame number. If the target time tag reported by the programmable logic device is normal, that is, it increases according to a preset auto-incrementing rule based on the time tag previously reported to the service layer, then the obtained target time tag is reported to the service layer, and the interruption maintenance time tag is updated to the aforementioned target time tag. If the target time tag reported by the programmable logic device is abnormal, that is, it does not increase according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, then, since the time tag before the interruption maintenance update is the time tag previously reported to the service layer, and the time tag after the interruption maintenance update increases according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, the updated time tag after the interruption maintenance can be reported to the service layer to ensure that the correct time slot number or half-frame number is reported to the service layer. This application embodiment, by selecting between the time tag reported by the programmable logic device interruption and the time tag of interruption maintenance, can ensure the accuracy of the time slot number and half-frame number reported to the service layer.
[0260] If the integrated modules described above are implemented as software functional modules and sold or used as independent products, they can be stored in a processor-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0261] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the time slot number or half-frame number reporting methods in the above embodiments.
[0262] When reporting time slot numbers and half-frame numbers using the computer program product provided in this application, the time tag is either a time slot number or a half-frame number. If the target time tag reported by the programmable logic device is normal, that is, it increases according to a preset auto-incrementing rule based on the time tag previously reported to the service layer, then the obtained target time tag is reported to the service layer, and the interruption maintenance time tag is updated to the aforementioned target time tag. If the target time tag reported by the programmable logic device is abnormal, that is, it does not increase according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, then, since the time tag before the interruption maintenance update is the time tag previously reported to the service layer, and the time tag after the interruption maintenance update increases according to the preset auto-incrementing rule based on the time tag previously reported to the service layer, the updated time tag after the interruption maintenance can be reported to the service layer to ensure that the correct time slot number or half-frame number is reported to the service layer. This application embodiment ensures the accuracy of the time slot number and half-frame number reported to the service layer by selecting between the time tag reported by the programmable logic device interruption and the time tag of interruption maintenance.
[0263] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented, in whole or in part, as a computer program product. The aforementioned computer program product includes one or more computer instructions. When the aforementioned computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The aforementioned computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The aforementioned computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the aforementioned computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The aforementioned computer-readable storage media can be any available medium that a computer can access, or a data storage device such as a server or data center that integrates one or more available media, including but not limited to magnetic storage (e.g., floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO), etc.), optical storage (e.g., CDs, DVDs, BDs, HVDs, etc.), and semiconductor storage (e.g., ROMs, EPROMs, EEPROMs, non-volatile memory (NAND FLASH), solid-state drives (SSDs)).
[0264] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the aforementioned element.
[0265] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the embodiments for data processing units, apparatuses, computer-readable storage media, and computer program products are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0266] Those skilled in the art will understand that embodiments of this application can be provided as methods, data processing units, apparatus, computer-readable storage media, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-readable storage media (including, but not limited to, disk storage and optical storage) containing computer-readable program code.
[0267] This application is described with reference to flowchart illustrations and / or block diagrams of methods, data processing units, network devices, apparatuses, computer-readable storage media, or computer program products according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-executable instructions. These computer-executable instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0268] These processor-executable instructions may also be stored in a processor-readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the processor-readable memory produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0269] These processors can execute instructions that can also be loaded onto a computer or other programmable data processing device, causing a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable device for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0270] The above are merely preferred embodiments of this application and are not intended to limit the scope of protection of this application. Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if these modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include these modifications and variations.
Claims
1. A method for reporting a slot number and a half frame number, characterized in that, The method comprises: obtaining a time label reported by an interrupt of a programmable logic device through an interrupt task as a target time label, wherein the time label is a time slot number or a half frame number; determining whether the target time label is increased according to a preset self-increment rule on the basis of a time label reported to a service layer last time; if yes, reporting the target time label to the service layer and updating a time label maintained by the interrupt to the target time label; if no, updating the time label maintained by the interrupt according to the preset self-increment rule and reporting the updated time label maintained by the interrupt to the service layer; wherein the time label before updating by the interrupt is the time label reported to the service layer last time.
2. The method of claim 1, wherein, The time label reported by the interrupt of the programmable logic device is reported through at least one of the following links: a serial rapid input / output (SRIO) link and a serial peripheral interface (SPI) link.
3. The method of claim 2, wherein, The method of obtaining the time label reported by the interrupt of the programmable logic device through the interrupt task as the target time label and determining whether the target time label is increased according to the preset self-increment rule on the basis of the time label reported to the service layer last time comprises: selecting a first link based on the value of a flag corresponding to the SRIO link or the SPI link, obtaining the target time label through the first link by the interrupt task, wherein the value of the flag is a first preset value, indicating that the link corresponding to the flag is the first link, and the value of the flag is a second preset value, indicating that the link corresponding to the flag is a second link; determining whether the target time label obtained through the first link is increased according to the preset self-increment rule on the basis of the time label reported to the service layer last time; if no, obtaining the target time label through the second link by the interrupt task; determining whether the target time label obtained through the second link is increased according to the preset self-increment rule on the basis of the time label reported to the service layer last time.
4. The method of claim 3, wherein, The method further comprises: in the case that the obtained target time label is not increased according to the preset self-increment rule on the basis of the time label reported to the service layer last time, adjusting the value of the flag corresponding to the link obtaining the target time label to the second preset value and adjusting the value of the flag corresponding to the other link to the first preset value.
5. The method according to any one of claims 1-4, characterized in that, The method further comprises calibrating the time slot number and the half frame number in the following manner: obtaining a second value of a current time instant issued by a time service system, calculating a standard half frame number corresponding to the second value of the current time instant; determining whether the half frame number maintained by the interrupt is the same as the standard half frame number; if no, updating the half frame number maintained by the interrupt to the standard half frame number and updating the half frame number stored in the programmable logic device to the standard half frame number, so that the programmable logic device maintains the half frame number and the time slot number stored therein based on the updated half frame number.
6. The method according to any one of claims 1-4, characterized in that, After the step of obtaining the time label reported by the interrupt of the programmable logic device through the interrupt task as the target time label, the method further comprises: In a case that the target time tag is a target time slot number, a standard data type to which a maintenance-interrupted half frame number should correspond is determined according to a preset parity rule and the target time slot number, wherein the standard data type indicates whether the maintenance-interrupted half frame number is odd or even; If an actual data type of the maintenance-interrupted half frame number does not match the standard data type, the maintenance-interrupted half frame number is updated according to a preset increment rule.
7. A data processing unit, characterized by The device comprises a memory and a processor. The memory is configured to store a computer program, and the processor is configured to execute the program stored in the memory to implement the following method steps: A time tag reported by an interrupt of a programmable logic device is acquired as a target time tag, wherein the time tag is a time slot number or a half frame number; It is judged whether the target time tag is increased according to a preset increment rule on the basis of a time tag reported to a service layer last time; If yes, the target time tag is reported to the service layer, and a maintenance-interrupted time tag is updated as the target time tag; If no, the maintenance-interrupted time tag is updated according to the preset increment rule, and the updated maintenance-interrupted time tag is reported to the service layer; The time tag before the update of the maintenance-interrupted time tag is the time tag reported to the service layer last time.
8. The data processing unit according to claim 7, characterized in that, The time tag reported by the interrupt of the programmable logic device is reported through at least one of the following links: a serial rapid input / output (SRIO) link and a serial peripheral interface (SPI) link.
9. The data processing unit according to claim 8, characterized in that, The acquisition of the time tag reported by the interrupt of the programmable logic device as the target time tag and the judgment of whether the target time tag is increased according to the preset increment rule on the basis of the time tag reported to the service layer last time specifically include: Based on values of flag bits corresponding to the SRIO link and the SPI link, a first link is selected, and the target time tag is acquired through the first link by an interrupt task, wherein a first preset value of the value of the flag bit indicates that the link corresponding to the flag bit is the first link, and a second preset value of the value of the flag bit indicates that the link corresponding to the flag bit is a second link; It is judged whether the target time tag acquired through the first link is increased according to the preset increment rule on the basis of the time tag reported to the service layer last time; If no, the target time tag is acquired through the second link by the interrupt task; It is judged whether the target time tag acquired through the second link is increased according to the preset increment rule on the basis of the time tag reported to the service layer last time.
10. The data processing unit according to claim 9, characterized in that, The processor is further configured to execute the program stored in the memory to implement the following method steps: In a case that the acquired target time tag is not increased according to the preset increment rule on the basis of the time tag reported to the service layer last time, the value of the flag bit corresponding to the link through which the target time tag is acquired is adjusted to the second preset value, and the value of the flag bit corresponding to another link is adjusted to the first preset value.
11. The data processing unit according to any of claims 7-10, characterized by, The processor is further configured to execute the program stored in the memory to implement the following method steps: A second value of a current time point issued by a time service system is acquired, and a standard half frame number corresponding to the second value of the current time point is calculated. determining whether the half frame number maintained by the interrupt is same as the standard half frame number; if not, updating the half frame number maintained by the interrupt to the standard half frame number, and updating the half frame number stored in the programmable logic device to the standard half frame number, so that the programmable logic device maintains the half frame number stored by itself based on the updated half frame number and the time slot number.
12. The data processing unit according to any of claims 7-10, characterized by, After the time label reported by the programmable logic device through the interrupt task is obtained as the target time label, the processor further executes the program stored in the memory to implement the following method steps: in the case that the target time label is a target time slot number, determining a standard data type corresponding to the half frame number maintained by the interrupt according to a preset parity rule and the target time slot number, wherein the standard data type indicates that the half frame number maintained by the interrupt is odd or even; if the actual data type of the half frame number maintained by the interrupt does not match the standard data type, updating the half frame number maintained by the interrupt according to a preset self-increment rule.
13. A network device, comprising: The apparatus comprises a memory, a transceiver, a processor and a programmable logic device. The memory is used to store a computer program; the transceiver is used to transceive data under the control of the processor; and the processor is used to implement any of the method steps of claims 1-6 when executing the program stored in the memory.
14. A time slot number and half-frame number reporting device, characterized in that, The apparatus comprises: a first obtaining module, which is used to obtain a time label reported by a programmable logic device through an interrupt task as a target time label, wherein the time label is a time slot number or a half frame number; a first determining module, which is used to determine whether the target time label is increased according to a preset self-increment rule on the basis of a time label reported to a service layer last time; a first updating and reporting module, which is used to report the target time label to the service layer and update a time label maintained by the interrupt to the target time label if the determination result of the first determining module is yes; a second updating and reporting module, which is used to update the time label maintained by the interrupt according to a preset self-increment rule and report the updated time label maintained by the interrupt to the service layer if the determination result of the first determining module is no; wherein the time label maintained by the interrupt before updating is the time label reported to the service layer last time.
15. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, and the computer program is executed by the processor to implement any of the method steps of claims 1-6.
Citation Information
Patent Citations
Correction method for frame number transmission error
CN101034949A