A timing alignment method, apparatus, medium, and device

By splitting the delimiters and cached data of the parallel data stream, and performing shift selection and retrieval, the timing alignment problem of optical network units and optical line terminals in passive optical network systems is solved. Stable and fine timing recovery and alignment under optical power changes and disturbances are achieved, thus improving the accuracy of testing.

CN121967941BActive Publication Date: 2026-07-07STELIGHT INSTR CO LTD +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
STELIGHT INSTR CO LTD
Filing Date
2026-04-03
Publication Date
2026-07-07

Smart Images

  • Figure CN121967941B_ABST
    Figure CN121967941B_ABST
Patent Text Reader

Abstract

This application discloses a timing alignment method, apparatus, medium, and device, comprising: determining buffered parallel data corresponding to a target clock cycle from the parallel data stream corresponding to the current reception round; shifting and selecting the buffered parallel data based on multiple delimiting reference data segments obtained after splitting with a preset delimiter to obtain multiple data segments to be retrieved for each delimiting reference data segment; retrieving the multiple data segments to be retrieved for each delimiting reference data segment based on each delimiting reference data segment to obtain first delimiting indication information for each delimiting reference data segment; determining second delimiting indication information for the buffered parallel data based on the first delimiting indication information for each delimiting reference data segment and an adjudication window corresponding to the target clock cycle; and extracting aligned parallel data for the target clock cycle from the buffered parallel data according to the second delimiting indication information. This application can perform clock cycle-by-clock timing alignment of the data stream and can ensure the recovery and alignment of data timing when disturbances occur.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, specifically to a timing alignment method, apparatus, medium, and device. Background Technology

[0002] Next-generation Passive Optical Network (PON) broadband access networks utilize passive optical network technology to achieve the last mile of fiber optic deployment to homes and offices. Standardized passive optical networks provide bidirectional operation from multiple optical network units (ONUs) located at or near the user to the optical line terminal (OLT) at the network provider.

[0003] In passive optical network systems, optical network units and optical line terminals are the most important components. When testing the function and performance of optical line terminals, it is necessary to restore the normal timing after receiving the parallel data stream obtained by serialization according to a certain encoding order. Furthermore, as the optical power changes, bit jumps or offsets may occur in the received parallel data stream, which increases the difficulty of timing recovery and alignment. Summary of the Invention

[0004] To accurately align parallel data in a parallel data stream, this application provides a timing alignment method, apparatus, medium, and device. The technical solution is as follows:

[0005] In a first aspect, this application provides a timing alignment method, the method comprising:

[0006] From the parallel data stream corresponding to the current receiving round, determine the buffered parallel data corresponding to the target clock cycle; the target clock cycle is any clock cycle in the parallel data stream.

[0007] The preset delimiter is split to obtain multiple delimiting reference data segments;

[0008] Based on each of the plurality of delimited reference data segments, the cached parallel data corresponding to the target clock cycle is shifted and selected to obtain a plurality of data segments to be retrieved corresponding to each delimited reference data segment;

[0009] Based on each delimitation reference data segment, multiple data segments to be retrieved corresponding to each delimitation reference data segment are retrieved to obtain the first delimitation indication information corresponding to each delimitation reference data segment.

[0010] Based on the first delimiting indication information corresponding to each delimiting reference data segment and the adjudication window corresponding to the target clock cycle, the second delimiting indication information corresponding to the cached parallel data is determined; the current duration of the adjudication window corresponding to the target clock cycle is determined based on the second delimiting indication information corresponding to the target clock cycle in the previous reception round.

[0011] If the second delimiting indication information corresponding to the cached parallel data indicates that there is a target data segment in the cached parallel data corresponding to the target clock cycle that is the same as or similar to the preset delimiter, the cached parallel data is extracted according to the second delimiting indication information corresponding to the cached parallel data to obtain the aligned parallel data corresponding to the target clock cycle.

[0012] Optionally, determining the buffered parallel data corresponding to the target clock cycle from the parallel data stream corresponding to the current receiving round includes:

[0013] Based on the selection window corresponding to the current receiving round and the parallel data stream corresponding to the current receiving round, determine the parallel data corresponding to the target clock cycle and the parallel data corresponding to the adjacent clock cycle relative to the target clock cycle;

[0014] The parallel data corresponding to the target clock cycle and the parallel data corresponding to the adjacent clock cycle are merged to obtain the cached parallel data corresponding to the target clock cycle.

[0015] Optionally, the step of splitting the preset delimiter to obtain multiple delimiting reference data segments includes:

[0016] The preset delimiter is divided equally to obtain multiple delimiting reference data segments. The multiple delimiting reference data segments do not overlap with each other, and the multiple delimiting reference data segments constitute the complete preset delimiter.

[0017] Optionally, the method further includes:

[0018] The number of delimiting reference data segments is determined based on the length of the parallel data and the length of the preset delimiter.

[0019] Optionally, the step of shifting and selecting the cached parallel data corresponding to the target clock cycle based on each of the plurality of delimited reference data segments to obtain a plurality of data segments to be retrieved corresponding to each delimited reference data segment includes:

[0020] Determine the starting selection position corresponding to each delimited reference data segment in the cached parallel data;

[0021] Based on the starting selection position, a continuous data segment of a preset length is extracted from the cached parallel data, and the starting selection position is moved bit by bit to perform multiple extractions to obtain multiple data segments to be retrieved corresponding to each delimited reference data segment.

[0022] The preset length is the same as the length of the corresponding delimited reference data segment.

[0023] Optionally, the step of searching multiple data segments corresponding to each delimited reference data segment to obtain first delimited indication information corresponding to each delimited reference data segment includes:

[0024] Each data segment to be retrieved in the plurality of data segments to be retrieved corresponding to each delimited reference data segment is bit matched with the corresponding delimited reference data segment to obtain a plurality of matching results corresponding to each delimited reference data segment;

[0025] Based on multiple matching results corresponding to each delimitation reference data segment, the first delimitation indication information corresponding to each delimitation reference data segment is determined;

[0026] The first delimiting indication information corresponding to each delimiting reference data segment includes indication identification information and delimiting position information; the indication identification information indicates whether there is a searchable data segment identical to the corresponding delimiting reference data segment among the multiple searchable data segments corresponding to the corresponding delimiting reference data segment; the delimiting position information indicates the position of the searchable data segment identical to the corresponding delimiting reference data segment in the cached parallel data when the indication identification information indicates that there is a searchable data segment identical to the corresponding delimiting reference data segment among the multiple searchable data segments corresponding to the corresponding delimiting reference data segment.

[0027] Optionally, the method further includes:

[0028] In the first receiving round, if the indication information in the first delimiting indication information corresponding to each delimiting reference data segment indicates that there is a searchable data segment identical to the corresponding delimiting reference data segment among the multiple searchable data segments corresponding to the corresponding delimiting reference data segment, then based on the delimiting position information in the first delimiting indication information corresponding to each delimiting reference data segment, the second delimiting indication information corresponding to the cached parallel data is determined; the second delimiting indication information corresponding to the cached parallel data indicates that there is a target data segment identical to the preset delimiter in the cached parallel data, and indicates the position of the target data segment in the cached parallel data.

[0029] Optionally, determining the second delimiting indication information corresponding to the cached parallel data based on the first delimiting indication information corresponding to each delimiting reference data segment and the decision window corresponding to the target clock cycle includes:

[0030] If, within the current duration of the adjudication window corresponding to the target clock cycle, the indication information in the first delimitation indication information corresponding to each delimitation reference data segment indicates that there is no data segment to be retrieved that is the same as the corresponding delimitation reference data segment among the multiple data segments to be retrieved corresponding to the corresponding delimitation reference data segment, then the timing alignment of the target clock cycle is skipped.

[0031] Optionally, determining the second delimiting indication information corresponding to the cached parallel data based on the first delimiting indication information corresponding to each delimiting reference data segment and the decision window corresponding to the target clock cycle includes:

[0032] Within the current duration of the adjudication window corresponding to the target clock cycle, if the indication identifier information in the first delimitation indication information corresponding to each delimitation reference data segment does not completely indicate that there is a searchable data segment with the same characteristics as the corresponding delimitation reference data segment among the multiple searchable data segments corresponding to the corresponding delimitation reference data segment, then the indication identifier information in the first delimitation indication information corresponding to each delimitation reference data segment is statistically analyzed to obtain the identifier statistical data.

[0033] Based on the adjudication strategy corresponding to the identifier statistics and the delimitation position information in the first delimitation indication information corresponding to each delimitation reference data segment, the second delimitation indication information corresponding to the cached parallel data is obtained; the second delimitation indication information corresponding to the cached parallel data indicates that there is a target data segment in the cached parallel data that is similar to the preset delimiter, and indicates the position of the target data segment in the cached parallel data.

[0034] Optionally, the method further includes:

[0035] When the second delimitation indication information corresponding to the cached parallel data indicates that the target data segment is located at the boundary position of the parallel data corresponding to the target clock cycle, the first duration of the decision window is determined.

[0036] When the second delimitation indication information corresponding to the cached parallel data indicates that the target data segment is located at a non-boundary position of the parallel data corresponding to the target clock cycle, the second duration of the decision window is determined.

[0037] The first duration or the second duration is the next duration of the decision window corresponding to the target clock cycle in the next reception round.

[0038] Optionally, the method further includes:

[0039] After determining the second delimiting indication information corresponding to the target clock cycle in the previous receiving round, a target counter corresponding to the target clock cycle is started; the initial value of the target counter is the same as the length of the clock cycle of the parallel data stream; the value of the target counter is decremented by 1 after each clock cycle.

[0040] When the value of the target counter decreases to a preset threshold corresponding to the current duration, the adjudication window corresponding to the target clock cycle is opened until the target counter finishes counting and the adjudication window corresponding to the target clock cycle is closed, so as to determine the second delimitation indication information corresponding to the buffered parallel data in the current receiving round within the current duration of the adjudication window corresponding to the target clock cycle.

[0041] Optionally, determining the second delimiting indication information corresponding to the cached parallel data based on the delimiting position information in the first delimiting indication information corresponding to each delimiting reference data segment includes:

[0042] A consistency check is performed on the delimitation location information in the first delimitation indication information corresponding to each delimitation reference data segment to obtain the location consistency check result.

[0043] If the location consistency test result indicates that all the delimited location information is the same, then each of the delimited location information is used as the second delimited indication information corresponding to the cached parallel data.

[0044] Secondly, this application provides a timing alignment apparatus, the apparatus comprising:

[0045] The data acquisition module is used to determine the cached parallel data corresponding to the target clock cycle from the parallel data stream corresponding to the current receiving round; the target clock cycle is any clock cycle in the parallel data stream.

[0046] The delimiter splitting module is used to split a preset delimiter to obtain multiple delimiter reference data segments; the shift selection module is used to shift and select the cached parallel data corresponding to the target clock cycle based on each of the multiple delimiter reference data segments to obtain multiple data segments to be retrieved corresponding to each delimiter reference data segment.

[0047] The retrieval module is used to retrieve multiple data segments to be retrieved corresponding to each delimitation reference data segment based on each delimitation reference data segment, and to obtain the first delimitation indication information corresponding to each delimitation reference data segment.

[0048] The delimiting module is used to determine the second delimiting indication information corresponding to the cached parallel data based on the first delimiting indication information corresponding to each delimiting reference data segment and the adjudication window corresponding to the target clock cycle; the current duration of the adjudication window corresponding to the target clock cycle is determined based on the second delimiting indication information corresponding to the target clock cycle in the previous reception round.

[0049] The data extraction module is used to extract the cached parallel data according to the second delimiting indication information corresponding to the cached parallel data when the second delimiting indication information corresponding to the cached parallel data indicates that there is a target data segment in the cached parallel data corresponding to the target clock cycle that is the same as or similar to the preset delimiter, so as to obtain the aligned parallel data corresponding to the target clock cycle.

[0050] Thirdly, this application provides a computer-readable storage medium storing at least one instruction or at least one program, which is loaded and executed by a processor to implement the timing alignment method as described in the first aspect.

[0051] Fourthly, this application provides a computer device including a processor and a memory, wherein the memory stores at least one instruction or at least one program, the at least one instruction or the at least one program being loaded and executed by the processor to implement the timing alignment method as described in the first aspect.

[0052] Fifthly, this application provides a computer program product comprising computer instructions that, when executed by a processor, implement the timing alignment method as described in the first aspect.

[0053] This application provides a timing alignment method, apparatus, medium, and device, which have the following technical advantages:

[0054] The scheme provided in this application determines the buffered parallel data corresponding to the target clock cycle from the parallel data stream corresponding to the current receiving round, where the target clock cycle is any clock cycle in the parallel data stream; the scheme provides that it splits a preset delimiter to obtain multiple delimiting reference data segments, and based on each delimiting reference data segment, shifts and selects the buffered parallel data corresponding to the target clock cycle to obtain multiple data segments to be retrieved corresponding to each delimiting reference data segment, which serve as the objects of delimiting retrieval; the scheme provides that it retrieves the multiple data segments to be retrieved corresponding to each delimiting reference data segment based on each delimiting reference data segment to obtain the first delimiting indication information corresponding to each delimiting reference data segment; and then it can be based on each The system uses a first delimiting indication information corresponding to each delimited reference data segment and an adjudication window corresponding to the target clock cycle to determine a second delimiting indication information corresponding to the buffered parallel data of the target clock cycle. The current duration of the adjudication window corresponding to the target clock cycle is determined based on the second delimiting indication information corresponding to the target clock cycle in the previous reception round. If the second delimiting indication information corresponding to the buffered parallel data indicates the presence of a target data segment in the buffered parallel data corresponding to the target clock cycle that is the same as or similar to a preset delimiter, the buffered parallel data can be extracted according to the second delimiting indication information to obtain the aligned parallel data corresponding to the target clock cycle, and then accurately deserialized. The scheme provided in this application can accurately perform clock cycle-by-clock-cycle timing alignment of parallel data streams, and through the dual decomposition and retrieval of preset delimiters and buffered parallel data, it can more stably and precisely ensure the recovery and alignment of data timing when disturbances occur.

[0055] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description

[0056] To more clearly illustrate the technical solutions and advantages 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 drawings can be obtained based on these drawings without creative effort.

[0057] Figure 1 This is a schematic diagram of the implementation environment of a timing alignment method provided in an embodiment of this application;

[0058] Figure 2 This is a flowchart illustrating a timing alignment method provided in an embodiment of this application;

[0059] Figure 3This is a schematic flowchart illustrating a method for determining first delimitation indication information provided in an embodiment of this application;

[0060] Figure 4 This is a schematic diagram of the structure of a hardware implementation module provided in an embodiment of this application;

[0061] Figure 5 This is a schematic diagram of a timing alignment device provided in an embodiment of this application;

[0062] Figure 6 This is a schematic diagram of the hardware structure of a device for implementing a timing alignment method provided in an embodiment of this application. Detailed Implementation

[0063] To accurately align parallel data in a parallel data stream, this application provides a timing alignment method, apparatus, medium, and device. The technical solutions in 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 them. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout.

[0064] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or server that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or devices.

[0065] Please see Figure 1 This is a schematic diagram illustrating the implementation environment of a timing alignment method provided in an embodiment of this application, as shown below. Figure 1As shown, this implementation environment can include at least an Optical Network Unit (ONU), an optical fiber link, an Optical Line Terminal (OLT), and a serializer / deserializer (Serdes). The ONU acts as the transmitter, and the OLT as the receiver. It receives the serialized parallel data stream transmitted through the optical fiber link and deserializes the parallel data stream using the serializer / deserializer. To test the functionality and performance of the OLT, such as its error rate capability, it is necessary to restore the normal timing sequence after receiving the parallel data stream serialized according to a certain encoding order. Only with timing alignment can effective and accurate testing be performed. However, under conditions of varying optical power or very low optical power, or due to the impact of serial RF signal transmission delays, the serialized parallel data stream output by the OLT or received by the serializer / deserializer may experience bit offsets. The delimiters used for data stream alignment may have bit errors. When the serializer / deserializer receives the data stream and converts it into parallel data, the position of the delimiters may be incorrectly identified or difficult to identify, resulting in a change in the position of the deserialized data structure within the parallel data compared to before transmission.

[0066] In a timing alignment method provided in this application, buffered parallel data corresponding to a target clock cycle is determined from the parallel data stream corresponding to the current reception round received from the optical line terminal. The target clock cycle is any clock cycle in the parallel data stream. The timing alignment method provides that this application splits a preset delimiter to obtain multiple delimiting reference data segments. Based on each delimiting reference data segment, the buffered parallel data corresponding to the target clock cycle is shifted and selected to obtain multiple data segments to be retrieved corresponding to each delimiting reference data segment, which serve as the objects of delimiting retrieval. The scheme provided in this application, based on each delimiting reference data segment, retrieves the multiple data segments to be retrieved corresponding to each delimiting reference data segment to obtain a first delimiting index corresponding to each delimiting reference data segment. The method provides information on timing alignment. Based on the first delimiting indication information corresponding to each delimiting reference data segment and the adjudication window corresponding to the target clock cycle, the second delimiting indication information corresponding to the buffered parallel data for the target clock cycle can be determined. The current duration of the adjudication window corresponding to the target clock cycle is determined based on the second delimiting indication information corresponding to the target clock cycle in the previous reception round. If the second delimiting indication information indicates the presence of a target data segment with the same or similar preset delimiter in the buffered parallel data for the target clock cycle, the buffered parallel data can be extracted according to the second delimiting indication information to obtain the aligned parallel data for the target clock cycle, and then accurately deserialized. This application provides a timing alignment method that can accurately perform clock-cycle-by-clock-cycle timing alignment of parallel data streams. Furthermore, through dual decomposition and retrieval of preset delimiters and buffered parallel data, it can more stably and precisely guarantee the recovery and alignment of data timing when disturbances occur.

[0067] Please see Figure 2 This is a flowchart illustrating a timing alignment method provided in an embodiment of this application. This application provides the operational steps of the method described in the embodiment or flowchart, but based on conventional or non-inventive methods, more or fewer operational steps may be included. The order of steps listed in the embodiment is merely one possible execution order among many and does not represent the only possible execution order. In actual system or server product execution, the method can be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment) as shown in the embodiment or accompanying drawings. Figure 2 As shown, a timing alignment method provided in this application embodiment may include the following steps:

[0068] S210: Determine the buffered parallel data corresponding to the target clock cycle from the parallel data stream corresponding to the current receiving round.

[0069] In this embodiment, the parallel data stream is a serialized signal. Under conditions such as changes in optical power, very low optical power, or the influence of uncertain transmission delay of serial radio frequency signals, bit offsets or bit jumps may occur in the parallel data stream, which may easily cause the position of the deserialized data structure in the parallel data to change compared to before transmission.

[0070] In the embodiments of this application, the target clock period is any clock period in the parallel data stream.

[0071] In one embodiment of this application, the aforementioned parallel data stream may employ a fixed-length encoding method.

[0072] In one embodiment of this application, step S210 can be implemented as follows:

[0073] S211: Based on the selection window corresponding to the current receiving round and the parallel data stream corresponding to the current receiving round, determine the parallel data corresponding to the target clock cycle and the parallel data corresponding to the adjacent clock cycle relative to the target clock cycle.

[0074] For example, if the selection window corresponding to the current receiving round indicates that the duration is two clock cycles, the aforementioned adjacent clock cycle can be the next clock cycle after the target clock cycle.

[0075] For example, when the selection window corresponding to the current receiving round indicates that the duration is three clock cycles, the aforementioned adjacent clock cycles can be the previous clock cycle and the next clock cycle of the target clock cycle, or the aforementioned adjacent clock cycles can be the next clock cycle and the next two clock cycles of the target clock cycle.

[0076] S212: Merge the parallel data corresponding to the target clock cycle and the parallel data corresponding to the adjacent clock cycle to obtain the cached parallel data corresponding to the target clock cycle.

[0077] The parallel data corresponding to multiple clock cycles are concatenated to obtain the cached parallel data corresponding to the target clock cycle, which serves as the data range for delimiting the search of the target clock cycle.

[0078] When the adjacent clock cycle is the clock cycle following the target clock cycle, the above step S212 can be implemented as follows:

[0079] Use the parallel data corresponding to the target clock cycle as the high-order data in the cached parallel data;

[0080] The parallel data corresponding to the next clock cycle is used as the low-order data in the cached parallel data.

[0081] For example, the parallel data corresponding to the i-th clock cycle can be denoted as... The parallel data corresponding to the next clock cycle can be denoted as That is, the parallel data corresponding to each clock cycle is M bits wide. The parallel data corresponding to the i-th clock cycle and the parallel data corresponding to the (i+1)-th clock cycle are merged into a 2*M-bit wide data set, which is used as the cached parallel data corresponding to the i-th clock cycle, and can be denoted as... ,in:

[0082] It can be used as high-order data, that is In ;

[0083] It can be used as low-order data, that is In .

[0084] It is understandable that, due to the transmission delay, the W-bit delimiter has a certain probability of being separated into parallel data corresponding to two clock cycles (the parallel data corresponding to each clock cycle is M bits wide). Therefore, the M-bit parallel data corresponding to two consecutive clock cycles can be merged into 2*M-bit wide data as cached parallel data so that the delimiter in the parallel data corresponding to each clock cycle can be accurately retrieved.

[0085] In the above embodiments, by flexibly setting the selection window in different receiving rounds, the data retrieval range for the target clock cycle during timing alignment can be dynamically adjusted, and problems such as bit offset or bit transition can be dealt with, thereby improving the accuracy of timing alignment.

[0086] S220: Split the preset delimiter to obtain multiple delimited reference data segments.

[0087] In this embodiment, a predefined delimiter with complete semantic information is split into multiple delimiting reference data segments. Each delimiting reference data segment is a local, continuous bit data segment within the predefined delimiter. Each delimiting reference data segment serves as a reference and basis for subsequent delimiting retrieval.

[0088] Among them, the default delimiter is a symbol used to delimit characters, and its main function is to identify the start or end position of data.

[0089] In one embodiment of this application, the number of delimiting reference data segments can be determined based on the length (bit width) of the parallel data corresponding to each clock cycle and the length (bit width) of the preset delimiter. Optionally, the number of delimiting reference data segments can be four.

[0090] In one embodiment of this application, a preset delimiter can be equally divided to obtain multiple delimiting reference data segments. The multiple delimiting reference data segments do not overlap with each other, and the multiple delimiting reference data segments form a complete preset delimiter.

[0091] For example, a W-bit wide predefined delimiter D can be divided into four delimited reference data segments, namely... W-bit width SynCode <0> SynCode <1> SynCode <2> SynCode <3> ,in:

[0092] SynCode <0> = D[W-1: *W], that is, the bit data of the first delimiting reference data segment is the (W-1)th bit to the (W-1)th bit of the preset delimiter. *W bits of data;

[0093] SynCode <1> = D[ *W-1: *W], that is, the bit data of the second delimiting reference data segment is the bit data of the preset delimiter. *W-1 to the 1st position *W bits of data;

[0094] SynCode <2> = D[ *W-1: *W], that is, the bit data of the third delimiting reference data segment is the bit data of the preset delimiter. *W position to the 1st *W bits of data;

[0095] SynCode <3> = D[ *W-1:0], that is, the bit data of the fourth delimiting reference data segment is the bit data of the preset delimiter. *W bits to bit 0.

[0096] In another embodiment of this application, the preset delimiters can also be split in an overlapping manner or in an unequal manner.

[0097] S230: Based on each of the multiple delimited reference data segments, shift and select the cached parallel data corresponding to the target clock cycle to obtain multiple data segments to be retrieved corresponding to each delimited reference data segment.

[0098] In this embodiment, based on the bit width of each delimiting reference data segment, the cached parallel data corresponding to the target clock cycle is shifted and selected to form multiple arrays. Each array includes multiple data segments to be retrieved corresponding to a delimiting reference data segment, and each data segment to be retrieved is the smallest data object for delimiting retrieval. The bit width of each data segment to be retrieved can be the same as the bit width of the corresponding delimiting reference data segment.

[0099] In another embodiment of this application, there may be overlapping data bits between multiple data segments to be retrieved corresponding to the same delimited reference data segment; there may also be overlapping data bits or duplicate data segments to be retrieved between multiple data segments to be retrieved corresponding to different delimited reference data segments.

[0100] In one embodiment of this application, step S230 can be implemented as follows:

[0101] S231: Determine the starting selection position for each delimited reference data segment in the cached parallel data.

[0102] S232: Based on the initial selection position, extract a continuous data segment of a preset length from the cached parallel data, and move the initial selection position bit by bit to extract multiple times to obtain multiple data segments to be retrieved corresponding to each delimited reference data segment.

[0103] The preset length is the same as the length of the corresponding delimited reference data segment.

[0104] For example, the cached parallel data corresponding to the target clock cycle can be denoted as data_in_buffer<2*M-1:0>, and the parallel data corresponding to the target clock cycle is located in the high-order bits of the cached parallel data. The preset delimiter can be denoted as Delimiter. <w-1:0>The default delimiter has a bit width of W, which is the same as the delimiter reference data segment SynCode mentioned above. <0> = D[W-1: The multiple data segments to be retrieved corresponding to *W] can be represented as search_data <0> <j>< *W-1:0>, where 0≤j<M, j is an integer, meaning the bit width of each data segment to be retrieved is also . *W, the most significant bit of the cached parallel data data_in_buffer<2*M-1:0> corresponding to the target clock cycle can be used as the delimiting reference data segment SynCode. <0> The initial starting position is selected, and a W-bit wide data segment is extracted as the delimiting reference data segment SynCode. <0> The first corresponding data segment to be retrieved, search_data <0> <0> <= data_in_buffer<2*M-1:2*M- *W>; Then, offset the starting selection position by one bit, and extract another W-bit wide data segment as the delimiting reference data segment SynCode. <0> The corresponding second data segment to be retrieved, search_data <0> <1> <= data_in_buffer<2*M-2:2*M- *W-1>......until the delimited reference data segment SynCode is extracted. <0> The corresponding Mth data segment to be retrieved, search_data <0> <m-1><= data_in_buffer <M: M- *W+1>;

[0105] SynCode, the delimiting reference data segment mentioned above <1> = D[ *W-1: The multiple data segments to be retrieved corresponding to *W] can be represented as search_data <1> <j>< *W-1:0>, where 0≤j<M, j is an integer, and the bit width of each data segment to be retrieved is also . *W can be obtained from the 2nd*M-th of the cached parallel data data_in_buffer<2*M-1:0> corresponding to the target clock cycle. Starting with W-1 bits, extract a W-bit wide data segment, shifting by one bit each time, until M data segments to be retrieved are obtained;

[0106] SynCode, the delimiting reference data segment mentioned above <2> = D[ *W-1: The multiple data segments to be retrieved corresponding to *W] can be represented as search_data <2> <j>< *W-1:0>, where 0≤j<M, j is an integer, and the bit width of each data segment to be retrieved is also . *W can be obtained from the 2nd*M-th of the cached parallel data data_in_buffer<2*M-1:0> corresponding to the target clock cycle. *Starting with bit W-1, extract a data segment of W bits in width, and offset by one bit each time, until M data segments to be retrieved are obtained;

[0107] SynCode, the delimiting reference data segment mentioned above <3> = D[ The multiple data segments to be retrieved corresponding to *W-1:0] can be represented as search_data <3> <j>< *W-1:0>, where 0≤j<M, j is an integer, and the bit width of each data segment to be retrieved is also . *W can be obtained from the 2*M- of the cached parallel data data_in_buffer<2*M-1:0> corresponding to the target clock cycle. *Starting with bit W-1, extract a data segment of width W, and offset by one bit each time, until M data segments to be retrieved are obtained.

[0108] With search_data <0> <0> For example, search_data <0> <0> <= data_in_buffer<2*M-1:2*M- *W> indicates that the data from the 2*M-1th bit to the 2*M-th bit in data_in_buffer<2*M-1:0> will be stored in the buffer. *W bits represent data_in_buffer<2*M-1:2*M- *W> is assigned the value search_data <0> <0> .

[0109] Based on the above splitting and shifting selection methods, if a searchable data segment that is the same as its respective delimiting reference data segment can be found, then the searchable data segments that are the same as their respective delimiting reference data segments are in the same position, that is, the values ​​of j are the same.

[0110] In the above embodiments, by splitting the preset delimiter and performing a certain width shift selection on the cached parallel data, the local cached parallel data obtained by the shift selection is delimited based on the data segment of the split part of the preset delimiter. This provides more decision criteria for subsequently determining the position of the preset delimiter in the cached parallel data, and improves the accuracy and effectiveness of the delimitation retrieval.

[0111] S240: Based on each delimitation reference data segment, search for multiple data segments to be searched corresponding to each delimitation reference data segment to obtain the first delimitation indication information corresponding to each delimitation reference data segment.

[0112] In this embodiment, each delimited reference data segment is used to search multiple data segments corresponding to each delimited reference data segment. The search determines whether any data segment identical to the corresponding delimited reference data segment exists among these multiple data segments, thus determining the position of each delimited reference data segment in the cached parallel data corresponding to the target clock cycle. That is, the first delimitation indication information corresponding to each delimited reference data segment can indicate whether a data segment identical to the corresponding delimited reference data segment exists in the cached parallel data corresponding to the target clock cycle or among the multiple data segments corresponding to each delimited reference data segment. It also indicates the position of this data segment within the multiple data segments corresponding to the corresponding delimited reference data segment or within the cached parallel data corresponding to the target clock cycle.

[0113] In the embodiments of this application, the first delimitation indication information corresponding to each of the multiple delimitation reference data segments provides more decision-making basis for subsequently determining the position of the complete preset delimiter in the cached parallel data, thereby improving the accuracy and effectiveness of delimitation retrieval.

[0114] In one embodiment of this application, such as Figure 3 As shown, step S240 can be implemented as follows:

[0115] S241: Perform bit matching between each of the multiple data segments to be retrieved corresponding to each delimited reference data segment and the corresponding delimited reference data segment to obtain multiple matching results corresponding to each delimited reference data segment.

[0116] Based on the fact that the bit width or / length of each data segment to be retrieved in the multiple data segments corresponding to each delimiting reference data segment is the same as the bit width / length of the corresponding delimiting reference data segment, each data segment to be retrieved in the multiple data segments corresponding to each delimiting reference data segment can be compared and matched bit by bit with the corresponding delimiting reference data segment to obtain multiple matching results corresponding to each delimiting reference data segment. Each matching result indicates whether a data segment to be retrieved is the same as the corresponding delimiting reference data segment. Here, "same" means that the data on each bit is the same, that is, completely identical.

[0117] Optionally, the matching results can also indicate the degree of similarity between a data segment to be retrieved and the corresponding delimited reference data segment. The degree of similarity can be characterized by the proportion of identical bits in the data.

[0118] S242: Based on multiple matching results corresponding to each delimitation reference data segment, determine the first delimitation indication information corresponding to each delimitation reference data segment.

[0119] Feasibly, the first delimiting indication information corresponding to each delimiting reference data segment may include indication identification information and delimiting position information; the indication identification information indicates whether there is a searchable data segment identical to the corresponding delimiting reference data segment among the multiple searchable data segments corresponding to the corresponding delimiting reference data segment; the delimiting position information indicates the position of the searchable data segment identical to the corresponding delimiting reference data segment in the cached parallel data when the indication identification information indicates that there is a searchable data segment identical to the corresponding delimiting reference data segment among the multiple searchable data segments corresponding to the corresponding delimiting reference data segment.

[0120] For example, based on the aforementioned exemplary embodiment, in the delimitation reference data segment SynCode <0> The corresponding multiple search data segments search_data <0> <j>If the search_data segment to be retrieved exists in the search_data segment... <0> <32> With SynCode <0> If they are the same, it indicates that the delimited reference data segment SynCode is being defined. <0> It exists in the cached parallel data data_in_buffer<2*M-1:0> corresponding to the target clock cycle, and its position in the cached parallel data data_in_buffer<2*M-1:0> is 32, which can be used to define the delimited reference data segment SynCode. <0> The corresponding indicator flag information Match_flag0 = 1, and the delimiting reference data segment SynCode is set. <0> The corresponding delimiting location information is Match_ID0 = 32;

[0121] In the delimiting reference data segment SynCode <1> The corresponding multiple data segments to be inspected, search_data <1> <j>If it exists in the array when search_data <1> <32> = SynCode <1> This indicates that the delimited reference data segment SynCode is... <1> It exists in the cached parallel data data_in_buffer<2*M-1:0> corresponding to the target clock cycle, and its position in the cached parallel data data_in_buffer<2*M-1:0> is 32, which can be used to define the delimited reference data segment SynCode. <1> The corresponding indicator flag information Match_flag1 = 1, and the delimiting reference data segment SynCode is set. <1> The corresponding delimiting location information is Match_ID1=32;

[0122] Similarly, if the delimiting reference data segment SynCode<0~3> is located in its respective multiple search data segments search_data<0~3>... <j>If a matching data segment can be found in each delimiting reference data segment, then the first delimiting indication information corresponding to each delimiting reference data segment includes a set of indication flag information Match_flag and delimiting position information Match_ID. If no matching data segment can be found, the indication flag information Match_flag can be set to 0.

[0123] S250: Based on the first delimitation indication information corresponding to each delimitation reference data segment and the decision window corresponding to the target clock cycle, determine the second delimitation indication information corresponding to the cached parallel data.

[0124] The current duration of the decision window corresponding to the target clock cycle is determined based on the second delimitation indication information corresponding to the target clock cycle in the previous receiving round.

[0125] In this embodiment, the first delimiting indication information corresponding to each of the multiple delimiting reference data segments provides more decision-making basis for determining the position of the complete preset delimiter in the cached parallel data. This embodiment can, within the current duration of the decision window corresponding to the target clock cycle (i.e., the effective duration of the decision window corresponding to the target clock cycle in the current reception round), comprehensively decide and evaluate whether there exists a data segment (hereinafter referred to as the target data segment) in the cached parallel data corresponding to the target clock cycle that is the same as or similar to the entire preset delimiter, based on the first delimiting indication information corresponding to each delimiting reference data segment. If such a data segment exists, the position of the target data segment in the cached parallel data corresponding to the target clock cycle can also be indicated. That is, the second delimiting indication information corresponding to the aforementioned cached parallel data can indicate whether there is a target data segment in the cached parallel data corresponding to the target clock cycle that is the same as or similar to the preset delimiter, and can also indicate the position of the target data segment in the cached parallel data corresponding to the target clock cycle.

[0126] In this embodiment, by comprehensively adjudicating and evaluating whether a target data segment identical or similar to the entire preset delimiter exists in the cached parallel data corresponding to the target clock cycle based on the first delimiting indication information corresponding to each delimiting reference data segment, the preset delimiter in the cached parallel data corresponding to the target clock cycle can be retrieved and located even if the preset delimiter is disturbed or shifted to a certain extent, thereby enabling stable and accurate timing alignment. The bit width of the delimiting reference data segment and the specific adjudication strategy reflect the fault tolerance capability provided by this embodiment.

[0127] In another embodiment of this application, the above method may further include:

[0128] S251: In the first receiving round, if the indication information in the first delimitation indication information corresponding to each delimitation reference data segment indicates that there is a searchable data segment with the same name as the corresponding delimitation reference data segment among the multiple searchable data segments corresponding to the corresponding delimitation reference data segment, then based on the delimitation position information in the first delimitation indication information corresponding to each delimitation reference data segment, the second delimitation indication information corresponding to the cached parallel data is determined; the second delimitation indication information corresponding to the cached parallel data indicates that there is a target data segment with the same name as the preset delimiter in the cached parallel data, and indicates the position of the target data segment in the cached parallel data.

[0129] In other words, if a data segment identical to the corresponding delimiting reference data segment is found among multiple data segments to be retrieved corresponding to each delimiting reference data segment (at this time, the indicator flag information Match_flag corresponding to each delimiting reference data segment can all be 1), then it can be directly determined that a pre-delimited symbol exists in the cached parallel data corresponding to the target clock cycle. Then, the position of the pre-delimited symbol (which is also the target data segment) in the cached parallel data corresponding to the target clock cycle can be determined according to the delimiting position information Match_ID corresponding to each delimiting reference data segment, and it can be recorded as Select_ID.

[0130] In an optional implementation, if the indication information in the first delimitation indication information corresponding to each delimitation reference data segment indicates that there is a searchable data segment identical to the corresponding delimitation reference data segment among the multiple searchable data segments corresponding to the corresponding delimitation reference data segment, step S251 may further include:

[0131] S2511: Perform a consistency check on the delimitation location information in the first delimitation indication information corresponding to each delimitation reference data segment, and obtain the location consistency check result.

[0132] In other words, the position consistency test result indicates whether the delimitation position information in the first delimitation indication information corresponding to each delimitation reference data segment is the same.

[0133] S2512: If the position consistency test result indicates that all delimited position information is the same, then each delimited position information shall be used as the second delimited indication information corresponding to the cached parallel data.

[0134] The accuracy of the Select_ID data can be improved by checking the location consistency.

[0135] In one embodiment of this application, specifically, the first delimitation indication information corresponding to each delimitation reference data segment includes indication identification information and delimitation location information, and step S250 may include:

[0136] S252: Within the current duration of the adjudication window corresponding to the target clock cycle, if the indication information in the first delimitation indication information corresponding to each delimitation reference data segment does not completely indicate that there is a searchable data segment with the same characteristics as the corresponding delimitation reference data segment among the multiple searchable data segments corresponding to the corresponding delimitation reference data segment, then the indication information in the first delimitation indication information corresponding to each delimitation reference data segment is statistically analyzed to obtain the identification statistics data.

[0137] It is feasible that when the Match_flag in the first delimitation indication information is 1, it indicates that among the multiple data segments to be retrieved corresponding to the corresponding delimitation reference data segment, there exists a data segment to be retrieved that is identical to the corresponding delimitation reference data segment; when the Match_flag in the first delimitation indication information is 0, it indicates that among the multiple data segments to be retrieved corresponding to the corresponding delimitation reference data segment, there is no data segment to be retrieved that is identical to the corresponding delimitation reference data segment. Since the indication flags in the first delimitation indication information corresponding to each delimitation reference data segment do not completely indicate the existence of a data segment to be retrieved that is identical to the corresponding delimitation reference data segment among the multiple data segments to be retrieved corresponding to the corresponding delimitation reference data segment, some indication flags in the first delimitation indication information corresponding to each delimitation reference data segment may have a Match_flag of 1, while others may have a Match_flag of 0.

[0138] It is feasible to identify the statistical data, which can indicate the number of indication flags with Match_flag set to 1 in the first delimitation indication information corresponding to each delimitation reference data segment, as well as the delimitation reference data segment corresponding to Match_flag set to 1.

[0139] S253: Based on the adjudication strategy corresponding to the identifier statistics and the delimitation position information in the first delimitation indication information corresponding to each delimitation reference data segment, the second delimitation indication information corresponding to the cached parallel data is obtained; the second delimitation indication information corresponding to the cached parallel data indicates that there is a target data segment in the cached parallel data that is similar to the preset delimiter, and indicates the position of the target data segment in the cached parallel data.

[0140] The adjudication strategy corresponding to the identification statistics can be designed according to specific business needs. In this way, even if the indicator information in the first delimitation indication information corresponding to each delimitation reference data segment does not completely indicate that there is a searchable data segment with the same name as the corresponding delimitation reference data segment among multiple searchable data segments corresponding to the corresponding delimitation reference data segment, the preset delimitation symbol can be retrieved and located, thereby dealing with a certain degree of disturbance or offset.

[0141] For example, based on the aforementioned exemplary embodiment, the number of times the four Match_flags are 1 is counted and denoted as the identifier statistics Match_flag_num; when Match_flag_num = 3,

[0142] If Match_flag0 = 1, Match_flag1 = 1, and Match_ID0 = Match_ID1, then Select_ID <= Match_ID0, which means Match_ID0 is assigned to Select_ID.

[0143] If Match_flag0=1, Match_flag2 = 1, Match_ID0 = Match_ID2, then Select_ID<=Match_ID0;

[0144] If Match_flag0=1, Match_flag3= 1, Match_ID0 = Match_ID3, then Select_ID<=Match_ID0;

[0145] If Match_flag0=1, Match_flag2=1, and Match_ID1 = Match_ID2, then Select_ID<=Match_ID1;

[0146] If Match_flag1 = 1, Match_flag3 = 1, and Match_ID1 = Match_ID3, then Select_ID <= Match_ID1;

[0147] If Match_flag2 = 1, Match_flag3 = 1, and Match_ID2 = Match_ID3, then Select_ID <= Match_ID2.

[0148] When Match_flag_num = 2, the corresponding decision strategy can be executed to determine Select_ID. Alternatively, when Match_flag_num ≤ 2, it can be considered that the error in determining Select_ID is large, so timing alignment of the target clock cycle can be skipped.

[0149] In one embodiment of this application, step S250 may optionally include:

[0150] S254: Within the current duration of the adjudication window corresponding to the target clock cycle, if the indication information in the first delimitation indication information corresponding to each delimitation reference data segment indicates that there is no data segment to be retrieved that is the same as the corresponding delimitation reference data segment among the multiple data segments to be retrieved corresponding to the corresponding delimitation reference data segment, then the timing alignment of the target clock cycle is skipped.

[0151] Alternatively, the cached parallel data corresponding to the target clock cycle can be redefined by expanding the cached data range, and the above delimitation retrieval process can be re-executed.

[0152] S260: When the second delimiting indication information corresponding to the cached parallel data indicates that there is a target data segment in the cached parallel data corresponding to the target clock cycle that is the same as or similar to the preset delimiter, the cached parallel data is extracted according to the second delimiting indication information corresponding to the cached parallel data to obtain the aligned parallel data corresponding to the target clock cycle.

[0153] In this embodiment of the application, the cached parallel data is extracted into continuous data segments according to the second delimiting indication information corresponding to the cached parallel data. The bit width of the aligned parallel data corresponding to the target clock cycle is the same as the bit width of the parallel data corresponding to the target clock cycle. The aligned parallel data corresponding to the target clock cycle is a data segment with a bit width starting from the target data segment (or it can be considered as starting from the preset delimiter).

[0154] In one embodiment of this application, if the second delimiting indication information Select_ID corresponding to the cached parallel data is k (0≤k<M), it indicates that there is a target data segment in the cached parallel data corresponding to the target clock cycle that is the same as or similar to the preset delimiter, and the position of the target data segment in the cached parallel data corresponding to the target clock cycle is data_in_buffer<2*Mk-1: 2*MWk>. Then, starting from the 2*Mk-1th bit of the cached parallel data data_in_buffer<2*M-1:0> corresponding to the target clock cycle, M bits of data can be extracted to obtain the M-bit wide aligned parallel data data_out corresponding to the target clock cycle. <m-1:0>When the target clock cycle is the i-th clock cycle, the aligned parallel data corresponding to the i-th clock cycle. , that is yes The data segment from bit 2*Mk-1 to bit Mk.

[0155] In one embodiment of this application, the above method may further include:

[0156] S310: When the second delimitation indication information corresponding to the cached parallel data indicates that the target data segment is located at the boundary position of the parallel data corresponding to the target clock cycle, determine the first duration of the decision window.

[0157] The boundary position refers to the highest T bits or the lowest T bits of the above parallel data. T can be 1 or 2, etc., and there is no restriction here.

[0158] For example, if the parallel data bit width corresponding to the target clock cycle is M, and the second delimiting indication information Select_ID = M-1 or Select_ID = 0 corresponding to the buffered parallel data, then the determined target data segment can be considered to be located at the boundary position of the parallel data corresponding to the current clock. In subsequent receiving rounds, due to external environmental disturbances or errors in the data stream, the parallel data corresponding to a certain clock cycle may experience a bit offset or error, which may affect the retrieval result of the preset delimiter in the buffered parallel data corresponding to that clock cycle. For example, the preset delimiter may not be retrieved, or the aligned parallel data of the specified bit width may not be extracted.

[0159] For example, when the second delimiting indication information Select_ID = 0 corresponding to the cached parallel data, it means that the target data segment is in the high bit of the parallel data corresponding to the target clock cycle. In subsequent reception rounds, the problem of left offset may easily occur. Therefore, the first duration of the decision window can be set to three clock cycles.

[0160] For example, when the second delimiting indication information Select_ID = M-1 corresponding to the cached parallel data, it indicates that the target data segment is in the low bit of the parallel data corresponding to the target clock cycle. In subsequent reception rounds, the problem of right offset is likely to occur. Therefore, the first duration of the decision window can be set to three clock cycles.

[0161] S310: When the second delimitation indication information corresponding to the cached parallel data indicates that the target data segment is located at the non-boundary position of the parallel data corresponding to the target clock cycle, determine the second duration of the decision window.

[0162] Non-boundary locations refer to the portion of the parallel data other than the boundary locations mentioned above.

[0163] For example, if the parallel data bit width corresponding to the target clock cycle is M, and the second delimiting indication information corresponding to the buffered parallel data is 0 < Select_ID < M-1, even if a bit offset or error occurs, the preset delimiter will still appear in the buffered parallel data corresponding to the target clock cycle in subsequent receiving rounds. And according to the determined position of the target data segment, M-bit width aligned parallel data can be extracted. Therefore, the second duration of the adjudication window corresponding to the target clock cycle in subsequent receiving rounds can be set to one clock cycle.

[0164] The aforementioned first or second duration is the next duration of the decision window corresponding to the target clock cycle in the next reception round. In subsequent reception rounds, by dynamically adjusting the duration of the decision window corresponding to the target clock cycle in the subsequent reception rounds, sufficient opportunity is provided to determine or update the second delimitation indication information based on the cached parallel data corresponding to the target clock cycle in the subsequent reception rounds, thereby ensuring the effectiveness and accuracy of delimitation retrieval.

[0165] In one embodiment of this application, taking the current reception round as an example, the control of the current duration of the adjudication window corresponding to the target clock cycle can be achieved through the following steps:

[0166] S410: After determining the second delimitation indication information corresponding to the target clock cycle in the previous reception round, start the target counter corresponding to the target clock cycle.

[0167] The initial value of the target counter is the same as the length of the clock cycle of the parallel data stream; the value of the target counter is decremented by 1 every clock cycle.

[0168] S420: When the value of the target counter decreases to a preset threshold corresponding to the current duration, the adjudication window corresponding to the target clock cycle is opened until the target counter finishes counting and the adjudication window corresponding to the target clock cycle is closed, so as to determine the second delimitation indication information corresponding to the buffered parallel data in the current receiving round within the current duration of the adjudication window corresponding to the target clock cycle.

[0169] For example, when the current duration is one clock cycle, the preset threshold is 0; when the current duration is three clock cycles, the preset threshold is 2. It is feasible to trigger a pulse signal (Loadtimer_flag) after determining the second delimitation indication information corresponding to the target clock cycle in the previous reception round. When Loadtimer_flag=1, the target counter corresponding to the target clock cycle is started. The target counter can be a decrementing counter, with its initial value being the same as the length of the clock cycle of the parallel data stream. When the pulse signal arrives, the target counter begins to decrement, and its value automatically decreases by 1 every clock cycle. If the second delimiting indication information Select_ID corresponding to the target clock cycle in the previous reception round indicates that the preset delimiter is not at the boundary position, then when the value of the target counter decreases to 0, a decision window of one clock cycle will be generated. If the second delimiting indication information Select_ID corresponding to the target clock cycle in the previous reception round indicates that the preset delimiter is at the boundary position, then when the value of the target counter is 2, 1, or 0, a decision window of one clock cycle will be generated respectively, thus forming a decision window with a current duration of three clock cycles. Furthermore, in the current reception round, after determining the second delimiting indication information corresponding to the buffered parallel data, a target counter corresponding to the target clock cycle will also be generated to control the duration of the decision window corresponding to the target clock cycle in the next reception round as the next duration.

[0170] In one embodiment of this application, in order to identify and remove pseudo-random codes in the parallel data stream to achieve time alignment of valid data, a timer or clock cycle counter l can be set. When the parallel data stream is received, a pulse signal is generated synchronously. The pulse signal is used to trigger the timer and set an initial value timer_count = L, which corresponds to the length of the pseudo-random code (L M bits wide, occupying L clock cycles). After each clock cycle, timer_count is decremented by 1. When timer_count is 0, delimitation search and data alignment processing are performed clock cycle by clock cycle.

[0171] Figure 4 This is a schematic diagram of the structure of a hardware implementation module provided in an embodiment of this application. For example... Figure 4 As shown, the parallel data buffer pool is used for parallel data data_in of M bits width for each clock cycle based on the selection window corresponding to the current reception round. <m-1:0>Cache merging is performed, such as merging the parallel data corresponding to the target clock cycle and the next clock cycle to obtain the cached parallel data data_in_buffer<2*M-1:0> corresponding to the target clock cycle. The feature location retrieval module is used to search for the delimiter D in the cached parallel data. First, the delimiter D is split to obtain multiple delimiting reference data segments SynCode<0~3>. Then, multiple searchable data segments search_data<0~3> corresponding to each of the multiple delimiting reference data segments are selected from the cached parallel data. The first delimiting indication information corresponding to each delimiting reference data segment is retrieved and output. The first delimiting indication information corresponding to each delimiting reference data segment includes a set of Match_flag and Match_ID. Figure 4 The diagram shows four sets of Match_flag and Match_ID. The alignment adjudication module is used to determine the second delimiting indication information Select_ID corresponding to the buffered parallel data within the current duration of the adjudication window corresponding to the target clock cycle, based on the multiple sets of output Match_flag and Match_ID. For example, if Match_flag_num ≥ 3, the above second delimiting indication information Select_ID can be determined, and the next duration of the adjudication window Window_D corresponding to the next reception round can be re-determined by triggering a pulse signal (Loadtimer_flag). The sorting module is used to extract data from the buffered parallel data according to the second delimiting indication information Select_ID corresponding to the buffered parallel data to obtain the aligned parallel data Data_out corresponding to the target clock cycle. <m-1:0>The above process can be referred to the foregoing embodiments, and will not be repeated here.

[0172] As can be seen from the above embodiments, the timing alignment method provided in this application determines the buffered parallel data corresponding to the target clock cycle from the parallel data stream corresponding to the current receiving round, wherein the target clock cycle is any clock cycle in the parallel data stream; the scheme provided in this application splits a preset delimiter to obtain multiple delimiting reference data segments, and based on each delimiting reference data segment, shifts and selects the buffered parallel data corresponding to the target clock cycle to obtain multiple data segments to be retrieved corresponding to each delimiting reference data segment, which serve as the objects of delimiting retrieval; the scheme provided in this application, based on each delimiting reference data segment, retrieves the multiple data segments to be retrieved corresponding to each delimiting reference data segment to obtain the first delimiting indication information corresponding to each delimiting reference data segment. Furthermore, based on the first delimiting indication information corresponding to each delimiting reference data segment and the adjudication window corresponding to the target clock cycle, the second delimiting indication information corresponding to the buffered parallel data of the target clock cycle can be determined. The current duration of the adjudication window corresponding to the target clock cycle is determined based on the second delimiting indication information corresponding to the target clock cycle in the previous reception round. If the second delimiting indication information corresponding to the buffered parallel data indicates the presence of a target data segment in the buffered parallel data corresponding to the target clock cycle that is identical or similar to the preset delimiter, the buffered parallel data can be extracted according to the second delimiting indication information to obtain the aligned parallel data corresponding to the target clock cycle, and then accurately deserialized. The scheme provided in this application can accurately perform clock-cycle-by-clock-cycle timing alignment of parallel data streams, and through the dual decomposition and retrieval of the preset delimiter and the buffered parallel data, it can more stably and precisely guarantee the recovery and alignment of data timing when disturbances occur.

[0173] This application also provides a timing alignment device 500, such as... Figure 5 As shown, the device may include:

[0174] The data acquisition module 510 is used to determine the cached parallel data corresponding to the target clock cycle from the parallel data stream corresponding to the current receiving round; the target clock cycle is any clock cycle in the parallel data stream.

[0175] The delimiter splitting module 520 is used to split preset delimiters to obtain multiple delimiter reference data segments;

[0176] The shift selection module 530 is used to shift and select the cached parallel data corresponding to the target clock cycle based on each of the plurality of delimited reference data segments to obtain a plurality of data segments to be retrieved corresponding to each delimited reference data segment.

[0177] The retrieval module 540 is used to retrieve multiple data segments to be retrieved corresponding to each delimitation reference data segment based on each delimitation reference data segment, and to obtain the first delimitation indication information corresponding to each delimitation reference data segment.

[0178] The delimiting module 550 is used to determine the second delimiting indication information corresponding to the cached parallel data based on the first delimiting indication information corresponding to each delimiting reference data segment and the adjudication window corresponding to the target clock cycle; the current duration of the adjudication window corresponding to the target clock cycle is determined based on the second delimiting indication information corresponding to the target clock cycle in the previous receiving round.

[0179] The data extraction module 560 is used to extract the cached parallel data according to the second delimiting indication information corresponding to the cached parallel data when the second delimiting indication information corresponding to the cached parallel data indicates that there is a target data segment in the cached parallel data corresponding to the target clock cycle that is the same as or similar to the preset delimiter, so as to obtain the aligned parallel data corresponding to the target clock cycle.

[0180] In one embodiment of this application, the data acquisition module 510 includes:

[0181] A data caching unit is used to determine the parallel data corresponding to the target clock cycle and the parallel data corresponding to the adjacent clock cycle relative to the target clock cycle based on the selection window corresponding to the current receiving round and the parallel data stream corresponding to the current receiving round.

[0182] The data merging unit is used to merge the parallel data corresponding to the target clock cycle and the parallel data corresponding to the adjacent clock cycle to obtain the cached parallel data corresponding to the target clock cycle.

[0183] In one embodiment of this application, the delimiter splitting module 520 includes:

[0184] An equal division unit is used to equally divide the preset delimiter to obtain multiple delimiting reference data segments. The multiple delimiting reference data segments do not overlap with each other, and the multiple delimiting reference data segments form a complete preset delimiter.

[0185] In one embodiment of this application, the delimiter splitting module 520 further includes:

[0186] The quantity determination unit is used to determine the number of the delimiting reference data segments based on the length of the parallel data and the length of the preset delimiter.

[0187] In one embodiment of this application, the shift selection module 530 includes:

[0188] The starting selection position determination unit is used to determine the starting selection position corresponding to each delimited reference data segment in the cached parallel data;

[0189] The shift extraction unit is used to extract a continuous data segment of a preset length from the cached parallel data based on the starting selection position, and to move the starting selection position bit by bit to perform multiple extractions to obtain multiple data segments to be retrieved corresponding to each delimited reference data segment.

[0190] The preset length is the same as the length of the corresponding delimited reference data segment.

[0191] In one embodiment of this application, the retrieval module 540 includes:

[0192] A bit matching unit is used to perform bit matching between each of the multiple data segments to be retrieved corresponding to each delimited reference data segment and the corresponding delimited reference data segment to obtain multiple matching results corresponding to each delimited reference data segment.

[0193] The first indication determination unit is used to determine the first delimitation indication information corresponding to each delimitation reference data segment based on multiple matching results corresponding to each delimitation reference data segment;

[0194] The first delimiting indication information corresponding to each delimiting reference data segment includes indication identification information and delimiting position information; the indication identification information indicates whether there is a searchable data segment identical to the corresponding delimiting reference data segment among the multiple searchable data segments corresponding to the corresponding delimiting reference data segment; the delimiting position information indicates the position of the searchable data segment identical to the corresponding delimiting reference data segment in the cached parallel data when the indication identification information indicates that there is a searchable data segment identical to the corresponding delimiting reference data segment among the multiple searchable data segments corresponding to the corresponding delimiting reference data segment.

[0195] In one embodiment of this application, the device 500 further includes:

[0196] The second indication determination unit is configured to, in the first receiving round, if the indication identifier information in the first delimitation indication information corresponding to each delimitation reference data segment indicates that there is a searchable data segment identical to the corresponding delimitation reference data segment among the multiple searchable data segments corresponding to the corresponding delimitation reference data segment, then, based on the delimitation position information in the first delimitation indication information corresponding to each delimitation reference data segment, determine the second delimitation indication information corresponding to the cached parallel data; the second delimitation indication information corresponding to the cached parallel data indicates that there is a target data segment identical to the preset delimiter in the cached parallel data, and indicates the position of the target data segment in the cached parallel data.

[0197] In one embodiment of this application, the delimiting module 550 is further configured to skip timing alignment of the target clock cycle if, within the current duration of the adjudication window corresponding to the target clock cycle, the indication information in the first delimiting indication information corresponding to each delimiting reference data segment indicates that there is no searchable data segment identical to the corresponding delimiting reference data segment among the multiple searchable data segments corresponding to the corresponding delimiting reference data segment.

[0198] In one embodiment of this application, the delimiting module 550 includes:

[0199] The statistics unit is used to, within the current duration of the adjudication window corresponding to the target clock cycle, if the indication identifier information in the first delimitation indication information corresponding to each delimitation reference data segment does not completely indicate that there is a searchable data segment with the same characteristics as the corresponding delimitation reference data segment among the multiple searchable data segments corresponding to the corresponding delimitation reference data segment, then to perform statistics on the indication identifier information in the first delimitation indication information corresponding to each delimitation reference data segment to obtain identifier statistics data.

[0200] The third indication determination unit is used to obtain the second delimitation indication information corresponding to the cached parallel data based on the adjudication strategy corresponding to the identification statistics and the delimitation position information in the first delimitation indication information corresponding to each delimitation reference data segment; the second delimitation indication information corresponding to the cached parallel data indicates that there is a target data segment in the cached parallel data that is similar to the preset delimiter, and indicates the position of the target data segment in the cached parallel data.

[0201] In one embodiment of this application, the device 500 further includes:

[0202] The first window unit is used to determine the first duration of the decision window when the second delimitation indication information corresponding to the cached parallel data indicates that the target data segment is located at the boundary position of the parallel data corresponding to the target clock cycle.

[0203] The second window unit is used to determine the second duration of the decision window when the second delimitation indication information corresponding to the cached parallel data indicates that the target data segment is located at the non-boundary position of the parallel data corresponding to the target clock cycle;

[0204] The first duration or the second duration is the next duration of the decision window corresponding to the target clock cycle in the next reception round.

[0205] In one embodiment of this application, the device 500 further includes:

[0206] The timing start unit is used to start a target counter corresponding to the target clock cycle after determining the second delimitation indication information corresponding to the target clock cycle in the previous receiving round; the initial value of the target counter is the same as the length of the clock cycle of the parallel data stream; the value of the target counter is decremented by 1 after each clock cycle.

[0207] The window persistence unit is used to open the adjudication window corresponding to the target clock cycle when the value of the target counter decreases to a preset threshold corresponding to the current persistence duration, and close the adjudication window corresponding to the target clock cycle after the target counter finishes counting, so as to determine the second delimitation indication information corresponding to the buffered parallel data in the current receiving round within the current persistence duration of the adjudication window corresponding to the target clock cycle.

[0208] In one embodiment of this application, the delimiting module 550 includes:

[0209] The consistency verification unit is used to perform consistency verification on the delimitation position information in the first delimitation indication information corresponding to each delimitation reference data segment, and obtain the position consistency verification result.

[0210] The fourth indication determination unit is used to, when the position consistency test result indicates that each of the delimited position information is the same, use each of the delimited position information as the second delimited indication information corresponding to the cached parallel data.

[0211] In the embodiments of this application, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.

[0212] It should be noted that the apparatus provided in the above embodiments is only illustrated by the division of the above functional modules when implementing its functions. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.

[0213] This application provides a computer device including a processor and a memory. The memory stores at least one instruction or at least one program, which is loaded and executed by the processor to implement a timing alignment method as provided in the above method embodiments.

[0214] Figure 6 A schematic diagram of the hardware structure of a device for implementing a timing alignment method provided in an embodiment of this application is shown. This device may participate in or include the apparatus or system provided in the embodiment of this application. Figure 6 As shown, device 10 may include one or more processors ( Figure 6 The image uses processors 1002a, 1002b, ..., 1002n to illustrate the process. These processors may include, but are not limited to, processing devices such as microprocessors (MCUs) or programmable logic devices (FPGAs), a memory 1004 for storing data, and a transmission device 1006 for communication functions. In addition, it may include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports in the I / O interface), a network interface, a power supply, and / or a camera. Those skilled in the art will understand that... Figure 6 The structure shown is for illustrative purposes only and does not limit the structure of the electronic device described above. For example, device 10 may also include a... Figure 6 The more or fewer components shown, or having the same Figure 6 The different configurations shown.

[0215] It should be noted that the aforementioned one or more processors and / or other data processing circuits are generally referred to herein as "data processing circuits". These data processing circuits may be wholly or partially embodied in software, hardware, firmware, or any other combination thereof. Furthermore, the data processing circuits may be a single, independent processing module, or wholly or partially integrated into any other element within device 10 (or the mobile device). As involved in the embodiments of this application, the data processing circuits serve as a processor control mechanism (e.g., selection of a variable resistor termination path connected to an interface).

[0216] The memory 1004 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the method described in the embodiments of this application. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory 1004, thereby implementing the timing alignment method described above. The memory 1004 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 1004 may further include memory remotely located relative to the processor, and these remote memories can be connected to the device 10 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0217] The transmission device 1006 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of device 10. In one example, the transmission device 1006 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 1006 may be a Radio Frequency (RF) module, used for wireless communication with the Internet.

[0218] The display may be, for example, a touchscreen liquid crystal display (LCD) that allows the user to interact with the user interface of device 10 (or mobile device).

[0219] This application embodiment also provides a computer-readable storage medium, which can be disposed in a server to store at least one instruction or at least one program related to implementing a timing alignment method in the method embodiment. The at least one instruction or the at least one program is loaded and executed by the processor to implement the timing alignment method provided in the above method embodiment.

[0220] Optionally, in this embodiment, the storage medium may be located at at least one of the multiple network servers in a computer network. Optionally, in this embodiment, the storage medium may include, but is not limited to, various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0221] This invention also provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform a timing alignment method provided in the various optional embodiments described above.

[0222] As can be seen from the embodiments of the timing alignment method, apparatus, medium, and device provided in this application, the scheme provided in this application determines the buffered parallel data corresponding to the target clock cycle from the parallel data stream corresponding to the current receiving round, wherein the target clock cycle is any clock cycle in the parallel data stream; the scheme provided in this application splits a preset delimiter to obtain multiple delimiting reference data segments, and based on each delimiting reference data segment, shifts and selects the buffered parallel data corresponding to the target clock cycle to obtain multiple data segments to be retrieved corresponding to each delimiting reference data segment, which serve as the objects of delimiting retrieval; the scheme provided in this application retrieves the multiple data segments to be retrieved corresponding to each delimiting reference data segment based on each delimiting reference data segment, to obtain the data segments to be retrieved corresponding to each delimiting reference data segment. The first delimiting indication information; then, based on the first delimiting indication information corresponding to each delimiting reference data segment and the adjudication window corresponding to the target clock cycle, the second delimiting indication information corresponding to the buffered parallel data of the target clock cycle can be determined, wherein the current duration of the adjudication window corresponding to the target clock cycle is determined based on the second delimiting indication information corresponding to the target clock cycle in the previous receiving round; if the second delimiting indication information corresponding to the buffered parallel data indicates that there is a target data segment in the buffered parallel data corresponding to the target clock cycle that is the same as or similar to the preset delimiter, the buffered parallel data can be extracted according to the second delimiting indication information corresponding to the buffered parallel data to obtain the aligned parallel data corresponding to the target clock cycle, and accurate deserialization processing can be performed. The scheme provided by this application can accurately perform clock cycle-by-clock-cycle timing alignment of parallel data streams, and through the dual splitting and retrieval of preset delimiters and buffered parallel data, it can more stably and precisely ensure the recovery and alignment of data timing when disturbances occur.

[0223] It should be noted that the order of the embodiments described above is merely for descriptive purposes and does not represent the superiority or inferiority of the embodiments. Furthermore, the above description focuses on specific embodiments of this application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps described in the claims can be performed in a different order than that shown in the embodiments and still achieve the desired results. Additionally, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired results. In some implementations, multitasking and parallel processing are also possible or may be advantageous.

[0224] The various embodiments in this application are described in a progressive 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 device, equipment, and storage medium embodiments 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.

[0225] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0226] The above description is only a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application. < / j> < / j> < / j> < / j> < / j> < / j> < / j>

Claims

1. A timing alignment method, characterized in that, The method includes: From the parallel data stream corresponding to the current receiving round, determine the buffered parallel data corresponding to the target clock cycle; the target clock cycle is any clock cycle in the parallel data stream. The preset delimiter is split to obtain multiple delimiting reference data segments; Based on each of the plurality of delimited reference data segments, the cached parallel data corresponding to the target clock cycle is shifted and selected to obtain a plurality of data segments to be retrieved corresponding to each delimited reference data segment; Based on each delimitation reference data segment, multiple data segments to be retrieved corresponding to each delimitation reference data segment are retrieved to obtain the first delimitation indication information corresponding to each delimitation reference data segment. Based on the first delimiting indication information corresponding to each delimiting reference data segment and the adjudication window corresponding to the target clock cycle, the second delimiting indication information corresponding to the cached parallel data is determined; the current duration of the adjudication window corresponding to the target clock cycle is determined based on the second delimiting indication information corresponding to the target clock cycle in the previous reception round. If the second delimiting indication information corresponding to the cached parallel data indicates that there is a target data segment in the cached parallel data corresponding to the target clock cycle that is the same as or similar to the preset delimiter, the cached parallel data is extracted according to the second delimiting indication information corresponding to the cached parallel data to obtain the aligned parallel data corresponding to the target clock cycle. The step of determining the cached parallel data corresponding to the target clock cycle from the parallel data stream corresponding to the current receiving round includes: Based on the selection window corresponding to the current receiving round and the parallel data stream corresponding to the current receiving round, determine the parallel data corresponding to the target clock cycle and the parallel data corresponding to the adjacent clock cycle relative to the target clock cycle; The parallel data corresponding to the target clock cycle and the parallel data corresponding to the adjacent clock cycle are merged to obtain the cached parallel data corresponding to the target clock cycle.

2. The method according to claim 1, characterized in that, The process of splitting the preset delimiter yields multiple delimiting reference data segments, including: The preset delimiter is divided equally to obtain multiple delimiting reference data segments. The multiple delimiting reference data segments do not overlap with each other, and the multiple delimiting reference data segments constitute the complete preset delimiter.

3. The method according to claim 2, characterized in that, The method further includes: The number of delimiting reference data segments is determined based on the length of the parallel data and the length of the preset delimiter.

4. The method according to claim 1, characterized in that, The step involves shifting and selecting the cached parallel data corresponding to the target clock cycle based on each of the plurality of delimited reference data segments to obtain a plurality of data segments to be retrieved corresponding to each delimited reference data segment, including: Determine the starting selection position corresponding to each delimited reference data segment in the cached parallel data; Based on the starting selection position, a continuous data segment of a preset length is extracted from the cached parallel data, and the starting selection position is moved bit by bit to perform multiple extractions to obtain multiple data segments to be retrieved corresponding to each delimited reference data segment. The preset length is the same as the length of the corresponding delimited reference data segment.

5. The method according to claim 1, characterized in that, The step of searching multiple data segments corresponding to each delimited reference data segment based on each delimited reference data segment to obtain first delimited indication information corresponding to each delimited reference data segment includes: Each data segment to be retrieved in the plurality of data segments to be retrieved corresponding to each delimited reference data segment is bit matched with the corresponding delimited reference data segment to obtain a plurality of matching results corresponding to each delimited reference data segment; Based on multiple matching results corresponding to each delimitation reference data segment, the first delimitation indication information corresponding to each delimitation reference data segment is determined; The first delimiting indication information corresponding to each delimiting reference data segment includes indication identification information and delimiting position information; the indication identification information indicates whether there is a searchable data segment identical to the corresponding delimiting reference data segment among the multiple searchable data segments corresponding to the corresponding delimiting reference data segment; the delimiting position information indicates the position of the searchable data segment identical to the corresponding delimiting reference data segment in the cached parallel data when the indication identification information indicates that there is a searchable data segment identical to the corresponding delimiting reference data segment among the multiple searchable data segments corresponding to the corresponding delimiting reference data segment.

6. The method according to claim 5, characterized in that, The method further includes: In the first receiving round, if the indication information in the first delimiting indication information corresponding to each delimiting reference data segment indicates that there is a searchable data segment identical to the corresponding delimiting reference data segment among the multiple searchable data segments corresponding to the corresponding delimiting reference data segment, then based on the delimiting position information in the first delimiting indication information corresponding to each delimiting reference data segment, the second delimiting indication information corresponding to the cached parallel data is determined; the second delimiting indication information corresponding to the cached parallel data indicates that there is a target data segment identical to the preset delimiter in the cached parallel data, and indicates the position of the target data segment in the cached parallel data.

7. The method according to claim 5, characterized in that, The step of determining the second delimiting indication information corresponding to the cached parallel data based on the first delimiting indication information corresponding to each delimiting reference data segment and the decision window corresponding to the target clock cycle includes: If, within the current duration of the adjudication window corresponding to the target clock cycle, the indication information in the first delimitation indication information corresponding to each delimitation reference data segment indicates that there is no data segment to be retrieved that is the same as the corresponding delimitation reference data segment among the multiple data segments to be retrieved corresponding to the corresponding delimitation reference data segment, then the timing alignment of the target clock cycle is skipped.

8. The method according to claim 5, characterized in that, The step of determining the second delimiting indication information corresponding to the cached parallel data based on the first delimiting indication information corresponding to each delimiting reference data segment and the decision window corresponding to the target clock cycle includes: Within the current duration of the adjudication window corresponding to the target clock cycle, if the indication identifier information in the first delimitation indication information corresponding to each delimitation reference data segment does not completely indicate that there is a searchable data segment with the same characteristics as the corresponding delimitation reference data segment among the multiple searchable data segments corresponding to the corresponding delimitation reference data segment, then the indication identifier information in the first delimitation indication information corresponding to each delimitation reference data segment is statistically analyzed to obtain the identifier statistical data. Based on the adjudication strategy corresponding to the identifier statistics and the delimitation position information in the first delimitation indication information corresponding to each delimitation reference data segment, the second delimitation indication information corresponding to the cached parallel data is obtained; the second delimitation indication information corresponding to the cached parallel data indicates that there is a target data segment in the cached parallel data that is similar to the preset delimiter, and indicates the position of the target data segment in the cached parallel data.

9. The method according to any one of claims 6 or 8, characterized in that, The method further includes: When the second delimitation indication information corresponding to the cached parallel data indicates that the target data segment is located at the boundary position of the parallel data corresponding to the target clock cycle, the first duration of the decision window is determined. When the second delimitation indication information corresponding to the cached parallel data indicates that the target data segment is located at a non-boundary position of the parallel data corresponding to the target clock cycle, the second duration of the decision window is determined. The first duration or the second duration is the next duration of the decision window corresponding to the target clock cycle in the next reception round.

10. The method according to claim 1, characterized in that, The method further includes: After determining the second delimiting indication information corresponding to the target clock cycle in the previous receiving round, a target counter corresponding to the target clock cycle is started; the initial value of the target counter is the same as the length of the clock cycle of the parallel data stream; the value of the target counter is decremented by 1 after each clock cycle. When the value of the target counter decreases to a preset threshold corresponding to the current duration, the adjudication window corresponding to the target clock cycle is opened until the target counter finishes counting and the adjudication window corresponding to the target clock cycle is closed, so as to determine the second delimitation indication information corresponding to the buffered parallel data in the current receiving round within the current duration of the adjudication window corresponding to the target clock cycle.

11. The method according to claim 6, characterized in that, The step of determining the second delimiting indication information corresponding to the cached parallel data based on the delimiting position information in the first delimiting indication information corresponding to each delimiting reference data segment includes: A consistency check is performed on the delimitation location information in the first delimitation indication information corresponding to each delimitation reference data segment to obtain the location consistency check result. If the location consistency test result indicates that all the delimiting location information is the same, the delimiting location information shall be used as the second delimiting indication information corresponding to the cached parallel data.

12. A timing alignment device, characterized in that, The device includes: The data acquisition module is used to determine the cached parallel data corresponding to the target clock cycle from the parallel data stream corresponding to the current receiving round; the target clock cycle is any clock cycle in the parallel data stream. The delimiter splitting module is used to split preset delimiters to obtain multiple delimiter reference data segments; The shift selection module is used to shift and select the cached parallel data corresponding to the target clock cycle based on each of the plurality of delimited reference data segments to obtain a plurality of data segments to be retrieved corresponding to each delimited reference data segment. The retrieval module is used to retrieve multiple data segments to be retrieved corresponding to each delimitation reference data segment based on each delimitation reference data segment, and to obtain the first delimitation indication information corresponding to each delimitation reference data segment. The delimiting module is used to determine the second delimiting indication information corresponding to the cached parallel data based on the first delimiting indication information corresponding to each delimiting reference data segment and the adjudication window corresponding to the target clock cycle; the current duration of the adjudication window corresponding to the target clock cycle is determined based on the second delimiting indication information corresponding to the target clock cycle in the previous reception round. The data extraction module is used to extract the cached parallel data according to the second delimiting indication information corresponding to the cached parallel data when the second delimiting indication information corresponding to the cached parallel data indicates that there is a target data segment in the cached parallel data corresponding to the target clock cycle that is the same as or similar to the preset delimiter, so as to obtain the aligned parallel data corresponding to the target clock cycle. The data acquisition module includes: A data caching unit is used to determine the parallel data corresponding to the target clock cycle and the parallel data corresponding to the adjacent clock cycle relative to the target clock cycle based on the selection window corresponding to the current receiving round and the parallel data stream corresponding to the current receiving round. The data merging unit is used to merge the parallel data corresponding to the target clock cycle and the parallel data corresponding to the adjacent clock cycle to obtain the cached parallel data corresponding to the target clock cycle.

13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one instruction or at least one program segment, which is loaded and executed by a processor to implement a timing alignment method as described in any one of claims 1 to 11.

14. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one instruction or at least one program, the at least one instruction or the at least one program being loaded and executed by the processor to implement a timing alignment method as described in any one of claims 1 to 11.