Delimitation method, apparatus and device, and readable storage medium
By introducing delimiters and adjustment code groups into the PMA training sequence, the problem of insufficient accuracy in the delimiting process is solved, achieving more efficient delimiting and scrambling code synchronization, and reducing hardware complexity and startup time.
Patent Information
- Application Number
- CN202410909898.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-05
- Publication Date
- 2026-01-06
AI Technical Summary
In the field of communication technology, the accuracy of the delimitation process in existing technologies is affected by the link bit error rate, resulting in poor reliability of PMA training and scrambling synchronization effect, and increasing power-on startup time.
By introducing delimiters into the PMA training sequence, the inhomogeneity is adjusted using non-data code groups or adjustment code groups, and the accuracy of the delimiters is ensured by identifying the number, order, and content of the delimiters and matching them with the reference delimiters. Accurate delimiting is achieved by combining the link bit error rate and the fixed delimiter distance.
It improves the accuracy of delimitation, reduces the impact of link errors on the delimitation results, and reduces hardware complexity and power-on startup time.
Smart Images

Figure CN121283564A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to delimitation methods, apparatus, devices and readable storage media. Background Technology
[0002] In the field of communication technology, before two devices can communicate data, physical medium attachment (PMA) training is required. During PMA training, the receiving end of both devices delimits the received signals. Delimitation refers to dividing the received signals and determining the boundaries of different signal groups. The results of the delimitation can be used in other steps during PMA training, such as scrambling synchronization, to complete the PMA training process. Summary of the Invention
[0003] This application provides a delimitation method, apparatus, device, and readable storage medium to improve the accuracy of delimitation. The technical solution is as follows:
[0004] In a first aspect, a delimitation method is provided, the method comprising: receiving a PMA training sequence, the PMA training sequence including first data and second data, wherein a delimiter is included between the first data and the second data; identifying the delimiter in the PMA training sequence; and delimiting the data in the PMA training sequence according to the delimiter to obtain a delimitation result.
[0005] In this application, a delimiter is included between the first data and the second data in the PMA training sequence used for delimitation, so that the device receiving the PMA training sequence can identify the first data and the second data separated by the delimiter by recognizing the delimiter in the PMA training sequence, thereby achieving delimitation of the data in the PMA training sequence and obtaining an accurate delimitation result.
[0006] In one possible implementation, the delimiter includes non-data code groups. Identifying delimiters in the PMA training sequence includes: acquiring non-data code groups in the training sequence; and determining a delimiter based on the first number of non-data code groups, in response to each of the first number of non-data code groups being identical to a first number of reference code groups in the reference delimiter. Identifying delimiters in the PMA training sequence based on reference delimiters ensures that the identified delimiters match the reference delimiters, thereby improving the accuracy of the determined delimiters and thus guaranteeing the accuracy of the delimiting.
[0007] Secondly, a delimitation method is provided. The method includes: receiving a PMA training sequence, which includes first data and second data, with a non-data code group between the first and second data; and delimiting the data in the PMA training sequence based on the non-data code group if the non-data code group is a delimiter in the PMA training sequence, thereby obtaining a delimitation result. In this application, the received PMA training sequence includes first data, second data, and a non-data code group, which may or may not be a delimiter. Therefore, after identifying the non-data code group in the PMA training sequence, it is further determined whether the non-data code group is a delimiter, and if it is determined that the non-data code group is a delimiter, delimitation is then performed based on the non-data code group to ensure the accuracy of the delimitation result.
[0008] In one possible implementation, when the non-data codegroups are delimiters in the PMA training sequence, before delimiting the data in the PMA training sequence based on the non-data codegroups and obtaining the delimiting result, the following steps are taken: if the number of non-data codegroups identical to the reference codegroup in the non-data codegroups is greater than or equal to a first number, the non-data codegroup between the first data and the second data is determined as the delimiter, and the reference codegroup is the codegroup in the reference delimiter. When the number of non-data codegroups identical to the reference delimiter in the identified non-data codegroups reaches the first number, it is determined that the identified non-data codegroups match the reference delimiter, and thus the identified non-data codegroups can be determined as delimiters, so that subsequent delimiting based on the non-data codegroups in the delimiter ensures the accuracy of the delimiting result.
[0009] Based on the method provided in the first or second aspect, in one possible implementation, the delimiter includes non-data code groups. The number of non-data code groups included in the delimiter is the same as the number of reference code groups included in the reference delimiter. The order of any non-data code group in the delimiter among the multiple non-data code groups is the same as the order of the reference code group corresponding to any non-data code group among the multiple reference code groups. Furthermore, the content of any non-data code group is the same as the content of the reference code group corresponding to any non-data code group. The number, order, and content of the non-data code groups included in the delimiter determined in this application are all the same as the number, order, and content of the reference code groups included in the reference delimiter, ensuring that the determined delimiter is consistent with the reference delimiter and guaranteeing the accuracy of the determined delimiter.
[0010] Based on the method provided in the first or second aspect, in one possible implementation, the first quantity is determined based on the bit error rate of the link transmitting the PMA training sequence. Since the first quantity is used to assist in determining accurate delimiters, and the bit error rate of the link can affect the accuracy of the delimiters in the PMA training sequence, determining the first quantity based on the link's bit error rate ensures that the influence of the bit error rate is considered during the process of assisting in determining accurate delimiters based on the first quantity, further guaranteeing the accuracy of the delimiters.
[0011] Based on the method provided in the first or second aspect, in one possible implementation, the PMA training sequence includes multiple delimiters, and the distance between any two adjacent delimiters is fixed. Since the distance between two adjacent delimiters in the PMA training sequence is fixed, this characteristic can be used to assist in the identification of delimiters in the PMA training sequence, achieving accurate identification of delimiters and thus accurate delimitation.
[0012] Based on the method provided in the first or second aspect, in one possible implementation, the non-data code group in the delimiter includes an adjustment code group, which is used to adjust the heterogeneity of the PMA training sequence. Heterogeneity is a parameter used to constrain the randomness of the PMA training sequence. Heterogeneity constrains the randomness of the PMA training sequence by limiting the number of 0s and ±1s in the PMA training sequence. By adjusting the heterogeneity of the PMA sequence through the adjustment code group, the data and delimiters in the PMA training sequence are constrained by a relatively fixed heterogeneity, facilitating the correct identification of the delimiters in the PMA training sequence.
[0013] Based on the method provided in the first or second aspect, in one possible implementation, the content of the delimiter indicates the state of the device transmitting the PMA training sequence. In this application, the delimiter can not only be used to delimit data, but also to indicate the state of the device transmitting the PMA training sequence, thereby improving the reusability of the delimiter and reducing communication costs.
[0014] Based on the method provided in the first or second aspect, in one possible implementation, when the delimiter includes non-data code groups, the state of the device is indicated by at least one of the following: the type of non-data code groups in the delimiter; the relative positions of different types of non-data code groups in the delimiter; and the number of non-data code groups in the delimiter. Since no additional information needs to be added to the PMA training sequence, the state of the device can be indicated by at least one of the type, relative position, or number of non-data code groups in the delimiter, thereby further improving the reuse rate of the delimiter.
[0015] Based on the method provided in the first or second aspect, in one possible implementation, the delimitation result includes the boundary between the first data and the second data. The method further includes: determining the boundary of the PMA training frame used to generate the PMA training sequence based on the boundary between the first data and the second data. Since the PMA training sequence is generated from the PMA training frame, there is a mapping relationship between the PMA training sequence and the PMA training frame. The boundary between the first data and the second data can map to the boundary of the PMA training frame. Therefore, the boundary of the PMA training frame can be accurately determined based on the boundary between the first data and the second data.
[0016] Based on the method provided in the first or second aspect, in one possible implementation, the PMA training frame includes multiple PMA training subframes. Determining the boundary of the PMA training frame used to generate the PMA training sequence based on the boundary between the first data and the second data includes: decoding the first data and the second data respectively according to the boundary to obtain a decoding result; performing scrambling synchronization and descrambling on the decoding result to obtain a descrambling result; determining the boundary of the multiple PMA training subframes according to the training frame generation rules and the descrambling result; and determining the boundary of the PMA training frame based on the boundary of the multiple PMA training subframes. By decoding, scrambling synchronization, and descrambling the first data and the second data, multiple PMA training subframes are recovered, thereby determining the boundary of the PMA training subframes. Based on the boundary of the multiple PMA training subframes, the boundary of the PMA training frame can be determined.
[0017] Based on the method provided in the first or second aspect, in one possible implementation, determining the boundary of a PMA training frame according to the boundaries of multiple PMA training subframes includes: identifying a tail training subframe among the multiple PMA training subframes that includes tail indication information, wherein the tail training subframe is the last PMA training subframe in a PMA training frame; and determining the boundary of the PMA training frame based on the tail training subframe and the boundaries of the multiple PMA training subframes. By determining the tail training subframe among the multiple PMA training subframes based on the tail indication information, the tail boundary of the PMA training frame can be accurately determined, and the boundary of the PMA training frame can be determined based on the tail boundary of the PMA training frame.
[0018] Based on the method provided in the first or second aspect, in one possible implementation, the method further includes: determining a mapping length based on the boundary of the PMA training frame used to generate the PMA training sequence, wherein the mapping length is the length of a first content in the PMA training sequence, the first content being the content corresponding to the PMA training frame, and the boundary of the PMA training frame being determined based on the delimitation result; receiving a data sequence, wherein the mapping length is an integer multiple of the length of a second content in the data sequence, the second content being the content corresponding to the data frame, and the data sequence being generated based on the data frame; and determining the boundary of the data frame based on the mapping length. In this application, the length of the PMA training frame is an integer multiple of the length of the data frame, therefore the length of the content in the PMA training sequence corresponding to the PMA training frame is an integer multiple of the content in the data sequence corresponding to the data frame. Therefore, the boundary of the data frame can be determined based on the boundary of the training frame, improving the efficiency of determining the boundary of the data frame.
[0019] Thirdly, a delimitation method is provided, comprising: acquiring at least one PMA training frame; encoding the at least one PMA training frame to obtain a PMA training sequence, the PMA training sequence including first data and second data, wherein a delimiter is included between the first data and the second data; and transmitting the PMA training sequence so that a device receiving the PMA training sequence can delimit the data in the PMA training sequence. The transmitting end constructs a PMA training sequence including a delimiter, enabling the device receiving the PMA training sequence to accurately determine the boundary between the first data and the second data separated by the delimiter, thereby achieving accurate delimitation.
[0020] In one possible implementation, the delimiter includes non-data code groups.
[0021] In one possible implementation, the non-data code group includes an adjustment code group used to adjust the inhomogeneity of the PMA training sequences.
[0022] In one possible implementation, the content of the delimiter indicates the state of the device that sends the PMA training sequence.
[0023] In one possible implementation, when the delimiter includes non-data code groups, the state of the device is indicated by at least one of the following: the type of non-data code groups in the delimiter; the relative positions of different types of non-data code groups in the delimiter; and the number of non-data code groups in the delimiter.
[0024] In one possible implementation, when a PMA training frame includes multiple PMA training subframes, the last PMA training subframe in a PMA training frame is the tail training subframe, which includes tail indication information.
[0025] Fourthly, a delimitation device is provided, the device including an interface circuit and a control circuit; the interface circuit is used to receive a physical medium attachment PMA training sequence, the PMA training sequence including first data and second data, and a delimiter is included between the first data and the second data; the control circuit is used to identify the delimiter in the PMA training sequence; the control circuit is also used to delimit the data in the PMA training sequence according to the delimiter to obtain a delimitation result.
[0026] In one possible implementation, the delimiter includes non-data code groups, control circuitry for acquiring non-data code groups in the training sequence; and in response to a first number of non-data code groups being identical to a first number of reference code groups in the reference delimiter, determining the delimiter based on the first number of non-data code groups.
[0027] Fifthly, a delimiting device is provided, the device including an interface circuit and a control circuit; the interface circuit is used to receive a physical medium attachment PMA training sequence, the PMA training sequence including first data and second data, and a non-data code group between the first data and the second data; the control circuit is used to delimit the data in the PMA training sequence according to the non-data code group when the non-data code group is a delimiter in the PMA training sequence, to obtain a delimiting result.
[0028] In one possible implementation, when the non-data code group is a delimiter in the PMA training sequence, the control circuit is further configured to determine the non-data code group between the first data and the second data as a delimiter if the number of non-data code groups that are the same as the reference code group in the non-data code group is greater than or equal to a first number, and the reference code group is the code group in the reference delimiter.
[0029] Based on the apparatus provided in the fourth or fifth aspect, in one possible implementation, the delimiter includes non-data code groups, the number of non-data code groups included in the delimiter is the same as the number of reference code groups included in the reference delimiter, the order of any non-data code group in the delimiter among the multiple non-data code groups is the same as the order of the reference code group corresponding to any non-data code group among the multiple reference code groups, and the content of any non-data code group is the same as the content of the reference code group corresponding to any non-data code group.
[0030] Based on the apparatus provided in the fourth or fifth aspect, in one possible implementation, the first quantity is determined based on the bit error rate of the link transmitting the PMA training sequence.
[0031] Based on the apparatus provided in the fourth or fifth aspect, in one possible implementation, the PMA training sequence includes a plurality of delimiters, wherein the distance between any two adjacent delimiters among the plurality of delimiters is fixed.
[0032] Based on the apparatus provided in the fourth or fifth aspect, in one possible implementation, the non-data code group in the delimiter includes an adjustment code group used to adjust the inhomogeneity of the PMA training sequence.
[0033] Based on the apparatus provided in the fourth or fifth aspect, in one possible implementation, the content of the delimiter indicates the state of the apparatus that sends the PMA training sequence.
[0034] Based on the apparatus provided in the fourth or fifth aspect, in one possible implementation, when the delimiter includes non-data code groups, the state of the apparatus is indicated by at least one of the following: the type of non-data code groups in the delimiter; the relative positions of different types of non-data code groups in the delimiter; and the number of non-data code groups in the delimiter.
[0035] Based on the apparatus provided in the fourth or fifth aspect, in one possible implementation, the delimitation result includes the boundary between the first data and the second data, and the control circuit is further configured to determine the boundary of the PMA training frame for generating the PMA training sequence based on the boundary between the first data and the second data.
[0036] Based on the apparatus provided in the fourth or fifth aspect, in one possible implementation, the PMA training frame includes multiple PMA training subframes; a control circuit is configured to decode the first data and the second data respectively according to the boundary between the first data and the second data to obtain a decoding result; perform scrambling synchronization and descrambling on the decoding result to obtain a descrambling result; determine the boundaries of the multiple PMA training subframes according to the training frame generation rules and the descrambling result; and determine the boundaries of the PMA training frame according to the boundaries of the multiple PMA training subframes.
[0037] Based on the apparatus provided in the fourth or fifth aspect, in one possible implementation, the control circuit is used to identify a tail training subframe that includes tail indication information among a plurality of PMA training subframes, wherein the tail training subframe is the last PMA training subframe in a PMA training frame; and to determine the boundary of the PMA training frame based on the tail training subframe and the boundary of the plurality of PMA training subframes.
[0038] Based on the method provided in the fourth or fifth aspect, in one possible implementation, the control circuit is further configured to: determine a mapping length based on the boundary of the PMA training frame used to generate the PMA training sequence, wherein the mapping length is the length of a first content in the PMA training sequence, the first content being the content corresponding to the PMA training frame, and the boundary of the PMA training frame being determined based on the delimitation result; receive a data sequence, wherein the mapping length is an integer multiple of the length of a second content in the data sequence, the second content being the content corresponding to the data frame, and the data sequence being generated based on the data frame; and determine the boundary of the data frame based on the mapping length.
[0039] In a sixth aspect, a delimitation device is provided, the device comprising an interface circuit and a control circuit; the control circuit is configured to acquire at least one physical medium attachment PMA training frame; the control circuit is further configured to encode the at least one PMA training frame to obtain a PMA training sequence, the PMA training sequence comprising first data and second data, wherein a delimiter is included between the first data and the second data; the interface circuit is configured to transmit the PMA training sequence so that the device receiving the PMA training sequence delimits the data in the PMA training sequence.
[0040] In one possible implementation, the delimiter includes non-data code groups.
[0041] In one possible implementation, the non-data code group includes an adjustment code group used to adjust the inhomogeneity of the PMA training sequences.
[0042] In one possible implementation, the content of the delimiter indicates the state of the device that sends the PMA training sequence.
[0043] In one possible implementation, when the delimiter includes non-data code groups, the state of the device is indicated by at least one of the following: the type of non-data code groups in the delimiter; the relative positions of different types of non-data code groups in the delimiter; and the number of non-data code groups in the delimiter.
[0044] In one possible implementation, when a PMA training frame includes multiple PMA training subframes, the last PMA training subframe in a PMA training frame is the tail training subframe, which includes tail indication information.
[0045] In a seventh aspect, a communication system is provided, which includes the apparatus described in any of the possible embodiments of the fourth, fifth, or sixth aspects above.
[0046] Eighthly, a computer program (product) is provided, comprising: computer program code, which, when executed by a computer, causes the computer to perform the methods described in the above aspects.
[0047] Ninthly, a computer-readable storage medium is provided that stores a program or instructions, wherein when the program or instructions are run on a computer, the methods of the above aspects are performed.
[0048] In a tenth aspect, a chip is provided, including a processor for retrieving and executing instructions stored in a memory, causing a computer equipped with the chip to perform the methods described in the foregoing aspects.
[0049] Eleventhly, another chip is provided, comprising: an input interface, an output interface, a processor, and a memory, wherein the input interface, the output interface, the processor, and the memory are connected by an internal connection path, the processor is used to execute code in the memory, and when the code is executed, a computer with the chip installed performs the methods in the above aspects.
[0050] It should be understood that the beneficial effects of the technical solutions and corresponding possible implementations of the third to eleventh aspects of this application can be found in the technical effects of the first and second aspects and their corresponding possible implementations described above, and will not be repeated here. Attached Figure Description
[0051] Figure 1 A schematic diagram of a process industry scenario provided in an embodiment of this application;
[0052] Figure 2 A schematic diagram illustrating another process industry scenario provided in this application embodiment;
[0053] Figure 3 A schematic diagram of a motion control scenario provided in an embodiment of this application;
[0054] Figure 4 A flowchart illustrating a delimitation method provided in an embodiment of this application;
[0055] Figure 5 This application provides a schematic diagram of a process for encoding PMA training frames according to an embodiment of the present application.
[0056] Figure 6 This is a schematic diagram of the structure of a delimiter provided in an embodiment of this application;
[0057] Figure 7 A schematic diagram illustrating the composition of a delimiter provided in an embodiment of this application;
[0058] Figure 8 A schematic diagram illustrating the composition of a training sequence provided in an embodiment of this application;
[0059] Figure 9 This application provides a schematic diagram illustrating a process for obtaining a PMA training sequence based on PMA training frame encoding.
[0060] Figure 10 A schematic diagram illustrating the mapping between delimiters and device states provided in an embodiment of this application;
[0061] Figure 11 A flowchart illustrating a delimitation method provided in an embodiment of this application;
[0062] Figure 12This is a schematic diagram illustrating a process for transmitting a data sequence, provided in an embodiment of this application.
[0063] Figure 13 A flowchart illustrating another delimitation method provided in an embodiment of this application;
[0064] Figure 14 This is a schematic diagram of the structure of a demarcation device provided in an embodiment of this application;
[0065] Figure 15 This is a schematic diagram of another demarcation device provided in an embodiment of this application;
[0066] Figure 16 This is a schematic diagram of the structure of a boundary demarcation device provided in an embodiment of this application. Detailed Implementation
[0067] The terminology used in the implementation section of this application is for the purpose of explaining specific embodiments of this application only, and is not intended to limit this application.
[0068] In Ethernet standards that use twisted-pair cables for full-duplex communication (e.g., 1000BASE-T / 1000BASE-T1), the transmitting and receiving ends need to be trained before transmitting data at the physical layer to determine various parameters for data transmission and the methods of transmitting and receiving data. The physical layer includes the PMA sublayer, which is used for serial-to-parallel conversion and for serial transmission of data to or from various physical media. The training performed by the transmitting and receiving ends before data transmission includes PMA training.
[0069] The training methods for PMA differ under different standards, mainly in whether the same line coding and modulation format as in data mode are used when generating the PMA training sequence. For example, under the 1000BASE-T1 standard (a vehicle-mounted single-pair Ethernet standard), the transceiver uses a 3-bit binary-2-bit (3B2T) pulse-amplitude modulation 3 (PAM3) line coding and modulation format in data mode, and introduces Reed Solomon forward error correction (RS FEC) to ensure the reliability of data transmission. Under the 1000BASE-T1 standard, the transceiver uses PAM2 modulation, which is different from the data mode, during PMA training. This is because: the vehicle has strict requirements for activation time; and under the same bit error rate (BER), PAM2 modulation has lower requirements for signal tonoise ratio (SNR) than PAM3. Therefore, using the low-order PAM2 modulation format for PMA training can reduce the impact of link bit errors on data transmission.
[0070] For example, under the 10BASE-T1L standard (an industrial single-pair Ethernet standard), the transmitter and receiver use the same coding and modulation format (4B3T PAM3) as the data mode during PMA training. This is because in the data mode of the 10BASE-T1L standard, the data transmission speed between the transmitter and receiver is relatively low. Burst and random noise during data transmission have minimal interference with the low-speed data, and the SNR margin is sufficient. Therefore, even without FEC (Fault-Error Correction) in the data mode, the bit error rate (BER) of the data transmission link between the transmitter and receiver can still meet application requirements, such as BER < 1x10⁻¹⁰. -10 Therefore, under the 10BASE-T1L standard, the transmitter and receiver do not need to introduce FEC when performing PMA training.
[0071] The disparity of the 3T code groups generated based on the 4B3T coding format is constrained within a limited range (i.e., the disparity only jumps between four values). The modulated training sequence is a symbol stream, consisting of multiple consecutive 3T code groups. Each 3T code group includes three PAM3 symbols (the value of a PAM symbol can be 0 / 1 / -1). The training sequence contains a maximum of four consecutive symbols 0 and a maximum of five consecutive symbols 1 or -1. The 3T code groups have a total of 3... 3=27 types, with different combinations of PAM3 within different 3T code groups. During PMA training, 26 of these code groups are used for modulation. That is, during PMA training, the training sequence generated by the transmitter includes at most 26 code groups, excluding the remaining 3T code group (0,0,0). The remaining 3T code group can be called a redundant code group or a COMMA code group. Therefore, in data mode, the combination of COMMA and non-COMMA code groups can be used to achieve MAC frame delimitation.
[0072] Full-duplex communication via a shared medium between the transmitter and receiver requires PMA training before entering data mode. During PMA training, training sequences based on 4B3T coding are transmitted. When the link BER between the transmitter and receiver is sufficiently low (e.g., below the application scenario requirement of 1e-10), the correct code delimitation is determined based on the principle that correctly delimited code groups cannot exist. The transmitter switches from PMA training mode to data mode at the boundaries of the 3T code groups. Therefore, if the receiver correctly delimits the code groups during PMA training, code delimitation does not need to be performed again in data mode.
[0073] PMA training can be conducted in various scenarios, such as process industry scenarios or motion control scenarios. Process industry scenarios include industrial switches and end-side instruments. If the components in a process industry scenario are networked using Ethernet, the industrial switches can be industrial Ethernet switches, such as field switches or power switches. See also... Figure 1 This diagram illustrates a process industry scenario. The process industry scenario includes a control room, power switches, field switches, and end-side instruments. These end-side instruments include visual & spectral analysis, ultrasonic flow meters, and valve positioners. The connections between the various components in the process industry scenario can be found in [reference needed]. Figure 1 The connections are as follows. Among them, the power switches include power over data lines (PoDL) switches, which connect to field switches via PoDL.
[0074] In some cases, there can be multiple power switches in a process industry setting. When there are multiple power switches, the connection relationships between the various components in a process industry setting can be found in [reference needed]. Figure 2 The diagram illustrates a process industry scenario. Any two connected devices in a process industry scenario can be divided into a transmitter and a receiver, and the transmitter and receiver can be interchanged.
[0075] Regardless of the type of components within a process industry scenario, and regardless of the connections between these components, in a process industry application based on 10BASE-T1L with a speedup of 100Mbps and a bandwidth of 500m, the power-on startup time is ≤500ms. Here, startup time refers to the time required for PMA training and the time required for testing in the test mode after PMA training.
[0076] See Figure 3 This diagram illustrates a motion control scenario. The scenario includes interconnected servo drives and servo motors, both capable of transmitting data to each other; that is, the servo drive and servo motor can act as both sender and receiver. The interaction between the servo drive and servo motor can be, for example, as follows: the encoder in the servo motor measures its current position and transmits the position data back to the servo drive via servo motor feedback communication. The servo drive calculates the next position and adjusts its main power output to move the servo motor to the next position. In a stopped state, the servo drive can control the servo motor brake to hold the motor in place. In this motion control scenario, based on a 100Mbps 100m application, the physical layer (PHY) transmit / receive latency is <1.5µs.
[0077] For the aforementioned 100Mbps 500m transmission scenario, the link's SNR margin is insufficient, necessitating the introduction of FEC to obtain additional coding gain. Furthermore, in long-distance transmission, PMA training uses the same modulation format as the data mode but without FEC, resulting in insufficient SNR margin and reduced reliability of traditional code group delimitation mechanisms due to link errors. If code groups cannot be accurately delimited during PMA training, the decoded bitstream will be abnormal, and subsequent scrambling and training frames will not be synchronized, increasing startup time.
[0078] For example, in a 100Mbps 500m transmission scenario under the 1000BASE-T1 standard, when the transmitter and receiver are in data mode, the transmitter uses PAM3 modulation to modulate the transmitted signal, as described in related technology one. However, when both are in training mode, the transmitter uses PAM2 modulation. Because PAM2 and PAM3 have different modulation efficiencies, the scrambler's operating clock differs between training and data modes, requiring additional frequency division circuitry. Furthermore, to reduce the impact of data correlation on the PMA circuit or algorithm during data mode switching, the scrambler polynomial used in PMA training is different, ultimately increasing hardware complexity. Additionally, in training mode, the transmitter needs to transmit the initial value information of the scrambler from data mode to ensure that when switching to data mode, the transmitter scrambles the transmitted bitstream according to the initial value of the scrambler in data mode, and the receiver can correctly descramble accordingly.
[0079] For example, under the 10BASE-T1L and 100BASE-T1 standards, the transmitting end in related technology 2 uses the PAM3 modulation format to modulate the transmitted signal in both data mode and training mode. The receiving end uses code groups that should not appear in training mode, such as code group (0,0,0) in the 10BASE-T1L standard and code group (0,0) in the 100BASE-T1 standard, to determine the reliability of code group delimitation.
[0080] The first related technology described above increases the hardware complexity and PMA training process complexity for transmission in 802.3dg 100M 500m applications. The second related technology, for transmission in 802.3dg 100M 500m applications, has insufficient SNR margin of the link, BER degradation (>1e-10), and the reliability of the delimitation mechanism is reduced by the link bit error, which in turn affects scrambling code synchronization and increases power-on startup time.
[0081] This application provides a delimitation method that can improve the accuracy of delimitation and reduce the impact of link errors on the delimitation results. For example, see... Figure 4 The diagram illustrates a flowchart of a delimitation method provided in an embodiment of this application, which can be applied to... Figures 1 to 3 The method for the sending end in any of the scenarios shown includes, but is not limited to, S401 to S403 below.
[0082] S401, acquire at least one PMA training frame.
[0083] A PMA training frame is a bit sequence that includes multiple bits. This application does not limit the method for obtaining at least one PMA training frame. For example, at least one PMA training frame can be generated based on a pseudo-random binary sequence (PRBS) according to the PMA training frame generation rules. The PMA training frame generation rules can be set based on experience or training requirements.
[0084] The length of at least one PMA training frame can be random, and the lengths of at least one PMA training frame can be the same or different. Optionally, the length of at least one PMA training frame can also be determined based on the length of the data frames transmitted in data mode. If FEC is not enabled in data mode and the data frame length is random, the length of the PMA training frame can also be random. If FEC is not enabled in data mode, but the data frame length is a specified length, the length of the PMA training frame can also be random. If FEC is enabled in data mode and the data frame is an FEC frame of a specified length, the length of the PMA training frame can be an integer multiple of the data frame length so that the delimiting results obtained from the PMA training frame can be used for data frame (FEC frame) delimiting. Alternatively, if FEC is not enabled in data mode, but the data frame length is a specified length, the length of the PMA training frame can also be fixed, and the length of the PMA training frame can be an integer multiple of the data frame length.
[0085] S402, at least one PMA training frame is encoded to obtain a PMA training sequence, which includes first data and second data, with a delimiter between the first data and the second data.
[0086] There are several ways to encode at least one PMA training frame. For example, at least one PMA training frame can be encoded using the 4B3TPAM3 encoding format (or modulation format) or the 8B6T PAM3 encoding format to obtain the PMA training sequence.
[0087] During the encoding of each PMA training frame, a portion of the content within the PMA training frame can be encoded as delimiters, while the other portion can be encoded as data. In other words, the period of occurrence of delimiters in the PMA training sequence can be considered the PMA training frame period. Within the PMA training sequence obtained by encoding a single PMA training frame, the delimiters can appear before or after the data.
[0088] For example, see Figure 5This diagram illustrates a process for encoding a PMA training frame according to an embodiment of this application. The number of PMA training frames is n+1, where n can be an integer greater than or equal to 0. During the encoding of any PMA training frame, taking the nth training frame as an example, part of the content in the PMA training frame is encoded as delimiters, and another part is encoded as data. Therefore, the content of the PMA training sequence corresponding to the nth PMA training frame includes delimiters and data. The data in the PMA training sequence includes first data and second data. The content of the first data and the second data can be the same or different. The first data and the second data are data separated by delimiters, for example... Figure 5 The data obtained by encoding a portion of the content in the nth PMA training frame can be the first data, and the data obtained by encoding a portion of the content in the (n+1)th PMA training frame can be the second data. The first data and the second data include the delimiter obtained by encoding a portion of the content in the (n+1)th PMA training frame.
[0089] Optionally, the delimiter may include one or more code groups, and the data may also include one or more code groups. The size of the code group is determined based on the encoding format during the encoding process. If the encoding format is 4B3T, then a code group includes 3 PAM3 symbols; if the encoding format is 8B6T, then a code group includes 6 PAM3 symbols.
[0090] In one possible implementation, the delimiter includes non-data code groups. Non-data code groups refer to at least one of the following: code groups whose content differs from the data code groups included in the data portion of the training sequence, or directional code groups. For example, in the 4B3T encoding format, the data code groups include 26 types of code groups, while the non-data code groups can include 27 types. The code group (0,0,0) not included in the data code groups is the non-data code group whose content differs from the data code group content; that is, a redundant code group. A redundant code group can also be considered as a code group that could not possibly appear in the data under error-free conditions. Of the remaining 26 code groups, some can be directional code groups, that is, code groups that can assist in delimitation, such as the start of stream delimiter (SSD) code group (used to indicate the start of a frame), the end of stream delimiter (ESD) code group (used to indicate the end of a frame), and the end of error stream delimiter (ESD_ERR) code group (used to indicate the end of a frame with erroneous content). The content of directional code groups may be the same as the content of data code groups. Optionally, the combination type of non-data code groups in the delimiter can be determined based on the number of redundant code groups in the encoding. For example, 8B6T PAM3 encoding has a lot of redundancy, and the delimiter can contain multiple redundant code groups. For 4B3T PAM3 encoding, there is only one redundant code group COMMA. In this case, the delimiter can be composed of multiple redundant code groups COMMA, or it can be composed of a mixture of redundant code groups COMMA and one or more of the directional code groups.
[0091] See Figure 6 The diagram illustrates a structural schematic of a delimiter provided in an embodiment of this application. Each non-data code group in the delimiter can be a code group whose content differs from that of the data code group, or it can include code groups whose content differs from that of the data code group and code groups whose content is the same as that of the data code group. The code groups whose content is the same as that of the data code group can be directional code groups.
[0092] Optionally, the non-data code group includes an adjustment code group, which is used to adjust the inhomogeneity of the PMA training sequence. By resetting the inhomogeneity of the training sequence or data frame through the adjustment code group, the device receiving the PMA training sequence or data frame can perform error detection on the received code group when the boundaries are known.
[0093] The value of the adjustment code group can be based on the encoding parameter settings (or random bits) during the process of encoding the PMA training sequence from the PMA training frame. In the embodiments of this application, the value of the unevenness after adjusting the adjustment code group of the currently encoded PMA training frame can be used to constrain the unevenness of the content of the encoded PMA training sequence during the encoding of the subsequent content of the current PMA training frame.
[0094] Taking Syn[4] as the encoding parameter and the disparity reset (DISPRESET) code group as the adjustment code group, see Table 1. If Syn[4] = 0, then no matter what the current disparity value is, the disparity value will be reset to 1 through the value of the DISPRESET code group. For example, if Syn[4] = 0, and the current disparity value is 1, then the content of the DISPRESET code group is (-1, 0, +1), and the disparity of the DISPRESET code group content changes to 0, then the disparity remains unchanged at 1. If Syn[4] = 0, and the current disparity value is 2, then the content of the DISPRESET code group is (-1, 0, 0), and the disparity of the DISPRESET code group content changes to -1, then the disparity value is reduced by 1 based on 2, and the disparity is reset to 1. Then, in the process of encoding the subsequent content of the PMA training frame, the encoding starts with the disparity value of 1.
[0095] Referring to Table 1, if Syn[4] = 1, then regardless of the current value of inequality, the value of inequality will be reset to 4 through the value of the DISPRESET code group. The process of resetting inequality can be referred to the above description, and will not be repeated here.
[0096] In one possible implementation, adjusting the simultaneous occurrence of code groups with other directional code groups can also adjust the unevenness value of the PMA training sequence. For example, if the DIEPRESET code group and directional code groups such as SSD code group / ESD code group / ESD_ERR code group appear simultaneously in the training sequence obtained by encoding a PMA training frame, the unevenness value can be reset to 2 or 3. Then, during the encoding of subsequent content of the PMA training frame, encoding can begin based on the reset unevenness value.
[0097] Table 1
[0098] DISPRESET Disparity = 1 Disparity = 2 Disparity = 3 Disparity = 4 Syn[4]=0 {-1,0,+1} {-1,0,0} {-1,0,-1} {-1,-1,-1} Syn[4]=1 {+1,+1,+1} {+1,0,+1} {+1,0,0} {+1,0,-1}
[0099] Furthermore, different values of Syn[4] result in different contents of the corresponding directional code groups. For example, see Table 2 below, which shows the different contents of the directional code groups for different values of Syn[4].
[0100] Table 2
[0101]
[0102]
[0103] See Figure 7 The diagram shows a compositional schematic of a delimiter provided in an embodiment of this application. Figure 7 The diagram illustrates the composition of three different delimiters, a, b, and c, with different inequality values determined based on each delimiter. Delimiter a includes two COMMA code groups, a DISPRESET code group, and an SSD code group; the inequality value determined by delimiter a is the value jointly determined by the DISPRESET and SSD code groups. Delimiter b includes a DISPRESET code group, an SSD code group, two COMMA code groups, an SSD code group, and an SSD complementary code group obtained by inverting each symbol in the SSD code group. Since the sum of the contents of the SSD code group and the SSD complementary code group in delimiter b is 0, the inequality value determined by delimiter b is the value determined by the inequality based on the DISPRESET and SSD code groups. Delimiter c includes three alternating sets of DISPRESET and SSD code groups; the inequality value determined by delimiter c is the value determined by the inequality based on the DISPRESET and SSD code groups. When the value of Syn[4] is different, the value of inequality determined by the code group in each delimiter is different.
[0104] In this embodiment, random bits Syn[4] are used to avoid using the contents of fixed SSD code groups / ESD code groups / ESD_ERR code groups, thereby reducing outward electromagnetic radiation. The delimiter includes multiple repeating code groups, which can reduce the impact of link errors on delimitation. Figure 7 As shown, delimiter b consists of a DISPRESET code group, two COMMA code groups, two SSD code groups, and a complementary code group of the SSD. Compared to delimiter a, the number of SSD code groups increases, thus improving the reliability of SSD identification by 2 times. Furthermore, the SSD code group and the complementary code group of the SSD can effectively maintain the unequal reset of the combination of the DISPRESET code group and the SSD code group.
[0105] For scenarios with low electromagnetic compatibility (EMC) requirements, the code group DISPRESET and the directional code group SSD code group / ESD code group / ESD_ERR code group can be adjusted to the code group value corresponding to Syn[4] = 0 or 1.
[0106] The above describes the composition of the delimiter in the case of 4B3T encoding format. In the case of 8B6T encoding format, the composition of the delimiter can be different from that of the delimiter obtained by 4B3T encoding format. In the case of 8B6T encoding format, each delimiter can include two non-data code groups, such as one or two of the following: SSD code group / ESD code group / Transmit Error (XMT_ERR) code group / Synchronization (Sync) code group. For example, see Table 3 below, which shows the contents of various code groups in the delimiter obtained by 8B6T encoding format when the inhomogeneity is 0 and the value of random bit Sgn[1] is different. Among them, the value of Sgn[1] determines whether the symbol of the code group in the delimiter is inverted element by element, thereby avoiding electromagnetic radiation caused by fixed sequence and improving the robustness of algorithm or circuit. In scenarios where EMC requirements are not high, the above non-data code groups can choose the code group value corresponding to Sgn[1] = 0 or 1.
[0107] Table 3
[0108]
[0109] See Figure 8 This illustrates a schematic diagram of another training sequence provided in an embodiment of this application. Figure 8 The training sequence shown is a PMA training sequence encoded based on the 8B6T encoding format. The delimiters in the PMA training sequence include two SSD code groups.
[0110] If the two SSD code groups in the delimiter use different Sgn[1], then the receiver needs to compare four combinations of code groups when performing delimiter matching detection. In order to reduce the complexity of delimiter matching detection, the content of the first SSD code group in the delimiter can be selected according to the random bit Sgn[1], and the second SSD code group can be selected to be the same as or complementary to the content of the first SSD code group. In this way, the receiver only needs to compare two cases when performing delimiter matching detection, which can reduce the complexity of delimiter matching and improve the efficiency of delimiter matching.
[0111] In one possible implementation, a PMA training frame can include multiple PMA training subframes, where the length of each PMA training subframe is the ratio of the length of a single PMA training frame to the number of PMA training subframes within that frame. In this implementation, during the encoding of the PMA training sequence from the PMA training frame, for any given PMA training subframe, a portion of its content is encoded as delimiters, and the remaining portion is encoded as data. This means the period of delimiter occurrences in the PMA training sequence can be considered the PMA training subframe period. Therefore, the number of delimiters in the PMA training sequence encoded from a single PMA training frame is the same as the number of PMA training subframes within that single PMA training frame.
[0112] In the case where a PMA training frame comprises multiple PMA training subframes, the last PMA training subframe is the tail training subframe, which includes tail indication information. This tail indication information can be an InfoField, which may include, for example, the local receiver status of the transmitting end. The content of the InfoField may include, for example, the local receiver status information of the transmitting end or whether the master device allows the slave device to start transmitting information, or one or more other pieces of information. The tail indication information can be carried in the tail training subframe by scrambling a portion of the bits in the tail training subframe with the tail indication information. The size of the bits scrambling the tail indication information can be determined based on the size of the tail indication information or set empirically, for example, it could be 96 bits.
[0113] For example, see Figure 9 The diagram illustrates a process for obtaining a PMA training sequence based on PMA training frame encoding, as provided in an embodiment of this application. Figure 9 A single PMA training frame comprises multiple PMA training subframes. The training frames are generated from PRBS sequences according to certain rules. Taking the nth PMA training frame as an example, the nth PMA training frame includes N subframes, namely subframe 1, subframe 2, ..., subframe N. The first bit (black part) of subframes 1 to N-1 is obtained by inverting the corresponding bit in the PRBS sequence, while the remaining bits remain the same as the corresponding PRBS sequence content. Some bits (black part) of subframe N are obtained by XORing the corresponding PRBS sequence with the indication information, while the remaining bits remain the same as the corresponding bits in the PRBS sequence.
[0114] The PMA training sequence obtained after encoding each PMA subframe in the PMA training frame includes two parts: a delimiter and data. Since the first 96 bits of the last PMA training subframe carry end-of-frame information, the delimiter is positioned after the data portion to avoid the end-of-frame information being encoded as a delimiter. For example... Figure 9 As shown. The delimiter can consist of a DISPRESET code group, two COMMA code groups, and two SSD code groups.
[0115] In one possible implementation, when a PMA training frame comprises multiple PMA training subframes, the entire content of the tail training subframe can be encoded as data during encoding. This means the PMA training sequence obtained from the tail training subframe does not include delimiters, distinguishing it from the encoded sequences of other PMA training subframes. This facilitates PMA training frame delimitation based on the characteristic that the encoded training sequence of the tail training subframe does not contain delimiters. In this implementation, the tail training subframe may also include tail indication information.
[0116] Dividing a PMA training frame into multiple PMA training subframes and encoding them results in a PMA training sequence with a larger number and higher frequency of delimiters. This makes it more efficient for the receiving device to delimit the PMA training sequence based on the delimiters, thereby improving the efficiency of PMA training frame synchronization based on the delimiting results.
[0117] In one possible implementation, the content of the delimiter indicates the state of the device transmitting the PMA training sequence. Exemplarily, when the delimiter includes non-data code groups, the state of the device is indicated by at least one of the following:
[0118] The type of non-data code group in the delimiter;
[0119] The relative positions of different types of non-data code groups in the delimiter;
[0120] The number of non-data code groups in the delimiter.
[0121] In one possible implementation, the content of the delimiter indicates the action performed by the device receiving the PMA training sequence; however, this application does not limit the action performed. When the delimiter includes multiple non-data code groups, the action performed may also be based on at least one of the following indications: the type of non-data code groups in the delimiter, the relative positions of different types of non-data code groups in the delimiter, or the number of non-data code groups in the delimiter.
[0122] The device status includes local receiver status not ok, local receiver status ok, and status changes of the device transmitting PMA training sequences from the peer. Actions performed, such as enabling the device to transmit from the slave device, are examples of such actions.
[0123] See Figure 10 This diagram illustrates a mapping between a delimiter and the state of a device, as provided in an embodiment of this application. Figure 10 As shown, the PMA training frame uses 4B3T encoding to generate the training sequence. If the code groups included by the delimiter are, in order, the DISPRESET code group, the ESD code group, three COMMA code groups, the ESD_ERR code group, and the complementary code group of ESD_ERR, then the state of the device transmitting the PMA training sequence indicated by the delimiter includes a local receiver state that is not ok. If the code groups included by the delimiter are, in order, the DISPRESET code group, the ESD_ERR code group, the complementary code group of ESD_ERR, four COMMA code groups, and the ESD code group, then the state of the device transmitting the PMA training sequence indicated by the delimiter includes a local receiver state that is ok. If the code groups included by the delimiter are, in order, the DISPRESET code group, the SSD code group, four COMMA code groups, the ESD code group, and its complementary code group, then the state of the device transmitting the PMA training sequence indicated by the delimiter includes that the device is enabled to transmit from a slave device. Therefore, it can be seen that the content indicated by the delimiter varies depending on the number, type, and relative position of the non-data code groups in the delimiter.
[0124] In the embodiments of this application, the delimiter can not only be used for delimitation, but also for transmitting other information, which improves the utilization rate of the delimiter in the PMA training sequence and reduces communication costs.
[0125] S403, send the PMA training sequence so that the device receiving the PMA training sequence can delimit the data in the PMA training sequence.
[0126] In this embodiment, the PMA training sequence can be sent after generating a complete PMA training sequence based on at least one PMA training frame. If there are multiple PMA training frames, a portion of the generated PMA training sequence can be sent after generating a portion based on one PMA training frame, while simultaneously generating another portion based on another PMA training frame. In other words, generating the content of the PMA training sequence based on the PMA training frames and sending the PMA training sequence are performed synchronously. For example, if there are two PMA training frames for generating the PMA training sequence, the first portion of the PMA training sequence can be encoded based on the first PMA training frame, then sent, and simultaneously encoded on the second PMA training frame to obtain the second portion of the PMA training sequence. The second portion of the PMA training sequence is then sent to achieve complete transmission of the PMA training sequence.
[0127] Accordingly, embodiments of this application also provide a delimitation method capable of achieving accurate delimitation. See [link to relevant documentation] Figure 11 The diagram shows a flowchart of a delimitation method provided in an embodiment of this application, which can be applied to the above-mentioned... Figures 1 to 3 For any of the receiving ends in any scenario, the delimitation method includes, but is not limited to, the following S1101 to S1103.
[0128] S1101, Receive PMA training sequence, the PMA training sequence includes first data and second data, and a delimiter is included between the first data and the second data.
[0129] After the device transmitting the PMA training sequence completes the generation and transmission of the PMA training sequence, the device receiving the PMA training sequence can receive the PMA training sequence transmitted via the link. The PMA training sequence includes encoded data and a delimiter. The data includes first data and second data, and the delimiter is located between the first data and the second data. That is, the delimiter can separate the first data and the second data. Therefore, in this embodiment of the application, the first data and the second data in the PMA training sequence can be delimited by the delimiter in the PMA training sequence.
[0130] S1102 identifies delimiters in the PMA training sequence.
[0131] In one possible implementation, the composition of the delimiter needs to be determined before identifying it. For example, this can be determined by obtaining a reference delimiter. The reference delimiter is a correct delimiter generated by the sender of the PMA training sequence, which can be used by the receiving device to match and confirm the delimiters in the received PMA training sequence. The reference delimiter includes one or more reference code groups, the content of which is the content of the correct non-data code group.
[0132] Optionally, reference delimiters can be obtained through static configuration and stored in local registers for use in identifying and matching delimiters in PMA training sequences.
[0133] The delimiters in the PMA training sequence include non-data codegroups. The number of non-data codegroups included in the delimiters is the same as the number of reference codegroups included in the reference delimiters. The order of any non-data codegroup in the delimiters among multiple non-data codegroups is the same as the order of the corresponding reference codegroups among multiple reference codegroups. Furthermore, the content of any non-data codegroup is the same as the content of its corresponding reference codegroup. Therefore, by determining whether a codegroup in the PMA training sequence matches a reference codegroup, it can be determined whether each codegroup is a non-data codegroup. Based on the non-data codegroups, the delimiters in the PMA training sequence can then be determined.
[0134] In some cases, the number of reference codewords in a reference delimiter can be less than the number of non-data codewords in the delimiter. For example... Figure 7 As shown, since the DISPRESET code group has 8 possible contents, it increases the complexity of the matching test with the reference code group. Therefore, only the last 5 non-data code groups of the DISPRESET code group can be used as the reference code group for the delimiter matching test.
[0135] For example, identifying delimiters in a PMA training sequence includes: obtaining non-data code groups in the PMA training sequence; and determining delimiters based on the first number of non-data code groups in response to each of the first number of non-data code groups being identical to a first number of reference code groups in a reference delimiter.
[0136] The device for receiving PMA training sequences can sequentially acquire each code group in the PMA training sequence. This application embodiment does not limit the method of acquiring each code group in the PMA training sequence. The device for receiving PMA training sequences can determine the number of symbols in a code group based on the encoding format of the encoded PMA training sequence. For example, if the encoding format of the encoded PMA training sequence is 4B3T, then a code group includes three PAM3 symbols. Starting from the first symbol received in the PMA training sequence, acquiring three consecutive PAM3 symbols constitutes acquiring one code group. In hardware implementation, symbols are often represented by combinations of bits 0 and 1. For example, PAM3 has three different symbol levels, requiring two bits to represent different symbol levels. Therefore, hardware implementation can acquire one 3T code group by acquiring six consecutive bits. If the encoding format of the encoded PMA training sequence is 8B6T, then a code group includes six PAM3 symbols. Starting from the first symbol received in the PMA training sequence, acquiring six consecutive PAM3 symbols constitutes acquiring one code group.
[0137] After acquiring each code group, its content is compared with that of a reference code group. If the acquired code group content matches any reference code group, it is determined to be a non-data code group. Based on these non-data code groups, a second number of code groups are acquired and matched against the reference code group. If a first number of non-data code groups that match the reference code group exist within a third number of consecutively acquired code groups (including the acquired non-data code groups and the second number of code groups following them), then the delimiter in the PMA training sequence can be determined based on these first number of non-data code groups. Here, the third number is the number of reference code groups included in the reference delimiter. The existence of a first number of non-data code groups that match the reference code group within the third number of code groups means that the content of the third number of code groups is greater than or equal to the content of the first number of code groups and is identical to the content of the reference code group. These code groups that are greater than or equal to the first number of code groups and have the same content as the reference code group can be consecutive or non-consecutive.
[0138] The first quantity is the threshold for determining whether a delimiter can be determined based on the first quantity of non-data code groups. If the number of non-data code groups in the third quantity of code groups that can match the reference code group is greater than or equal to the first quantity, then it is considered that the delimiter can be determined based on the first quantity of non-data code groups, and the accuracy of the determined delimiter is high.
[0139] If the number of non-data code groups in the third number of code groups that can match the reference code group is less than the first number, then the matching degree between the third number of code groups and the reference delimiter is considered low. The non-data code groups in the third number of code groups that can match the reference code group may be non-data code groups obtained from data code groups during transmission due to link errors, or they may simply be data code groups that are identical in content to the reference code group and misidentified as non-data code groups. Therefore, when the number of non-data code groups in the third number of code groups that can match the reference code group is less than the first number, the delimiter is not determined based on the obtained non-data code groups to avoid determining incorrect delimiters and thus improve the accuracy of delimiter recognition.
[0140] The first number can be set empirically. Alternatively, it can be determined based on the link error rate of the transmitted PMA training sequence. A lower link error rate results in a larger first number, making the conditions for determining the delimiter more stringent and ensuring the accuracy of the determined delimiter. A higher link error rate increases the probability of delimiter errors; a smaller first number improves the probability of delimiter matching but also increases the probability of mismatches (e.g., a data code group being misidentified as a non-data code group). By determining that more than a fourth number of consecutive delimiters match, the probability of mismatches can be reduced while maintaining the efficiency and accuracy of delimiting.
[0141] In one possible implementation, there can be multiple reference delimiters. If the first number of non-data code groups conform to any one of the reference delimiters, the delimiters in the PMA training sequence can be determined based on the first number of non-data code groups.
[0142] Determining the delimiter based on the first number of non-data code groups includes: determining the order of the first number of non-data code groups in the delimiter based on the order of the first number of reference code groups corresponding to the first number of non-data code groups in the reference code groups included in the reference delimiter; and determining the delimiter based on the order of the first number of non-data code groups in the delimiter and the third number.
[0143] For example, if the first quantity is 5 and the third quantity is 8, meaning that among the 8 consecutively acquired code groups, there are 5 non-data code groups, these 5 non-data code groups are non-data code group 1 through non-data code group 5, and each of these 5 non-data code groups corresponds to reference code group 1 through reference code group 5. The reference code group 1 corresponding to non-data code group 1 has the order 2 among the 8 reference code groups included in the reference delimiter; the reference code group 2 corresponding to non-data code group 2 has the order 3 among the 8 reference code groups included in the reference delimiter; the reference code group 3 corresponding to non-data code group 3 has the order 5 among the 8 reference code groups included in the reference delimiter; the reference code group 4 corresponding to non-data code group 4 has the order 6 among the 8 reference code groups included in the reference delimiter; and the reference code group 5 corresponding to non-data code group 5 has the order 7 among the 8 reference code groups included in the reference delimiter.
[0144] Therefore, it can be concluded that the identified non-data code group 1 is not the first code group included in the delimiter. Consequently, it can be determined that the preceding code group of non-data code group 1 also belongs to the delimiter, and this preceding code group is the first non-data code group in the delimiter. However, the content of the preceding code group may have changed due to link errors, resulting in the preceding code group failing to match the reference code group. Using the first non-data code group in the identified delimiter as a benchmark, a third number of code groups are determined as delimiters, thus completing the identification of one delimiter. Optionally, the number of non-data code groups in the identified delimiter can be greater than or equal to the number of reference code groups in the reference delimiter.
[0145] In this embodiment, the PMA training sequence may include one or more delimiters. When the PMA training sequence includes multiple delimiters, each delimiter in the PMA training can be identified using the method described above for identifying a single delimiter.
[0146] Alternatively, in one possible implementation, the PMA training sequence includes multiple delimiters, where the distance between any two adjacent delimiters is fixed. Therefore, after identifying the first delimiter in the PMA training sequence, the positions of other delimiters in the sequence can be predicted based on the position of the first delimiter and the distance between two adjacent delimiters.
[0147] The device receiving the PMA training sequence can obtain the distance between two adjacent delimiters in one of the following ways: the device determines the distance between two adjacent delimiters according to the generation rules of the PMA training sequence. The position of any delimiter can be indicated by the offset of the first symbol in any delimiter relative to the first code group of the PMA training sequence. The offset can be based on the number of symbols between the first symbol in any delimiter and the first symbol of the PMA training sequence.
[0148] For example, if the first symbol in the first delimiter is the same as the first symbol in the PMA training sequence, then the offset between the first symbol in the first delimiter and the first symbol in the PMA training sequence is 0, which means the position of the first delimiter is 0. 0 indicates that the first delimiter is located at the beginning of the PMA training sequence.
[0149] Next, taking a distance of 60 between two adjacent delimiters as an example, if the position of the first delimiter is 0, then the position of the delimiter adjacent to the first delimiter is 60. Therefore, the code group to which the symbol with an offset of 60 from the first symbol of the PMA training sequence belongs can be determined as the first non-data code group of the second delimiter in the PMA training sequence. Based on the number of reference code groups in the reference delimiters, and using the first non-data code group of the second delimiter as a reference, the second delimiter is determined. Similarly, if the distance between the third delimiter and the second delimiter is 60, then the symbol after the second delimiter and with an offset of 60 from the first symbol of the second delimiter can be determined as the first symbol of the third delimiter. Based on the number of reference code groups in the reference delimiters, and using the code group to which the first symbol of the third delimiter belongs as a reference, the third delimiter is determined. This process continues until the positions of all delimiters in the PMA training sequence are determined.
[0150] Due to link errors, the symbols in the PMA training sequence may change. Therefore, the delimiters in the PMA training sequence determined based on the distance between two adjacent delimiters are potential delimiters, not necessarily accurate delimiters. After determining the positions of each potential delimiter, the code group content corresponding to each position can be obtained. If at least a fourth number of potential delimiters match the reference delimiter, the code group boundary is considered correct, and each delimiter is accurate. The potential delimiters are then confirmed as correct delimiters, completing the identification of delimiters in the PMA training sequence. The fourth number of potential delimiters can be consecutive or non-consecutive.
[0151] The fourth quantity can be set empirically. Alternatively, it can be determined based on the bit error rate (BER) of the link transmitting the PMA training sequence. A higher BER results in a larger fourth quantity, making the conditions for determining the delimiters more stringent and thus ensuring the accuracy of the determined delimiters. A lower BER results in a smaller fourth quantity, requiring fewer delimiters to be compared during the delimiter determination process, thereby improving the efficiency of delimiter determination while maintaining accuracy. In some cases, both the fourth and first quantities are affected by the BER of the link. Therefore, a corresponding fourth and first quantity can be determined based on the BER of the link, allowing for the joint determination of accurate delimiters in the PMA training sequence based on both the first and fourth quantities.
[0152] If the number of delimiters that match the reference delimiter is less than the fourth number, then the delimiters in the PMA training sequence can be re-identified, and each delimiter or some of them can be determined until at least the fourth number of delimiters match the reference delimiter, thus completing the reliable identification of the delimiters in the PMA training sequence. This re-identification can also be understood as a re-search process.
[0153] Due to link errors, the content of some delimiters may be incorrect, causing them to fail the delimiter matching test and thus not be recognized as delimiters. This leads to an increase in the distance between two adjacent delimiters. Therefore, in the presence of link errors, the distance between some adjacent delimiters may change, meaning that the distance between two adjacent delimiters may not be fixed.
[0154] In one possible implementation, such as Figure 7 As shown, since the DISPRESET code group has 8 possible contents, it increases the complexity of the matching detection with the reference code group. Therefore, it is possible to only check the matching of the last 5 reference code groups in the reference delimiter. For example, if it is found that the received 5 consecutive code groups all match the last 5 reference code groups of the reference delimiter, then the delimiter is considered to be a match.
[0155] As explained above, delimiters include, but are not limited to, the following characteristics:
[0156] The non-data code group in the delimiter includes the adjustment code group, which is used to adjust the inhomogeneity of the PMA training sequence;
[0157] The content of the delimiter indicates the state of the device that sends the PMA training sequence;
[0158] When the delimiter includes a non-data code group, the state of the device is indicated by at least one of the following:
[0159] The type of non-data code group in the delimiter;
[0160] The relative positions of different types of non-data code groups in the delimiter;
[0161] The number of non-data code groups in the delimiter.
[0162] For a description of the contents and characteristics of the delimiter, please refer to the description in S402 above, which will not be repeated here. In this embodiment, since the delimiter can carry information indicating the state of the device sending the PMA training sequence, the device receiving the PMA training sequence can obtain the state information of the device sending the PMA training sequence and the indication information of the local device sending the PMA training sequence by recognizing and acquiring the delimiter, thereby determining how to perform the next step of PMA training, so as to improve the completion and robustness of PMA training and achieve accurate information extraction.
[0163] The following is a complete example illustrating the process of determining delimiters in a PMA training sequence. See also... Figure 8 The PMA training sequence shown indicates that a delimiter is found once two consecutive SSD code groups are detected. After a delimiter is found, the positions of other delimiters are predicted based on the current delimiter's boundary and the pattern of its occurrence in the PMA training sequence. It is then determined whether the code groups corresponding to the predicted positions match the reference code group. For example, if the delimiter insertion period is 2.56 microseconds (µs), and four consecutive predicted positions match the reference code group, then the current code group and delimiter are correctly and reliably delimited. If six consecutive predicted positions do not match the reference code group, then the current code group and delimiter are incorrectly delimited, and a new delimiter search is needed. This matching and continuity detection mechanism ensures fast and reliable delimitation even with link errors below 1e-5. In this example, the non-data code groups are ±1 combinations, and link errors have less impact on them than on non-data code groups containing 0. Furthermore, the non-data code group inequality is 0, and the delimiter uses multiple non-data code groups of the same type, reducing the complexity of matching detection. The above delimiting process also applies to the 4B3T encoding format, and the delimiting process under the 4B3T encoding format can be referred to the above process, which will not be repeated here.
[0164] S1103, according to the delimiter, delimit the data in the PMA training sequence to obtain the delimiting result.
[0165] Since the data in the PMA training sequence is separated by delimiters, determining the delimiters allows us to define the boundaries of each data point in the PMA training sequence, thus achieving data delimitation. For example, delimiting the data in the PMA training sequence based on the delimiters includes: determining the boundaries of the delimiters; and determining the data boundaries based on the boundaries of the delimiters. Optionally, the boundary of any delimiter includes a left boundary and a right boundary. The left boundary can be indicated by the position of the first symbol in any delimiter, and the right boundary can be indicated by the position of the last symbol in any delimiter. For any two adjacent delimiters, taking the delimiter that appears first as the first delimiter and the delimiter that appears later as the second delimiter as the second delimiter, the position of the last symbol of the first delimiter and the position of the first symbol of the second delimiter constitute the boundary of the data between the first and second delimiters.
[0166] In some cases, portions of the data in the PMA training sequence are not between two adjacent delimiters. For example, see... Figure 5 In the PMA training sequence shown, the data in the PMA training sequence encoded from the (n+1)th PMA training frame is located at the end of the PMA training sequence, not between the two delimiters. In this case, the boundary of the data not located between the two delimiters can be determined based on the relative position between the position of the first delimiter and the starting position of the PMA training sequence, as well as the boundary of the delimiters.
[0167] The relative position of the first delimiter to the start position of the PMA training sequence can be either the same as the start position of the PMA training sequence, or the first delimiter can be after the start position of the PMA training sequence.
[0168] If the position of the first delimiter is the same as the start position of the PMA training sequence, it means that the delimiters and data alternate in the PMA training sequence, and the delimiters precede the data, i.e. Figure 5 The PMA training sequence is shown. Therefore, it can be determined that the data at the end of the PMA training sequence is not located between two adjacent delimiters, and the boundary of the data at the end of the PMA training sequence includes the position of the last symbol in the preceding delimiter and the position of the last symbol of the PMA training sequence.
[0169] If the first delimiter is located after the beginning of the PMA training sequence, it means that delimiters and data alternate in the PMA training sequence, and the delimiters follow the data. Figure 9The PMA training sequence is shown. Therefore, it can be determined that the data at the beginning of the PMA training sequence is not located between two adjacent delimiters, and the boundary of the data at the beginning of the PMA training sequence includes the position of the first symbol in the subsequent delimiter of the data and the position of the first symbol of the PMA training sequence.
[0170] In this embodiment, the delimitation result includes the boundary between the first data and the second data. As described above, the PMA training sequence is generated based on the encoding of at least one PMA training frame. Therefore, this embodiment can also determine the boundary of the PMA training frame used to generate the PMA training sequence based on the boundary between the first data and the second data, thereby determining the information included in each PMA training frame.
[0171] In one possible implementation, the PMA training frame includes multiple PMA training subframes. In this implementation, determining the boundaries of the PMA training frames used to generate the PMA training sequence based on the boundary between the first data and the second data includes: decoding the first data and the second data respectively according to the boundary between the first data and the second data to obtain the decoding result and the boundary of the subframe; performing scrambling synchronization and descrambling on the decoding result; determining the boundaries of multiple PMA training subframes based on the training frame generation rules and the descrambling result; and determining the boundaries of the PMA training frames based on the boundaries of the multiple PMA training subframes.
[0172] Decoding the first and second data refers to decoding the PMA training sequence according to the encoding format, and determining the corresponding bits of the first and second data in the decoded bitstream. The bitstream corresponding to the first and second data is the decoding result. The scrambling synchronization and descrambling methods for the decoding result can refer to the descriptions of relevant standards, such as the 10BASE-T1L standard or the 100BASE-T1 standard. Furthermore, the boundaries of multiple PMA training subframes can be determined based on the training frame generation rules and the descrambling results. The training frame generation rules refer to the rules for obtaining PMA training frames based on the PRBS sequence. By using the rules for encoding PMA training frames according to the PRBS sequence, each PMA training subframe can be determined, and thus, the boundaries of each PMA training subframe can be determined.
[0173] After determining the boundaries of multiple PMA training subframes, the boundaries of a PMA training frame can be determined based on these boundaries. For example, determining the boundaries of a PMA training frame based on the boundaries of multiple PMA training subframes includes: identifying a tail training subframe among the multiple PMA training subframes that includes tail indication information, where the tail training subframe is the last PMA training subframe in a single PMA training frame; and determining the boundaries of the PMA training frame based on the tail training subframe and the boundaries of the multiple PMA training subframes.
[0174] As explained above, for a PMA training frame consisting of N PMA training subframes, the training frame is generated from the PRBS sequence according to certain rules. The first bit of subframes 1 to N-1 is obtained by inverting the corresponding bit in the PRBS sequence, while the remaining bits remain the same as the corresponding PRBS sequence. A portion of the bits in subframe N are obtained by XORing the corresponding PRBS sequence with the InfoField indication information (i.e., scrambling), while the remaining bits remain the same as the corresponding PRBS sequence. Therefore, under ideal error-free conditions, if the bit stream obtained after decoding the training sequence is XORed with the PRBS sequence, and the first bit in the XOR result of any PMA training subframe is 1 while the remaining bits are 0, then that PMA training subframe is not a tail training subframe. Conversely, if the content of the InfoField information field at the frame header position in the XOR result of any PMA training subframe matches the frame header of the InfoField information field, then that PMA training subframe carries tail indication information, and thus can be identified as a tail training subframe. After determining the tail training subframes, the boundaries of the PMA training frames can be determined based on the boundaries of the tail training subframes.
[0175] In another possible implementation, if the content of the PMA training sequence corresponding to the tail training subframe does not include delimiters, the sequence boundary corresponding to the subframe can be determined based on the boundary between the first and second data. Then, based on the characteristic that the tail training subframe does not contain delimiters, the sequence boundary corresponding to the tail training subframe can be determined, thus determining the boundary of the decoded PMA training frame. In this implementation, if the content corresponding to the predicted possible delimiter's position does not match the content of the reference delimiter, the boundary of the PMA training frame can be determined based on the difference between the distances of two adjacent possible delimiters or the difference between the distances of two adjacent data determined by the delimiters.
[0176] For example, if the distance between the boundary of data a and the boundary of data b is s1, the distance between the boundary of data b and the boundary of data c is s1, and the distance between the boundary of data c and the boundary of data d is s2, and s2 is greater than s1, then it means that the boundary between data c and the boundary of data d includes the data corresponding to the tail training subframe. Thus, the boundary of the tail training subframe can be determined, and the boundary of the PMA training frame can be determined based on the boundary of the tail training subframe.
[0177] In another possible implementation, the PMA training frame does not include multiple PMA training subframes. In this implementation, the boundaries of the PMA training frame can be determined based on the position of the delimiter in the PMA training sequence.
[0178] In this embodiment, the delimitation result can be used not only to delimit PMA training frames but also to delimit data frames in data mode. In some cases, if FEC is enabled in data mode, the data frame is an FEC type data frame, i.e., an FEC frame. Since the length of the training frame in this embodiment can be an integer multiple of the length of the FEC frame, and the encoding format for the PMA training frame is the same as the encoding format for the data frame, this characteristic allows for rapid delimitation of the data frame.
[0179] For example, the mapping length can be determined based on the boundary of the PMA training frame used to generate the PMA training sequence. The mapping length is the length of the first content in the PMA training sequence, which is the content corresponding to the PMA training frame. The boundary of the PMA training frame is determined based on the delimitation result. A data sequence is received, where the mapping length is an integer multiple of the length of the second content in the data sequence, which is the content corresponding to the data frame. The data sequence is generated based on the data frame. The boundary of the data frame is determined based on the mapping length.
[0180] Since the length of the PMA training frame is an integer multiple of the length of the data frame, and the encoding format of the PMA training frame is the same as that of the data frame (e.g., both are PAM3 encoding format), the number of symbols corresponding to one bit of the PMA training frame in the PMA training sequence is the same as the number of symbols corresponding to one bit of the data frame in the data sequence. Therefore, the mapping length of the content corresponding to a PMA training frame in the PMA training sequence is an integer multiple of the length of the content corresponding to a data frame in the data sequence.
[0181] In one possible implementation, determining the boundary of a data frame based on the mapping length includes: dividing the data sequence according to the mapping length to obtain a division result; and determining the boundary of the data frame based on the division result and the composition of the data frame. The division result obtained based on the mapping length includes the content encoded from one or more data frames. Since the data frame is an FEC frame, the division result can be further divided based on the content encoded by the FEC code in the FEC frame. The result of this further division corresponds to the content in the data sequence encoded from a data frame. By decoding, scrambling synchronization, and descrambling based on the content in the data sequence encoded from a data frame, the content of a data frame can be determined, thereby achieving data frame delimitation.
[0182] In other cases, FEC is not enabled in data mode, but the data frame length is fixed, the length of the PMA training frame is an integer multiple of the data frame length, and the encoding format for the PMA training frame is the same as that for the data frame. In this case, the mapping length of the content in the PMA training sequence corresponding to the PMA training frame is an integer multiple of the length of the content in the data sequence corresponding to the data frame. Therefore, the data sequence can also be divided according to the mapping length to obtain the division result; the boundaries of the data frame can be determined based on the division result and the composition of the data frame. Since the data frame is not an FEC frame, the division result can be further divided by identifying the delimiters in the division result. The result of this further division corresponds to the content in the data sequence encoded from a data frame.
[0183] In some cases, FEC is not enabled in data mode, and the length of the data frame is not fixed. Therefore, the length of the data sequence encoded from the data frame is not fixed, and the position of the delimiters in the data sequence is not fixed. In this case, the device receiving the data sequence can identify each delimiter in the data sequence in the same way that the first delimiter is identified in the PMA training sequence.
[0184] For example, see Figure 12 This diagram illustrates a process for transmitting a data sequence according to related technologies. The receiving end receives a data sequence comprising two COMMA code groups, a DISPRESET code group, an SSD code group, data encoded based on the 4B3T encoding format, two COMMA code groups, a DISPRESET code group, and an ESD / ESD_ERR code group, and then enters the idle state of the 4B3T decoding format. The two COMMA code groups, DISPRESET code group, and SSD code group in the received data sequence constitute one delimiter, and the two COMMA code groups, DISPRESET code group, and ESD / ESD_ERR code group constitute another delimiter. Therefore, the composition of the delimiters in the PMA training sequence of this application embodiment is similar to the composition of the delimiters in the data sequence transmitted in data mode. Consequently, the method and process by which the receiving end receives and delimits the PMA training sequence in this application embodiment is similar to the method and process of delimiting data frames based on the data sequence. Therefore, by delimiting the PMA training sequence in this embodiment, the receiver's ability to delimit data sequences with similar composition to the PMA training sequence can be improved. Furthermore, the encoding format of the PMA training sequence obtained by encoding the PMA training frame is the same as the encoding format of the data sequence obtained by encoding the data frame, enabling the device receiving the PMA training sequence and data sequence to complete PMA training using the same scrambler and the same PCS operating clock, thus reducing PMA training time and lowering the complexity of the PCS.
[0185] In one possible implementation, the delimiter in the data sequence may include multiple directional code groups. For example, the delimiter may include multiple SSD code groups or multiple ESD code groups. In the process of determining the delimiter in the data sequence, if the determined delimiter includes at least one directional code group, the determined delimiter can be considered correct, thus improving the reliability of delimiter recognition.
[0186] In summary, the embodiments of this application construct a PMA training sequence including delimiters at the transmitting end, enabling the receiving end to achieve accurate and efficient delimitation based on the delimiters in the PMA training sequence.
[0187] In an exemplary embodiment, a delimiting method is also provided, which enables accurate delimiting. See also Figure 13 The diagram shows a flowchart of a delimitation method provided in an embodiment of this application. The delimitation method includes, but is not limited to, the following steps S1301 to S1302.
[0188] S1301, Receive PMA training sequence, the PMA training sequence includes first data and second data, and non-data code groups are included between the first data and the second data.
[0189] Non-data code groups refer to code groups that are different from the data code groups included in the data, or code groups that are directional.
[0190] S1302, when the non-data code group is the delimiter in the PMA training sequence, the data in the PMA training sequence is delimited according to the non-data code group to obtain the delimitation result.
[0191] Since the content of the data code group may be the same as the content of the non-data code group, after obtaining the non-data code group, it can be determined whether the non-data code group is a delimiter. If the non-data code group is a delimiter, delimiting based on the non-data code group can ensure the accuracy of the delimiting result. However, if the non-data code group is not a delimiter or does not belong to the delimiter category, delimiting based on the non-data code group is not performed to avoid obtaining incorrect delimiting results.
[0192] In one possible implementation, when the non-data code group is a delimiter in the PMA training sequence, before delimiting the data in the PMA training sequence based on the non-data code group and obtaining the delimiting result, the method further includes: if the number of non-data code groups that are the same as the reference code group in the non-data code group is greater than or equal to a first number, the non-data code group between the first data and the second data is determined as the delimiter, and the reference code group is the code group in the reference delimiter.
[0193] If the number of non-data code groups that are the same as the reference code group in the non-data code group is greater than or equal to the first number, it means that the obtained non-data code group conforms to the reference delimiter, and the non-data code group can be determined as the delimiter. However, if the number of non-data code groups that are the same as the reference code group in the non-data code group is less than the first number, it means that the obtained non-data code group does not conform to the reference delimiter, and it means that the non-data code group may be mistakenly obtained, and the obtained non-data code group is not determined as the delimiter.
[0194] The first quantity is determined based on the bit error rate of the link transmitting the PMA training sequence.
[0195] Optionally, the delimiter includes non-data code groups, the number of non-data code groups included in the delimiter is the same as the number of reference code groups included in the reference delimiter, the order of any non-data code group in the delimiter among the multiple non-data code groups is the same as the order of the reference code group corresponding to any non-data code group among the multiple reference code groups, and the content of any non-data code group is the same as the content of the reference code group corresponding to any non-data code group.
[0196] The PMA training sequence includes multiple delimiters, and the distance between any two adjacent delimiters is fixed.
[0197] In some cases, delimiters may have characteristics including, but not limited to, the following:
[0198] The non-data code group in the delimiter includes the adjustment code group, which is used to adjust the inhomogeneity of the PMA training sequence;
[0199] The content of the delimiter indicates the state of the device that sends the PMA training sequence;
[0200] When the delimiter includes a non-data code group, the state of the device is indicated by at least one of the following:
[0201] The type of non-data code group in the delimiter;
[0202] The relative positions of different types of non-data code groups in the delimiter;
[0203] The number of non-data code groups in the delimiter.
[0204] In one possible implementation, the delimiting result includes the boundary between the first data and the second data, and the method further includes: determining the boundary of the PMA training frame used to generate the PMA training sequence based on the boundary between the first data and the second data.
[0205] Optionally, the PMA training frame includes multiple PMA training subframes; determining the boundary of the PMA training frame used to generate the PMA training sequence based on the boundary of the first data and the second data includes: decoding the first data and the second data respectively according to the boundary of the first data and the second data to obtain the decoding result and the boundary of the training frame subframe; performing scrambling synchronization and descrambling according to the decoding result; determining the position of the tail training frame according to the training frame generation rules and the bit stream obtained by descrambling, thereby obtaining the boundary of the PMA training frame.
[0206] The scrambling and descrambling processes are performed based on the decoding results. The results can be used to determine the differences between the bit streams corresponding to each PMA training subframe. Based on these differences, the boundaries of each PMA training subframe can be determined, and the tail training subframe can be accurately identified.
[0207] For example, determining the boundary of a PMA training frame based on the boundaries of multiple PMA training subframes includes: identifying a tail training subframe among the multiple PMA training subframes that includes tail indication information, wherein the tail training subframe is the last PMA training subframe in a PMA training frame; and determining the boundary of the PMA training frame based on the tail training subframe and the boundaries of the multiple PMA training subframes.
[0208] In one possible implementation, the method further includes: determining a mapping length based on the boundary of the PMA training frame used to generate the PMA training sequence, the mapping length being the length of a first content in the PMA training sequence, the first content being the content corresponding to the PMA training frame, the boundary of the PMA training frame being determined based on the delimitation result; receiving a data sequence, the mapping length being an integer multiple of the length of a second content in the data sequence, the second content being the content corresponding to the data frame, the data sequence being generated based on the data frame; and determining the boundary of the data frame based on the mapping length.
[0209] The explanations of the methods and beneficial effects in S1301 to S1302 can be found in the explanations of the methods and beneficial effects in S1101 to S1103 above, and will not be repeated here.
[0210] The above describes the delimitation method provided by the embodiments of this application. Corresponding to the above method, the embodiments of this application also provide a delimitation device. This device is applied at the receiving end. This device is used to... Figure 14 Each module shown performs the above... Figure 11 or Figure 13 The method in [the text]. For example... Figure 14 As shown, the demarcation device provided in this application embodiment includes the following modules.
[0211] Interface circuit 1401 is used to receive a physical medium attachment PMA training sequence, the PMA training sequence including first data and second data, and a delimiter is included between the first data and the second data; control circuit 1402 is used to identify the delimiter in the PMA training sequence; control circuit 1402 is also used to delimit the data in the PMA training sequence according to the delimiter to obtain the delimiting result.
[0212] In one possible implementation, the delimiter includes non-data code groups, and the control circuit 1402 is used to acquire non-data code groups in the training sequence; in response to a first number of non-data code groups being identical to a first number of reference code groups in the reference delimiter, the delimiter is determined based on the first number of non-data code groups.
[0213] Alternatively, interface circuit 1401 is used to receive a physical medium attachment PMA training sequence, the PMA training sequence including first data and second data, with a non-data code group between the first data and the second data; control circuit 1402 is used to delimit the data in the PMA training sequence according to the non-data code group when the non-data code group is a delimiter in the PMA training sequence, and obtain a delimiting result.
[0214] In one possible implementation, when the non-data code group is a delimiter in the PMA training sequence, the control circuit 1402 is further configured to determine the non-data code group between the first data and the second data as a delimiter, and the reference code group is the code group in the reference delimiter, when the number of non-data code groups that are the same as the reference code group in the non-data code group is greater than or equal to a first number.
[0215] In one possible implementation, the delimiter includes non-data code groups, the number of non-data code groups included in the delimiter is the same as the number of reference code groups included in the reference delimiter, the order of any non-data code group in the delimiter among the multiple non-data code groups is the same as the order of the reference code group corresponding to any non-data code group among the multiple reference code groups, and the content of any non-data code group is the same as the content of the reference code group corresponding to any non-data code group.
[0216] In one possible implementation, the first quantity is determined based on the bit error rate of the link transmitting the PMA training sequence.
[0217] In one possible implementation, the PMA training sequence includes multiple delimiters, and the distance between any two adjacent delimiters is fixed.
[0218] In one possible implementation, the non-data code group in the delimiter includes an adjustment code group, which is used to adjust the inhomogeneity of the PMA training sequence.
[0219] In one possible implementation, the content of the delimiter indicates the state of the device that sends the PMA training sequence.
[0220] In one possible implementation, when the delimiter includes non-data code groups, the state of the device is indicated by at least one of the following: the type of non-data code groups in the delimiter; the relative positions of different types of non-data code groups in the delimiter; and the number of non-data code groups in the delimiter.
[0221] In one possible implementation, the delimiting result includes the boundary between the first data and the second data, and the control circuit 1402 is further configured to determine the boundary of the PMA training frame used to generate the PMA training sequence based on the boundary between the first data and the second data.
[0222] In one possible implementation, the PMA training frame includes multiple PMA training subframes; the control circuit 1402 is used to decode the first data and the second data respectively according to the boundary of the first data and the second data to obtain the decoding result; to perform scrambling synchronization and descrambling on the decoding result; to determine the boundary of the multiple PMA training subframes according to the training frame generation rules and the descrambling result; and to determine the boundary of the PMA training frame according to the boundary of the multiple PMA training subframes.
[0223] In one possible implementation, the control circuit 1402 is used to identify a tail training subframe that includes tail indication information among multiple PMA training subframes, wherein the tail training subframe is the last PMA training subframe in a PMA training frame; and to determine the boundary of the PMA training frame based on the tail training subframe and the boundary of the multiple PMA training subframes.
[0224] In one possible implementation, the control circuit 1402 is further configured to: determine a mapping length based on the boundary of the PMA training frame used to generate the PMA training sequence, wherein the mapping length is the length of a first content in the PMA training sequence, the first content being the content corresponding to the PMA training frame, and the boundary of the PMA training frame being determined based on the delimitation result; receive a data sequence, wherein the mapping length is an integer multiple of the length of a second content in the data sequence, the second content being the content corresponding to the data frame, and the data sequence being generated based on the data frame; and determine the boundary of the data frame based on the mapping length.
[0225] This application also provides a demarcation device. This device is applied at the receiving end. The device is used to... Figure 15 Each module shown performs the above... Figure 4 The method in [the text]. For example... Figure 15 As shown, the demarcation device provided in this application embodiment includes the following modules.
[0226] Control circuit 1502 is used to acquire at least one physical medium attachment PMA training frame; control circuit 1502 is also used to encode at least one PMA training frame to obtain a PMA training sequence, the PMA training sequence including first data and second data, and a delimiter is included between the first data and the second data; interface circuit 1501 is used to send the PMA training sequence so that the device receiving the PMA training sequence delimits the data in the PMA training sequence.
[0227] In one possible implementation, the delimiter includes non-data code groups.
[0228] In one possible implementation, the non-data code group includes an adjustment code group used to adjust the inhomogeneity of the PMA training sequences.
[0229] In one possible implementation, the content of the delimiter indicates the state of the device that sends the PMA training sequence.
[0230] In one possible implementation, when the delimiter includes non-data code groups, the state of the device is indicated by at least one of the following: the type of non-data code groups in the delimiter; the relative positions of different types of non-data code groups in the delimiter; and the number of non-data code groups in the delimiter.
[0231] In one possible implementation, when a PMA training frame includes multiple PMA training subframes, the last PMA training subframe in a PMA training frame is the tail training subframe, which includes tail indication information. In an exemplary embodiment, the above-mentioned delimiting device can be a chip, which can also be called an integrated circuit (IC). The delimiting device can be applied to devices such as industrial switches or end-side instruments. Specifically, the delimiting device can be implemented using a chip in the aforementioned device.
[0232] Industrial switches can be, for example, power switches or field switches. The structure of an industrial switch may include a physical layer (PHY) chip and a switching chip. The PHY chip is responsible for handling physical layer data transmission and reception, and typically includes functions such as signal conditioning, demodulation, and encoding / decoding. The switching chip is responsible for forwarding and switching data packets, and typically includes functional modules such as a switching matrix, a media access control (MAC) address table, and a data buffer, enabling fast and efficient data packet forwarding. In the embodiments of this application, the delimitation device may include at least one of a PHY chip or a switching chip.
[0233] Alternatively, delimiting devices can also be applied to servo drives and servo motors. Specifically, for example... Figure 3 As shown, the delimiting device can be implemented using chips in the servo driver and servo motor.
[0234] See Figure 16 , Figure 16 A schematic diagram of an exemplary demarcation device 1600 of this application is shown. The demarcation device 1600 includes at least one processor 1601, a memory 1603, and at least one network interface 1604.
[0235] Processor 1601 may be, for example, a general-purpose central processing unit (CPU), a digital signal processor (DSP), a network processor (NP), a GPU, a neural-network processing unit (NPU), a data processing unit (DPU), a microprocessor, or one or more integrated circuits or application-specific integrated circuits (ASICs), programmable logic devices (PLDs), other general-purpose processors or other programmable logic devices, discrete gates, transistor logic devices, discrete hardware components, or any combination thereof for implementing the scheme of this application. A PLD may be, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor. It is worth noting that the processor may be a processor supporting an advanced reduced instruction set machine (RISC) machine (ARM) architecture. It can implement or execute various logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0236] Optionally, the delimiting device 1600 also includes a bus 1602. The bus 1602 is used to transfer information between the components of the delimiting device 1600. The bus 1602 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus 1602 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 16 The symbol is represented by only one line, but this does not mean that there is only one bus or one type of bus.
[0237] The memory 1603 may be, for example, volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM), which is used as an external cache.
[0238] By way of example, but not limitation, many forms of ROM and RAM are available. For example, ROM is a compact disc read-only memory (CD-ROM). RAM includes, but is not limited to, static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0239] The memory 1603 can also be other types of storage devices capable of storing static information and instructions. Alternatively, it can be other types of dynamic storage devices capable of storing information and instructions. It can also be other optical disc storage, optical disk storage (including compressed optical discs, laser discs, optical discs, digital versatile optical discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. The memory 1603 may exist independently, for example, and be connected to the processor 1601 via bus 1602. The memory 1603 may also be integrated with the processor 1601.
[0240] Network interface 1604 uses any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, radio access network (RAN), or wireless local area network (WLAN). Network interface 1604 can include wired network interfaces and wireless network interfaces. Specifically, network interface 1604 can be an Ethernet interface, such as Fast Ethernet (FE), Gigabit Ethernet (GE), Asynchronous Transfer Mode (ATM), WLAN, cellular network, or combinations thereof. The Ethernet interface can be an optical interface, an electrical interface, or a combination thereof. In some embodiments of this application, network interface 1604 can be used for boundary device 1600 to communicate with other devices.
[0241] In specific implementations, as some embodiments, the processor 1601 may include one or more CPUs, such as Figure 16 The CPU0 and CPU1 shown are examples of processors. Each of these processors can be a single-core processor or a multi-core processor. A processor here can refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).
[0242] In specific implementations, as some embodiments, the demarcation device 1600 may include multiple processors, such as... Figure 16 The processors 1601 and 1605 are shown. Each of these processors may be a single-core processor or a multi-core processor. Here, "processor" may refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).
[0243] In some embodiments, memory 1603 is used to store program instructions 1610 for executing the scheme of this application, and processor 1601 can execute the program instructions 1610 stored in memory 1603. That is, delimiting device 1600 can implement the method provided in the method embodiment through processor 1601 and program instructions 1610 in memory 1603, i.e. Figure 4 , Figure 11 or Figure 13 The execution method. Program instructions 1610 may include one or more software modules. Optionally, processor 1601 itself may also store program instructions for executing the scheme of this application.
[0244] In specific implementation, the delimiting device 1600 of this application can correspond to the first network element device used to execute the above method. The processor 1601 in the delimiting device 1600 reads the instructions in the memory 1603, causing... Figure 16 The demarcation device 1600 shown is capable of performing all or part of the steps in the method embodiments.
[0245] The delimiting device 1600 can also correspond to the device shown in the above-described figure delimitation, where each functional module in the device shown in figure delimitation x is implemented using software from the delimiting device 1600. In other words, the functional modules included in the device shown in the figure delimitation are generated by the processor 1601 of the delimiting device 1600 reading the program instructions 1610 stored in the memory 1603.
[0246] In the delimitation method shown in the figure, each step is completed through integrated logic circuits in the hardware or instructions in the software form of the processor of the delimitation device 1600. The steps of the method embodiments disclosed in this application can be directly implemented by the hardware processor, or implemented by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. Since the storage medium is located in memory, the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method embodiments; to avoid repetition, these will not be described in detail here.
[0247] In an exemplary embodiment, a computer program (product) is provided, comprising: computer program code, which, when executed by a computer, causes the computer to perform... Figure 4 , Figure 11 or Figure 13 The method in the middle.
[0248] In an exemplary embodiment, a computer-readable storage medium is provided that stores a program or instructions, which, when executed on a computer, cause the computer to perform the aforementioned actions. Figure 4 , Figure 11 or Figure 13 The method in the middle.
[0249] In an exemplary embodiment, a chip is provided, including a processor for recalling and executing instructions stored in memory, causing a computer with the chip installed to perform... Figure 4 , Figure 11 or Figure 13 The method in the middle.
[0250] In an exemplary embodiment, another chip is provided, including: an input interface, an output interface, a processor, and a memory. The input interface, output interface, processor, and memory are connected via internal interconnection paths. The processor is used to execute code in the memory. When the code is executed, a computer with the chip installed performs... Figure 4 , Figure 11 or Figure 13 The method in the middle.
[0251] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive).
[0252] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items with substantially the same function. It should be understood that there is no logical or temporal dependency between "first," "second," and "nth," nor does it limit the quantity or order of execution. It should also be understood that although the following description uses the terms "first," "second," etc., to describe various elements, these elements should not be limited by the terms. These terms are merely used to distinguish one element from another.
[0253] It should also be understood that, in the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0254] In this application, the term "at least one" means one or more, and the term "multiple" means two or more. For example, multiple second devices means two or more second devices. The terms "system" and "network" are often used interchangeably herein.
[0255] It should be understood that the terminology used in the description of the various examples herein is for the purpose of describing particular examples only and is not intended to be limiting. As used in the description of the various examples and the appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0256] It should also be understood that the term "and / or" as used herein refers to and covers any and all possible combinations of one or more of the associated listed items. The term "and / or" describes an association between related objects, indicating that three relationships can exist; for example, A and / or B can represent: A alone, A and B simultaneously, or B alone. Additionally, the character " / " in this application generally indicates that the preceding and following related objects are in an "or" relationship.
[0257] It should also be understood that the terms “if” and “if” can be interpreted as meaning “when” or “upon”, or “in response to determination” or “in response to detection”. Similarly, depending on the context, the phrases “if determination…” or “if detection [the stated condition or event]” can be interpreted as meaning “when determination…”, or “in response to determination…”, or “when detection [the stated condition or event]” or “in response to detection [the stated condition or event]”.
[0258] The above description is merely an embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.
Claims
1. A method of delimiting, characterized by, The method comprises: receiving a physical medium attachment (PMA) training sequence, the PMA training sequence comprising first data and second data, the first data and the second data comprising a delimiter therebetween; identifying the delimiter in the PMA training sequence; delimiting data in the PMA training sequence according to the delimiter, to obtain a delimiting result.
2. The method of claim 1, wherein, The delimiter comprises a non-data code group, and the identifying the delimiter in the PMA training sequence comprises: obtaining the non-data code group in the PMA training sequence; in response to a first number of non-data code groups being identical to a first number of reference code groups in a reference delimiter, respectively, determining the delimiter according to the first number of non-data code groups.
3. A method of delimiting, characterized by, The method comprises: receiving a physical medium attachment (PMA) training sequence, the PMA training sequence comprising first data and second data, the first data and the second data comprising a non-data code group therebetween; in a case where the non-data code group is a delimiter in the PMA training sequence, delimiting data in the PMA training sequence according to the non-data code group, to obtain a delimiting result.
4. The method of claim 3, wherein, The method further comprises, before the delimiting data in the PMA training sequence according to the non-data code group, to obtain a delimiting result, in a case where the non-data code group is a delimiter in the PMA training sequence: in a case where a number of non-data code groups identical to a reference code group in the non-data code group is greater than or equal to a first number, determining the non-data code group between the first data and the second data as the delimiter, the reference code group being a code group in a reference delimiter.
5. The method according to any of claims 1 to 4, characterized in that, The delimiter comprises a non-data code group, a number of non-data code groups included in the delimiter being identical to a number of reference code groups included in a reference delimiter, an order of any one of the non-data code groups in the plurality of non-data code groups being identical to an order of a reference code group corresponding to the any one of the non-data code groups in the plurality of reference code groups, and a content of the any one of the non-data code groups being identical to a content of the reference code group corresponding to the any one of the non-data code groups.
6. The method according to any one of claims 1 to 5, characterized in that, The first number is determined based on an error code rate of a link through which the PMA training sequence is transmitted.
7. The method according to any of claims 1 to 6, characterized in that The PMA training sequence comprises a plurality of delimiters, and a distance between any two adjacent delimiters in the plurality of delimiters is fixed.
8. The method according to any one of claims 1 to 7, characterized in that, The non-data code group in the delimiter comprises an adjustment code group, and the adjustment code group is used to adjust unevenness of the PMA training sequence.
9. The method according to any of claims 1 to 8, characterized in that A content of the delimiter indicates a state of a device that transmits the PMA training sequence.
10. The method of claim 9, wherein, In a case where the delimiter comprises a non-data code group, the state of the device is indicated by at least one of: a type of the non-data code group in the delimiter; relative positions of different types of non-data code groups in the delimiter; a number of non-data code groups in the delimiter.
11. The method according to any one of claims 1 to 10, characterized in that, The delimiting result comprises a boundary of the first data and the second data, and the method further comprises: determining a boundary of a PMA training frame used to generate the PMA training sequence according to the boundary of the first data and the second data.
12. The method of claim 11, wherein, The PMA training frame includes a plurality of PMA training subframes; The method further includes: According to the boundary of the PMA training frame used for generating the PMA training sequence, a mapping length is determined, the mapping length being a length of first content in the PMA training sequence, the first content being content corresponding to the PMA training frame, the boundary of the PMA training frame being determined based on the delimiting result; A data sequence is received, the mapping length being an integer multiple of a length of second content in the data sequence, the second content being content corresponding to a data frame, the data sequence being generated based on the data frame; According to the mapping length, a boundary of the data frame is determined. The method includes:
13. The method of claim 12, wherein, At least one physical media attachment (PMA) training frame is obtained; The at least one PMA training frame is encoded to obtain a PMA training sequence, the PMA training sequence including first data and second data, a delimiting symbol being included between the first data and the second data; The PMA training sequence is transmitted, so that a device receiving the PMA training sequence delimits data in the PMA training sequence.
14. The method of any one of claims 1-13, wherein, The delimiting symbol includes a non-data code group. The non-data code group includes an adjustment code group, the adjustment code group being used to adjust unevenness of the PMA training sequence. Content of the delimiting symbol indicates a state of the device transmitting the PMA training sequence. In a case where the delimiting symbol includes a non-data code group, the state of the device is indicated by at least one of:
15. A method of delimiting, characterized by A type of the non-data code group in the delimiting symbol; Relative positions of different types of non-data code groups in the delimiting symbol; A number of non-data code groups in the delimiting symbol. In a case where one PMA training frame includes a plurality of PMA training subframes, a last PMA training subframe in one PMA training frame is a tail-end training subframe, the tail-end training subframe including tail-end indication information.
16. The method of claim 15, wherein, The device includes a control circuit and an interface circuit; 17. The method of claim 16, wherein, 18. The method of any of claims 15-17, wherein, 19. The method of claim 18, wherein, 20. The method of any of claims 15-19, wherein, 21. A delimiting device, characterized in that The interface circuit is configured to receive a physical media attachment (PMA) training sequence, the PMA training sequence comprising first data and second data, and the first data and the second data comprising a delimiter therebetween. The control circuit is configured to identify the delimiter in the PMA training sequence. The control circuit is further configured to delimit data in the PMA training sequence according to the delimiter to obtain a delimiting result.
22. The apparatus of claim 21, wherein, The delimiter comprises a non-data code group. The control circuit is configured to obtain a non-data code group in the PMA training sequence, and determine the delimiter according to a first number of non-data code groups that are identical to a first number of reference code groups in a reference delimiter, in response to the first number of non-data code groups being identical to the first number of reference code groups.
23. A delimiting device, characterized in that The apparatus comprises a control circuit and an interface circuit. The interface circuit is configured to receive a physical media attachment (PMA) training sequence, the PMA training sequence comprising first data and second data, and the first data and the second data comprising a non-data code group therebetween. The control circuit is configured to delimit data in the PMA training sequence according to the non-data code group to obtain a delimiting result, in a case where the non-data code group is a delimiter in the PMA training sequence.
24. The apparatus of claim 23, wherein, The control circuit is further configured to determine the non-data code group between the first data and the second data as the delimiter, in a case where a number of non-data code groups identical to a reference code group in a reference delimiter in the non-data code group is greater than or equal to a first number.
25. The apparatus of any of claims 21-24, wherein, The delimiter comprises a non-data code group, a number of non-data code groups included in the delimiter is identical to a number of reference code groups included in a reference delimiter, an order of any non-data code group in the plurality of non-data code groups is identical to an order of a reference code group corresponding to the any non-data code group in the plurality of reference code groups, and a content of the any non-data code group is identical to a content of the reference code group corresponding to the any non-data code group.
26. The apparatus of any of claims 21-25, wherein, The first number is determined based on a bit error rate of a link transmitting the PMA training sequence.
27. The apparatus of any of claims 21-26, wherein, The delimiting result comprises a boundary of the first data and the second data, and the control circuit is further configured to determine a boundary of a PMA training frame used to generate the PMA training sequence according to the boundary of the first data and the second data.
28. The apparatus of claim 27, wherein, The PMA training frame comprises a plurality of PMA training subframes, and the control circuit is configured to decode the first data and the second data respectively according to the boundary of the first data and the second data to obtain a decoding result. The decoding result is subjected to scrambling synchronization and descrambling to obtain a descrambling result, and the boundary of the plurality of PMA training subframes is determined according to a training frame generation rule and the descrambling result. The boundary of the PMA training frame is determined according to the boundary of the plurality of PMA training subframes.
29. The apparatus of claim 28, wherein, The control circuit is configured to identify a tail-end training subframe including tail-end indication information in the plurality of PMA training subframes, the tail-end training subframe being a last PMA training subframe in a PMA training frame; and determine a boundary of the PMA training frame according to the tail-end training subframe and boundaries of the plurality of PMA training subframes.
30. The apparatus of any of claims 21-29, wherein, The control circuit is further configured to determine a mapping length according to a boundary of a PMA training frame used to generate the PMA training sequence, the mapping length being a length of first content in the PMA training sequence, the first content being content corresponding to the PMA training frame, the boundary of the PMA training frame being determined based on the delimiting result. The interface circuit is further configured to receive a data sequence, the mapping length being an integer multiple of a length of second content in the data sequence, the second content being content corresponding to a data frame, the data sequence being generated based on the data frame. The control circuit is further configured to determine a boundary of the data frame according to the mapping length.
31. A delimiting device, characterized in that The apparatus includes an interface circuit and a control circuit. The control circuit is configured to obtain at least one physical media attachment (PMA) training frame. The control circuit is further configured to encode the at least one PMA training frame to obtain a PMA training sequence, the PMA training sequence including first data and second data, and a delimiter being included between the first data and the second data. The interface circuit is configured to send the PMA training sequence, so that a device receiving the PMA training sequence delimits data in the PMA training sequence.