Multi-channel alignment method, device and system

By sending logic layer control frames of specific modes on multiple channels to measure and eliminate delay deviations, the data synchronization problem caused by delay deviations between multiple channels is solved, and the synchronous reception and processing of multi-channel data is realized.

WO2025112916A1PCT designated stage expired Publication Date: 2025-06-05HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/123475
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-01
Filing Date
2024-10-08
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

In the field of communication technology, the delay deviation (skew) between multiple channels due to line length differences, impedance gaps, delays introduced by data conversion and external factors, which affects the synchronization of data and makes it difficult for the receiver to correctly receive and process data.

Method used

A multi-channel alignment method is provided. By obtaining mode indication information, it is determined that the multi-channel alignment mode is a test mode or a normal mode, and according to the mode, a corresponding logic layer control frame (LLCF_DS or LLCF_DST) is sent on multiple channels to measure and eliminate the delay deviation between channels.

Benefits of technology

Without increasing the depth of FIFO, FIFO cache overflow is effectively avoided, ensuring that the data of multiple channels reaches the receiving end at the same time, and solving the data error problem caused by the delay deviation between channels exceeding the maximum delay deviation range.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024123475_05062025_PF_FP_ABST
    Figure CN2024123475_05062025_PF_FP_ABST
Patent Text Reader

Abstract

A multi-channel alignment method, device and system, relating to the technical field of communications, used for solving the problem of cache overflow. The method comprises: acquiring mode indication information, the mode indication information being used for indicating that a multi-channel alignment mode is a test mode or a normal mode; and on the basis of the mode indication information, sending a start logic layer control frame LLCF_DS or a skew elimination test logic layer control frame LLCF_DST in a plurality of channels, wherein if the mode indication information is used for indicating a test mode, the LLCF_DST is sent in the plurality of channels, and if the mode indication information is used for indicating a normal mode, the LLCF_DS is sent in the plurality of channels.
Need to check novelty before this filing date? Find Prior Art

Description

Multi-channel alignment method, device and system

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on December 1, 2023, with application number 202311658396.4 and application name “A multi-channel alignment method, device and system”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of communication technology, and in particular to a multi-channel alignment method, device, and system. Background Art

[0003] In the field of communications technology, there are often scenarios where data is transmitted between devices via multiple channels. Currently, when data is transmitted between devices via multiple channels, various factors can cause a certain amount of delay skew between the multiple channels. For example, these factors can include differences in line lengths between multiple channels, impedance differences when printing circuit boards, delays introduced during serial-to-parallel conversion of data from different channels, and external factors such as temperature. Therefore, in order to ensure that the receiving device can correctly receive and process data, it is necessary to eliminate the delay skew between multiple channels to ensure that data from multiple channels arrives at the receiving end at the same time, allowing the receiving end to perform subsequent processing on the data.

[0004] Summary of the Invention

[0005] The present application provides a multi-channel alignment method, device and system for eliminating delay deviations of multiple channels to ensure that data from multiple channels can arrive at the receiving end at the same time point.

[0006] To achieve the above objectives, the embodiments of the present application adopt the following technical solutions:

[0007] In a first aspect, a multi-channel alignment method is provided, the method comprising: obtaining mode indication information (the mode indication information may be specified by software), the mode indication information being used to indicate whether the multi-channel alignment mode is a test mode or a normal mode (for example, the mode indication information is represented as skew_tst; if the skew_tst = 0, it is used to indicate the normal mode; if the skew_tst = 1, it is used to indicate the measurement mode); according to the mode indication information, sending a start logical layer control frame LLCF_DS or an offset elimination test logical layer control frame LLCF_DST on multiple channels; wherein, if the mode indication information is used to indicate the test mode, the LLCF_DST is sent on the multiple channels; if the mode indication information is used to indicate the normal mode, the LLCF_DS is sent on the multiple channels.

[0008] In the above technical solution, the data sending device can obtain mode indication information, which is used to indicate whether the mode of multi-channel alignment is test mode or normal mode, and send LLCF_DS or LLCF_DST on multiple channels according to the mode indication information. In this way, in test mode, the delay deviation of the multiple channels can be measured by the LLCF_DST sent by the multiple channels, and multi-channel alignment can be achieved based on the delay deviation; in normal mode, LLCF_DS can be sent normally to achieve normal data transmission. By measuring the delay deviation of the multiple channels, this method can avoid FIFO buffer overflow without increasing the FIFO depth, thereby solving the problem of data errors caused by the delay deviation between channels exceeding the maximum delay deviation range.

[0009] In a possible implementation of the first aspect, before the multiple channels send the start logical layer control frame LLCF_DS or the deviation elimination test logical layer control frame LLCF_DST, the method also includes: obtaining delay indications of the multiple channels, where at least two channels among the multiple channels have different delay indications, and the delay indication of each channel is used to indicate the first delay of the channel. The delay indication of each channel can be determined based on the first delay of the channel, or a corresponding delay indication can be configured for the channel based on the first delay; based on the delay indications of the multiple channels, a padding logical layer control frame LLCF_PAD is sent simultaneously on the multiple channels. In the above possible implementation methods, the data sending device can obtain delay indications of multiple channels, send LLCF_PAD on the multiple channels at the same time according to the delay indications of the multiple channels, and send LLCF_DST or LLCF_DS after LLCF_PAD, thereby reducing the delay deviation of LLCF_DST or LLCF_DS of different channels reaching the data receiving device. Ideally, the ends of LLCF_PAD of different channels can reach the data receiving device at the same time, that is, the LLCF_DST or LLCF_DS on different channels can reach the data receiving device at the same time, thereby achieving multi-channel alignment, thereby avoiding FIFO buffer overflow, and solving the problem of data errors caused by the delay deviation between channels exceeding the maximum delay deviation range.

[0010] In a possible implementation of the first aspect, the length deviation between any LLCF_PAD in the multiple channels and the shortest LLCF_PAD in the multiple channels is equal to the delay indication of the channel corresponding to any LLCF_PAD. In the above possible implementation, by setting the length between the LLCF_PADs of the multiple channels to be equal to the delay indication of the multiple channels, and sending LLCF_DST or LLCF_DS after LLCF_PAD, the delay deviation of the LLCF_DST or LLCF_DS of different channels reaching the data receiving device is reduced. Ideally, the ends of the LLCF_PADs on different channels can arrive at the data receiving device at the same time, that is, the LLCF_DST or LLCF_DS on different channels can arrive at the data receiving device at the same time, so that multi-channel alignment can be achieved, thereby reducing the FIFO depth in the data receiving device.

[0011] In one possible implementation of the first aspect, the first delay is determined based on the second delay, or the first delay is determined based on historical delays. This possible implementation improves the accuracy of the first delay, thereby reducing delay variations in the arrival of information transmitted across multiple channels at the data receiving device, while also increasing flexibility and diversity in determining the second delay.

[0012] In a possible implementation of the first aspect, if the mode indication information indicates the test mode, and after the multiple channels transmit the LLCF_DST, the method further includes: receiving a channel alignment feedback message, where the channel alignment feedback message includes the second delays of the multiple channels. In this possible implementation, by transmitting LLCF_DST on multiple channels, causing the data receiving device to measure the second delays of the multiple channels, and returning the second delays of the multiple channels via the channel alignment feedback message, the accuracy of the second delays obtained by the data sending device can be improved.

[0013] In a possible implementation of the first aspect, if the mode indication information indicates the test mode, and after the multiple channels transmit the LLCF_DST, the method further includes: if no channel alignment feedback message DFSM is received within the first duration, determining that delay measurement of the multiple channels has failed. This possible implementation prevents the data transmitting apparatus from being in a state of waiting to receive the second delay for a long time, thereby reducing power consumption.

[0014] In a possible implementation of the first aspect, the method further includes: after the multiple channels send the LLCF_DST, sending the electrical idle logical layer control frame LLCF_EI on the multiple channels; or, after the multiple channels send the LLCF_DS, sending service data on the multiple channels. In the above possible implementation, the data sending device can, in test mode, measure the delay deviation of the multiple channels by sending LLCF_DST and LLCF_EI on the multiple channels, and notify the data receiving device to end the delay measurement by sending LLCF_EI; in normal mode, LLCF_DS and service data can be sent normally to achieve normal data transmission. Since the LLCF_DS of different channels can reach the data receiving device almost at the same time, the service data of the multiple channels sent after LLCF_DS can also reach the data receiving device almost at the same time, avoiding FIFO buffer overflow, thereby solving the problem of data errors caused by the delay deviation between channels exceeding the maximum delay deviation range.

[0015] In one possible implementation of the first aspect, the LLCF_DST on the multiple channels is sent simultaneously. In this possible implementation, the data transmitting device can simultaneously send LLCF_DST on the multiple channels in test mode, so that the data receiving device can directly measure the delay deviation of the multiple channels, thereby increasing the rate of determining the delay deviation of the multiple channels and reducing the difficulty of determination.

[0016] In a second aspect, a multi-channel alignment method is provided, which includes: detecting a start logical layer control frame LLCF_DS or a deviation elimination test logical layer control frame LLCF_DST in multiple channels; if the LLCF_DS is detected in the multiple channels, determining that the multi-channel alignment mode is a normal mode; if the LLCF_DST is detected in the multiple channels, determining that the multi-channel alignment mode is a test mode.

[0017] In a possible implementation manner of the second aspect, when it is determined that the multi-channel alignment mode is the normal mode, the method further includes: performing multi-channel alignment according to the LLCF_DS of the multiple channels.

[0018] In a possible implementation of the second aspect, when the multi-channel alignment mode is determined to be a test mode, the method further includes: determining the second delay of the multiple channels based on the reception time of LLCF_DST of the multiple channels; and sending a channel alignment feedback message, wherein the channel alignment feedback message includes the second delay of the multiple channels.

[0019] In a possible implementation manner of the second aspect, the method further includes: if the LLCF_DS or the LLCF_DST is not detected within a second time length of the multiple channels, determining that the multi-channel alignment fails.

[0020] In a possible implementation of the second aspect, the method further includes: after the multiple channels detect the LLCF_DST, receiving the electrical idle logical layer control frame LLCF_EI on the multiple channels; or, after the multiple channels detect the LLCF_DS, receiving service data on the multiple channels.

[0021] In a third aspect, a data transmission device is provided. The data transmission device can implement the functions performed by the data transmission device in the above method. The functions can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions.

[0022] In a possible implementation of the third aspect, the data sending device includes a processing unit, a sending unit, and a receiving unit; the processing unit is configured to support the data sending device in performing corresponding functions in the above-mentioned multi-channel alignment method; and the sending unit and the receiving unit are used to support communication between the data sending device and the data receiving device.

[0023] In another possible implementation of the third aspect, the data transmitting device includes a processor and a transceiver; the processor is configured to support the data transmitting device in executing the corresponding functions of the above method; and the transceiver is configured to support communication between the data transmitting device and a data receiving device. Optionally, the data transmitting device also includes a memory, coupled to the processor, that stores program instructions and data necessary for the device.

[0024] In a fourth aspect, a data receiving device is provided. The data receiving device can implement the functions performed by the data receiving device in the above method. The functions can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions.

[0025] In a possible implementation of the fourth aspect, the data receiving device includes a processing unit, a receiving unit, and a sending unit; the processing unit is configured to support the data receiving device in performing corresponding functions in the above-mentioned multi-channel alignment method; and the receiving unit and the sending unit are used to support communication between the data receiving device and the data sending device.

[0026] In another possible implementation of the fourth aspect, the data receiving device includes a processor and a transceiver; the processor is configured to support the data receiving device in executing corresponding functions in the multi-channel alignment method described above; and the transceiver is configured to support communication between the data receiving device and a data transmitting device. Optionally, the data receiving device also includes a memory, coupled to the processor, that stores program instructions and data necessary for the device.

[0027] In another aspect of the present application, a chip is provided, comprising: a processing circuit and a transceiver; the processing circuit and the transceiver are used to support the chip in executing the multi-channel alignment method provided in the first aspect or any possible implementation of the first aspect; or, the processing circuit and the transceiver are used to support the chip in executing the multi-channel alignment method provided in the second aspect or any possible implementation of the second aspect.

[0028] In another aspect of the present application, a data transmission system is provided, which includes a data sending device provided by any of the above aspects and a data receiving device provided by any of the above aspects, wherein the data sending device is used to execute the multi-channel alignment method provided by the first aspect or any possible implementation of the first aspect, and the data receiving device is used to execute the multi-channel alignment method provided by the second aspect or any possible implementation of the second aspect.

[0029] In another aspect of the present application, a computer-readable storage medium is provided, in which a computer program or instruction is stored. When the computer program or instruction is executed, the multi-channel alignment method provided by the first aspect or any possible implementation of the first aspect is implemented.

[0030] In another aspect of the present application, a computer-readable storage medium is provided, in which a computer program or instruction is stored. When the computer program or instruction is executed, the multi-channel alignment method provided by the second aspect or any possible implementation of the second aspect is implemented.

[0031] In another aspect of the present application, a computer program product is provided, which includes: a computer program (also referred to as code, or instructions), which, when executed, enables a computer to execute the multi-channel alignment method provided in the first aspect or any possible implementation of the first aspect.

[0032] In another aspect of the present application, a computer program product is provided, which includes: a computer program (also referred to as code, or instructions), which, when executed, enables a computer to execute the multi-channel alignment method provided in the second aspect or any possible implementation of the second aspect.

[0033] It can be understood that the beneficial effects that can be achieved by any of the data sending devices, data receiving devices, data transmission systems, computer-readable storage media and computer program products provided above can correspond to the beneficial effects of the multi-channel alignment method provided above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] FIG1 is a schematic structural diagram of a data transmission system provided in an embodiment of the present application;

[0035] FIG2 is a schematic diagram of the structure of another data transmission system provided in an embodiment of the present application;

[0036] FIG3 is a schematic diagram of basic components of an electronic device provided in an embodiment of the present application;

[0037] FIG4 is a schematic diagram of inter-interface transmission provided in an embodiment of the present application;

[0038] FIG5 is a schematic diagram of a method for performing channel alignment using a FIFO buffer according to an embodiment of the present application;

[0039] FIG6 is a schematic diagram of a flow chart of a multi-channel alignment method provided in an embodiment of the present application;

[0040] FIG7 is a schematic diagram of a delayed insertion of a deskew symbol provided by an embodiment of the present application;

[0041] FIG8 is a schematic flow chart of another multi-channel alignment method provided in an embodiment of the present application;

[0042] FIG9 is a schematic diagram of channel alignment using delayed transmission according to an embodiment of the present application;

[0043] FIG10 is a schematic diagram of another method for performing channel alignment using delayed transmission according to an embodiment of the present application;

[0044] FIG11 is a schematic flow chart of another multi-channel alignment method provided in an embodiment of the present application;

[0045] FIG12 is a schematic diagram of a method for measuring delays of multiple channels according to an embodiment of the present application;

[0046] FIG13 is a schematic diagram of another method for measuring delays of multiple channels provided in an embodiment of the present application;

[0047] FIG14 is a schematic diagram of a flow chart of another multi-channel alignment method provided in an embodiment of the present application;

[0048] FIG15 is a schematic flow chart of another multi-channel alignment method provided in an embodiment of the present application;

[0049] FIG16 is a schematic structural diagram of a data sending device provided in an embodiment of the present application;

[0050] FIG17 is a schematic structural diagram of another data sending device provided in an embodiment of the present application;

[0051] FIG18 is a schematic structural diagram of a data receiving device provided in an embodiment of the present application;

[0052] FIG19 is a schematic structural diagram of another data receiving device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0053] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.

[0054] In this application, "at least one" means one or more, and "more" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, a and b, a and c, b and c, a, b and c; where a, b and c can be single or multiple.

[0055] The embodiments of this application use terms such as "first" and "second" to distinguish objects with similar names, functions, or effects. Those skilled in the art will understand that terms such as "first" and "second" do not limit the quantity or order of execution. The term "coupled" is used to indicate an electrical connection, including direct connection via wires or connectors or indirect connection via other devices. Therefore, "coupling" should be considered a broadly defined electronic communication connection.

[0056] It should be noted that, in this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described in this application as "exemplary" or "for example" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0057] Before introducing the embodiments of the present application, the relevant terms involved in the present application are first introduced and explained.

[0058] Lane: A path used to transmit signals. A lane can be unidirectional or bidirectional. A unidirectional lane consists of a pair of differential signal lines, while a bidirectional lane consists of two pairs of differential signal lines.

[0059] Link: It is a collection of channels or a conductor line used for power supply. A link generally includes one channel or multiple channels. When the channel is working, a transmitter and a receiver are turned on at both ends, and data (or signals) are transmitted only from the transmitter to the receiver. For a link, the side where the transmitter is located is called the transmitter side or the transmitting side (transmitter side, Tx side), and the side where the receiver is located is called the receiving side or the receiving side (receiver side, Rx side). Links can be divided into downlinks and uplinks. The uplink refers to the link when the slave device (for example, a game controller) sends a signal to the master device (for example, a display), and the downlink refers to the link when the master device (for example, a routing device) sends a signal to the slave device (for example, a display).

[0060] Main Link: Used for high-speed data transmission, such as audio and video signals, third-party protocol data, and other high-speed data transmission.

[0061] Sideband link (SL): Used for low-speed data transmission, such as device management signals, port management signals, bandwidth management signals, and power management signals. It is also used to transmit control messages. The reliability of data transmission on the sideband link is higher than that on the main link.

[0062] Multi-channel alignment: During multi-channel data transmission, transmission delays across different channels can vary. This means that data arrival times on each channel may differ, introducing skew (or phase offset). To ensure that the receiving end of each channel can simultaneously and correctly process the received data, each channel must be adjusted and compensated. This process is called deskew (or delay skew elimination), also known as channel alignment.

[0063] Logical layer control frame (LLCF): data used to implement link management functions such as link training and status update. In one possible implementation, as shown in Table 1 and Table 2 below, the LLCF frame format includes a frame header, the frame header includes a frame type and a checksum, the frame type is used to indicate the frame type, and the checksum is a check bit for the frame type. Optionally, the LLCF frame format may also include a payload, which is the information carried by the corresponding type of control frame. The LLCF may include one or more frame headers, the frame type and checksum in each frame header may each occupy one byte (byte, B), that is, the length of the frame type and checksum may both be 1B; the payload in the LLCF may occupy one or more bytes, that is, the length of the payload is variable. Exemplarily, the LLCF includes multiple frame headers and payloads, frame header 1 occupies bytes B0 and B1, frame header 2 occupies bytes B2 and B3, frame header 3 occupies bytes B4 and B5, and payload occupies byte B6. The contents of the frame header 1, frame header 2 and frame header 3 in the above frame structure are the same, forming a repetition code.

[0064] Table 1

[0065] Table 2

[0066] In the present application, as shown in Table 3 below, the logical layer control frame types used may include: data start logical layer control frame (LLCF_DS), the corresponding frame type is 0x4B, the check is 0xA3, and the payload length is 0. The LLCF_DS is used to mark the start of transmission of a new logical layer block (LLB); deskew test logical layer control frame channel (LLCF_DST), the corresponding frame type is 0x5A, the check is 0xD4, and the payload length is 0. The LLCF_DST is used for delay detection; pad logical layer control frame (LLCF_PAD), the corresponding frame type is 0xD2, the check is 0x65, and the payload length is variable length. The LLCF_PAD is used for padding and is directly discarded upon receipt. The electrical idle logical layer control frame (LLCF_EI) has a corresponding frame type of 0x65, a checksum of 0x69, and a payload length of 0. The LLCF_EI is used to mark the end of the frame data.

[0067] Table 3

[0068] The technical solution provided in this application can be applied to a data transmission system including multiple data transmission devices, which can be devices, chips applied to devices, or interface devices, etc. In this data transmission system, a data transmission device (for example, a data sending device) and a data transmission device (for example, a data receiving device) can be directly connected, or indirectly connected through a switching device such as a router, that is, the multiple data transmission devices can all be connected to the switching device. In this application, data transmission can be performed between the multiple data transmission devices in a wired manner or in a wireless manner. In addition, when data transmission is performed between the multiple data transmission devices, signals can be transmitted directly or through an interface device.

[0069] When the data transmission device is a chip in a device, the chips in the data transmission system can be interconnected via wired or wireless means. The chip can be a chip in the device, a chip in a docking station, or a chip in an adapter, etc. The docking station can be connected to a Gigabit Ethernet port, a video graphics array (VGA), an HDMI port, a flash memory (TF) card, a secure digital (SD) card, a charging port, and a USB port, etc.

[0070] Optionally, when the data transmission device is a chip, the chip may further include an interface module, that is, the present application may be applied to an interface module for interconnecting chips. The interface module may be understood as an intellectual property (IP) module integrated inside the chip. Alternatively, the interface module may also be sold separately as an IP module. For example, the chip may be a system on chip (SoC), a central processing unit (CPU), or a graphics processing unit (GPU), etc., and the above-mentioned interface module may be an interface module in the SoC, CPU, or GPU, etc. Optionally, the interface module may be a transmitting circuit and / or a receiving circuit.

[0071] The following uses the data transmission system including multiple devices as an example to illustrate the structure of the data transmission device.

[0072] Figure 1 is a structural diagram of a data transmission system provided by an embodiment of the present application. The data transmission system includes a first device 110 and a second device 120, and the first device 110 and the second device 120 are connected by wired or wireless means, for example, by a cable. Among them, signals can be transmitted between the first device 110 and the second device 120, for example, audio and video data can be transmitted or charging signals can be transmitted. In one example, the first device 110 can be a set-top box, and the second device 120 can be a TV. The set-top box and the TV can be connected by a cable, and the set-top box can transmit audio and video data to the TV via a cable. In another example, the first device 110 is a display, and the second device 120 is a game controller. The display and the game controller can be connected by a cable, and the game controller can transmit control information to the display via a cable.

[0073] Optionally, the first device 110 may include interface A, and the second device may include interface B. The connection between the first device 110 and the second device 120 can be specifically a connection between interface A of the first device 110 and interface B of the second device 120. For example, interface A of the first device 110 and interface B of the second device 120 are connected via a cable.

[0074] FIG2 is a structural diagram of another data transmission system provided in an embodiment of the present application. The data transmission system includes a plurality of devices 210 and a router 220. The plurality of devices 210 can be connected to the router 220 by wired or wireless means. For example, the plurality of devices 210 can all be connected to the router 220 by cables. Among them, any two devices in the plurality of devices 210 can transmit signals through the router 220, for example, transmitting audio and video data or transmitting charging signals. In one example, the plurality of devices 210 can include a display 211, a set-top box 212 and an audio player (e.g., MP3) 213. The set-top box 212 can transmit audio and video data to the display 211 through the router 220. The set-top box 212 can also transmit audio data to the audio player 213 through the router 220. In addition, there can also be two interconnected devices in the plurality of devices 210. For example, the plurality of devices 210 can also include a game controller 214. The game controller 214 can be connected to the display 211 and transmit control information to the display 211.

[0075] Optionally, each of the multiple devices 210 may include an interface, and the router 220 may include multiple interfaces, and the interface of each of the multiple devices 210 may be connected to one of the multiple interfaces of the router 220. For example, the multiple devices 210 include a display, a set-top box, a game controller, and an audio player, and the multiple interfaces of the router 220 include a first interface to a fourth interface, the interface of the display is connected to the first interface of the router 220 via a cable, the interface of the set-top box is connected to the second interface of the router 220 via a cable, the interface of the game controller is connected to the third interface of the router 220 via a cable, and the interface of the audio player is connected to the fourth interface of the router 220 via a cable.

[0076] The devices in the above-mentioned system with data transmission capabilities can be referred to as communication devices. The communication devices can be deployed on land, including indoors or outdoors, and can be handheld or vehicle-mounted. The communication devices can also be deployed on water (such as ships) or in the air (such as aircraft, balloons, and satellites). The communication devices can be applied in different scenarios. Exemplarily, the communication device may include, but is not limited to: a mobile phone, a tablet computer, a laptop computer, a PDA, a mobile internet device (MID), a camera, a wearable device (such as a smart watch, a smart bracelet, a pedometer, etc.), an audio device, an audio and video player, a set-top box, a game console, a printer, a mouse, a keyboard, an in-vehicle device (such as a car, a bicycle, an electric car, an airplane, a ship, a train, a high-speed train, etc.), a virtual reality (VR) device, an augmented reality (AR) device, a wireless terminal in industrial control, a smart home device (such as a refrigerator, a television, an air conditioner, an electric meter, etc.), an intelligent robot, a workshop device, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, or a smart home. Wireless terminals in homes, flying devices (e.g., smart robots, hot air balloons, drones, airplanes), etc. Optionally, the signals transmitted between the above communication devices may include, but are not limited to: audio and video signals, radio frequency signals, IoT data, and charging signals.

[0077] In the present application, the interface specifications used for signal transmission between devices in a data transmission system may include, but are not limited to: universal serial bus (USB) interface specifications, high definition multimedia interface (HDMI) interface specifications, display port (DP) interface specifications, unified multimedia interconnection (UMI) interface specifications, and peripheral component interconnect express (PCI-Express) interface specifications, etc. Accordingly, the interface may be HDMI, miniHDMI, micro HDMI, type-A interface, type-B interface, Micro-B, and type-C interface, etc.

[0078] For example, in the above examples, the interface connection method between the set-top box and the TV, or the interface connection method between the game console and the monitor can be connected through a USB cable, and the interface standard followed is the USB interface specification, or the connection method can be connected through an HDMI cable, and the interface standard followed is the HDMI interface specification.

[0079] It will be understood that the interface specifications used for signal transmission between the above-mentioned devices are merely exemplary. In actual applications, the interface specifications may also include other or any interface specifications that may appear in the future, such as a unified media interconnection (UMI) interface, etc., and the embodiments of the present application are not specifically limited to this.

[0080] In this application, when the aforementioned device is an electronic device, FIG3 shows a schematic diagram of the basic components of such an electronic device. The electronic device includes an interface chip 300 (UMI interface), which includes one or more adapters 301, a management and control adapter 302, and one or more ports 303. Alternatively, when the electronic device is a routing device, the interface chip 300 includes only one or more ports 303. Each of the one or more adapters 301 can be coupled to an external component of the interface chip 300. The management and control adapter 302 can be coupled to a component external to the interface chip 300 for management and control. The port 303 can be coupled to a connector 304 of the electronic device, which is used to couple to external devices of the electronic device. One or more adapters 301 can be a transmit / receive adapter. For example, when the adapter 301 is used to adapt audio and video formats, the adapter 301 can be an audio and video transmit / receive adapter. When the adapter 301 is used to adapt a third-party protocol, the adapter 301 can be a third-party protocol adapter.

[0081] For example, when port 303 is a downlink port, the transmission adapter can be used to adapt the service information to be sent into service information that can be transmitted on port 303 of the interface chip, and then send the service information out through port 303. When port 303 is an uplink port, the reception adapter 301 can be used to adapt the service information received from port 303 into service information to be processed internally by the electronic device. The management and control adapter 302 can be used to adapt control information.

[0082] The basic components of different electronic devices can be combined to form a variety of different device types. For example, an electronic device may include a source device with at least one downstream port and at least one audio and video transmitter adapter, or a source device with at least one upstream port and an audio and video receiver adapter, or a docking station device with at least one upstream port, at least one audio and video receiver adapter, and at least one traditional audio and video interface, or a routing device with at least one downstream port and at least one upstream port but without an audio and video transmitter adapter or an audio and video receiver adapter, or a composite device with both an upstream port and a downstream port.

[0083] Figure 4 shows a schematic diagram of inter-interface transmission provided by an embodiment of the present application. Devices may include a primary link and a secondary link between their uplink and downlink ports. The primary link can be used for high-speed data transmission, such as audio and video signals. The secondary link can be used for inter-device management and control, such as device discovery, capability query, device configuration, and device control. It can also be used for low-speed data transmission and control message transmission.

[0084] In one possible embodiment, the main link may include multiple channels, each of which supports unidirectional transmission; the auxiliary link may include two unidirectional channels in different directions. In other possible embodiments, the main link may include multiple channels, some of which are unidirectional channels and others are bidirectional channels; and the auxiliary link may include one bidirectional channel. Exemplarily, a main link may include multiple channels, for example, 2, 5, or 9. The greater the number of channels included in the main link, the faster the data transmission speed. Exemplarily, as shown in Figure 4, for an uplink port, the main link may include n transmit channels TX0-TXn and m receive channels RX0-RXm, and the auxiliary link may include a transmit channel SBTX and a receive channel SBRX, where n and m are positive integers. For a downlink port, the main link may include n receive channels RX0-RXn and m transmit channels TX0-TXm, and the auxiliary link may include a receive channel SBRX and a transmit channel SBTX.

[0085] Furthermore, a power-bus link (PL) and a cable-information link (CL) may be included between the upstream and downstream ports of each device. The cable-information link can be used to transmit cable information, such as the cable model and cable capability. The power-bus link and the cable-information link are not shown in the figure.

[0086] It can be understood that for ports between devices, whether they are uplink ports or downlink ports, they can include multiple pins, such as pins connected to ground wires, pins connected to power lines, pins connected to channels of the main link, and pins connected to channels of the auxiliary link.

[0087] In the high-speed interconnection interface, the above-mentioned main link can also be called a high-speed link, which can specifically include multiple channels supporting high-speed data transmission. For example, the transmission rate supported by the channel of the main link can be 2Gbps, 4Gbps or 8Gbps, etc.; the above-mentioned auxiliary link can also be called a low-speed link, which can specifically include multiple channels supporting low-speed transmission. For example, the transmission rate supported by the channel of the auxiliary link can be 12.5Mbps.

[0088] When transmitting multi-channel data, even if the same clock source is used from the transmitter, data from all channels cannot be guaranteed to arrive at the receiver simultaneously unless it is processed at the receiver. This can lead to time differences between channels. This time difference can be caused by a variety of factors, including varying signal line lengths, impedance differences in printed circuit boards, delays introduced by serialization and deserialization of data, and external factors such as temperature.

[0089] To ensure that the receiving end of each channel can simultaneously and correctly process the received data, it is necessary to eliminate the delay deviation of each channel to ensure that the multi-channel data reaches the receiving end at the same time for subsequent processing. This process is called channel alignment. Currently, as shown in Figure 5 (a) and (b), the receiving end typically uses a first-in-first-out (FIFO) buffer for channel alignment. Specifically, after the transmitting end distributes the data to each channel, it inserts a deskew symbol into the data of each channel, then encodes and converts the data into parallel and serial data before sending it. The receiving end designs the deskew FIFO depth of each channel according to the agreed delay deviation. When receiving the data with the deskew symbol inserted, it performs serial-to-parallel conversion and decoding, and then stores the data in the deskew FIFO buffer. After receiving the deskew symbols from all channels, the receiving end aligns and merges the data. FIG5(a) takes channels 0 to 2 as an example, and FIG5(b) takes a transmitter including channels Tx L0 and Tx L1 and a receiver including Rx L0 and Rx L1 as an example. In FIG5 , the deskew symbol is represented as DSW.

[0090] In the above solution, if the maximum delay deviation range is exceeded due to some reason such as the physical medium in the channel not meeting the requirements, the deskew FIFO at the receiving end may overflow, resulting in data errors. If the FIFO depth is further increased to support a larger delay deviation, more resources will be consumed.

[0091] Based on this, an embodiment of the present application provides a multi-channel alignment method, which can be used to obtain mode indication information, where the mode indication information is used to indicate whether the multi-channel alignment mode is a test mode or a normal mode, and when the mode indication information is used to indicate the test mode, LLCF_DST is sent on multiple channels to measure the delay deviation of the multiple channels, thereby achieving multi-channel alignment based on the delay deviation. This method can avoid FIFO buffer overflow without increasing the FIFO depth, thereby solving the problem of data errors caused by the delay deviation between channels exceeding the maximum delay deviation range. The solution of the embodiment of the present application is described in detail below.

[0092] Figure 6 is a flow chart of a multi-channel alignment method provided in an embodiment of the present application. The method can be applied to a data transmission system including a data sending device and a data receiving device, where the data sending device communicates with the data receiving device through multiple channels. The method may include the following steps.

[0093] S401: The data sending device obtains mode indication information, where the mode indication information is used to indicate whether the multi-channel alignment mode is a test mode or a normal mode.

[0094] The multi-channel alignment mode being a test mode may refer to a mode for measuring the delay deviation between the multiple channels, that is, in this mode, the data transmitting device and the data receiving device may be used to measure the delay deviation between the multiple channels. The multi-channel alignment mode being a normal mode may refer to a mode for normal data transmission, that is, in this mode, the data transmitting device and the data receiving device may be used to perform normal data communication.

[0095] Optionally, the mode indication information can be specified by software. The software can specify the multi-channel alignment mode as test mode or normal mode by defining the value of the mode indication information. Exemplarily, the mode indication information can be expressed as skew_tst; if skew_tst = 0, the mode indication information is used to indicate normal mode; if skew_tst = 1, the mode indication information is used to indicate measurement mode.

[0096] It is understood that different values ​​of skew_tst can also be used to indicate opposite meanings. For example, if skew_tst = 0, the mode indication information is used to indicate measurement mode; if skew_tst = 1, the mode indication information is used to indicate normal mode. The above examples do not limit the embodiments of the present application.

[0097] S402: The data sending device sends LLCF_DS or LLCF_DST on multiple channels according to the mode indication information.

[0098] The multiple channels may be multiple channels that have completed channel locking in the data sending device. The completion of channel locking may also be referred to as successful channel locking, that is, the multiple channels may be multiple channels that have successfully locked channels.

[0099] In a possible embodiment, if the mode indication information is used to indicate the test mode, the data sending device sends LLCF_DST on the multiple channels; if the mode indication information is used to indicate the normal mode, the data sending device sends LLCF_DS on the multiple channels.

[0100] Optionally, in the above-mentioned test mode, the LLCF_DST messages on the multiple channels may be sent simultaneously or not. Exemplarily, if the mode indication information is used to indicate the test mode, the data sending device sends LLCF_DST messages on the multiple channels simultaneously. The following description uses the example of the LLCF_DST messages on the multiple channels being sent simultaneously as an example.

[0101] It will be appreciated that the above description uses the example of the data transmitting device transmitting LLCF_DST in test mode and transmitting LLCF_DS in normal mode. In actual applications, the data transmitting device may also transmit LLCF_DS in test mode, and the above example does not limit the embodiments of the present application. When the data transmitting device transmits LLCF_DS in test mode, the LLCF_DS may also be used to measure the delay deviation of the multiple channels.

[0102] S403: The data receiving device detects LLCF_DS or LLCF_DST on the multiple channels.

[0103] The multiple channels through which the data receiving device detects the LLCF_DS or LLCF_DST may be multiple channels that have completed channel locking in the data receiving device, that is, the multiple channels may be multiple channels that have successfully locked channels.

[0104] In a possible embodiment, for each of the multiple channels, after the channel completes channel locking, the data receiving device may detect LLCF_DS or LLCF_DST on the channel. Exemplarily, after each channel completes channel locking, the data receiving device may detect LLCF_DS or LLCF_DST on the channel, for example, continuously detecting LLCF_DS or LLCF_DST within a first period of time after the channel is successfully locked.

[0105] S404: If LLCF_DS is detected in the multiple channels, the data receiving device determines that the multi-channel alignment mode is the normal mode; if LLCF_DST is detected in the multiple channels, the data receiving device determines that the multi-channel alignment mode is the measurement mode.

[0106] In one possible embodiment, if the mode indication information indicates the test mode, the data transmitting device transmits LLCF_DST on the multiple channels; accordingly, the data receiving device detects LLCF_DS or LLCF_DST on the multiple channels and, upon detecting LLCF_DST, determines that the multi-channel alignment mode is the measurement mode. Furthermore, the data receiving device may perform corresponding steps of measuring the delay of the multiple channels, such as by executing S408-S409 below.

[0107] In another possible embodiment, if the mode indication information indicates the normal mode, the data transmitting device transmits LLCF_DS on the multiple channels; accordingly, the data receiving device detects LLCF_DS or LLCF_DST on the multiple channels and, upon detecting LLCF_DS, determines that the multi-channel alignment mode is the normal mode. Furthermore, the data receiving device may perform multi-channel alignment based on the LLCF_DS of the multiple channels. The corresponding multi-channel alignment method may adopt a method known in the prior art, which will not be further described in the embodiments of the present application.

[0108] Optionally, when the multi-channel alignment mode is a test mode, after the data sending device sends the LLCF_DST on the multiple channels, the data sending device may send an electrical idle (EI) logical layer control frame LLCF_EI on the multiple channels; accordingly, the data receiving device may receive the LLCF_EI. When the multi-channel alignment mode is a normal mode, after the data sending device sends the LLCF_DS on the multiple channels, the data sending device may send service data (for example, the service data may be logical layer data) on the multiple channels. Accordingly, the data receiving device may receive the service data and perform multi-channel alignment on the received service data.

[0109] Exemplarily, the relevant contents of the data sending device and the data receiving device in normal mode are illustrated below with reference to FIG7 . As shown in FIG7 , the data sending device includes a distribution unit, a delay insertion unit, an encoding unit and a parallel-to-serial conversion unit, and the data receiving device includes a serial-to-parallel conversion unit, a decoding unit, a FIFO buffer and a merging unit. Among them, when the mode indication information is used to indicate the normal mode, the data sending device can insert deskew symbols (for example, LLCF_DS) in multiple channels through the delay insertion unit, and then encode and convert them into parallel and serial signals and send them to the data receiving device. The deskew symbols sent by the data sending device through the multiple channels arrive at the data receiving device after being transmitted through the physical medium. The data receiving device can receive the deskew symbols of each of the multiple channels, and after performing serial-to-parallel conversion and decoding processing on the deskew symbols of each of the multiple channels, store the deskew symbols of each channel in the FIFO buffer. In FIG7 , an example is given in which the data transmitting device includes channels Tx L0 and Tx L1 , and the data receiving device includes Rx L0 and Rx L1 , and the deskew symbol is represented as a DSW symbol.

[0110] Furthermore, as shown in Figure 8 , the method further includes S405 to S407 . Figure 8 takes S405 to S407 as an example, where S405 to S407 are located after S401 and before S402 .

[0111] S405: The data sending device obtains delay indications of the multiple channels, where the delay indication of each channel is used to indicate a first delay of the channel.

[0112] Wherein, the delay indication of the multiple channels can include the delay indication of each channel in the multiple channels. The delay indication of each channel can be determined according to the first delay of the channel, or can be configured as a corresponding delay indication for the channel according to the first delay of the channel. The first delay of each channel in the multiple channels can be a relative delay. Exemplary, the first delay of each channel can be a relative delay relative to the first delay of a reference channel, and the reference channel can be the channel with the smallest first delay in the multiple channels. For example, the first delay of the reference channel is 0, and the delay of other channels in the multiple channels relative to the reference channel is the first delay of the other channels.

[0113] Furthermore, at least two of the delay indications of the multiple channels have different delay indications, which may specifically mean that two or more of the multiple channels have different delay indications. Exemplarily, the first delays of the multiple channels are all different, and the delay indications of the multiple channels are also all different.

[0114] In a possible embodiment, when delay indications are configured for the multiple channels, when the data sending device needs to perform multi-channel alignment or is in the multi-channel alignment stage, the data sending device can obtain the delay indication configured for each channel to obtain delay indications to the multiple channels.

[0115] S406: The data sending device sends LLCF_PAD on the multiple channels simultaneously according to the delay indications of the multiple channels. Correspondingly, S407: The data receiving device receives the LLCF_PAD on the multiple channels.

[0116] Specifically, in one possible embodiment, the data transmitting device simultaneously transmits LLCF_PADs on the multiple channels according to the delay indications of the multiple channels, including: the data transmitting device determines the lengths of the LLCF_PADs of the multiple channels according to the delay indications of the multiple channels, that is, determines the length of the LLCF_PAD transmitted on each of the multiple channels; and the data transmitting device simultaneously transmits corresponding LLCF_PADs on the multiple channels according to the lengths of the LLCF_PADs of the multiple channels. In this way, the data receiving device can receive the LLCF_PADs on the multiple channels.

[0117] Optionally, a length deviation between any LLCF_PAD in the multiple channels and the shortest LLCF_PAD in the multiple channels is equal to the delay indicator of the channel corresponding to the any LLCF_PAD. For example, if the multiple channels include channel a and channel b, and the LLCF_PAD in channel a is the shortest, then the length deviation between the LLCF_PAD in channel b and the LLCF_PAD in channel a is equal to the delay indicator of channel b.

[0118] In a possible embodiment, if the mode indication information is used to indicate a normal mode, the data transmitting device may simultaneously transmit LLCF_PAD on the multiple channels before transmitting LLCF_DS on the multiple channels. Alternatively, if the mode indication information is used to indicate a test mode, the data transmitting device may simultaneously transmit LLCF_PAD on the multiple channels before transmitting LLCF_DST on the multiple channels.

[0119] Optionally, as shown in Table 4 below, the payload portion of the LLCF_PAD may include bytes B6 to Bn (n is an integer greater than 6), the starting byte of the payload portion (i.e., B6) may be padded with 0x0F (i.e., starting with 0x0F), one or more bytes before the end of the padding of the payload portion (i.e., B7 to Bn-3) may also be padded with 0x0F (i.e., 0x0F is continuously sent before the end of the padding), the byte at the end of the padding (i.e., Bn-2) may be padded with 0xF0, and a cyclic redundancy check (CRC) or payload check of the payload portion may be sent in the last two bytes (i.e., Bn-1 and Bn). Alternatively, as shown in Table 5 below, the payload portion of the first LLCF_PAD or the second LLCF_PAD may include bytes B6 to B8, byte B6 may be padded with 0xF0, and payload check may be sent in bytes B7 and B8.

[0120] Table 4

[0121] Table 5

[0122] It should be understood that the structures of the payload parts shown in Table 4 and Table 5 are merely exemplary and do not limit the embodiments of the present application.

[0123] Exemplarily, as shown in FIG9 , assuming that the multiple channels include three channels and are represented as L0, L1, and L2, respectively, the first delay indicated by the delay indication of channel L1 is Dly1=0, the first delay indicated by the delay indication of channel L0 is Dly0, and the first delay indicated by the delay indication of channel L2 is Dly2, and Dly0 is greater than Dly2. Specifically, the data sending device can simultaneously send LLCF_PAD on each channel from channel L0 to channel L2, and then send LLCF_DS or LLCF_DST on each channel. Among them, the length of LLCF_PAD of channel L1 is the shortest, the difference between the length of LLCF_PAD of channel L0 and the length of LLCF_PAD of channel L1 is Dly1, and the difference between the length of LLCF_PAD of channel L2 and the length of LLCF_PAD of channel L1 is Dly2. At this time, the data receiving device can complete the reception of LLCF_PAD on channel 0, channel L1 and channel L2 at the same time, and receive LLCF_DS or LLCF_DST at the same time. In the figure, sending LLCF_DS is taken as an example, and LLCF_PAD is represented as CF_PAD and LLCF_DS is represented as CF_DS.

[0124] In another possible embodiment, in test mode, the delay indications of multiple channels can be 0, and the lengths of the LLCF_PADs of the multiple channels can be 0. In this case, the data transmitting device sends the LLCF_DS or LLCF_DST in S402, specifically by simultaneously sending the LLCF_DS or LLCF_DST on the multiple channels. In this way, the data receiving device can measure the delay of the multiple channels based on the reception time of the LLCF_DS or LLCF_DST on the multiple channels.

[0125] Optionally, the delay indication of each channel mentioned above may also be referred to as the sending time of the deskew symbol of each channel (for example, the deskew symbol may be LLCF_DST or LLCF_DS mentioned above), that is, the first delay indicated by the delay indication of each channel may be the sending time of the deskew symbol of the channel. The sending times of the deskew symbols of the multiple channels may be different, and the sending time of the deskew symbol corresponding to the channel with the larger first delay may be earlier than the sending time of the deskew symbol corresponding to the channel with the smaller first delay, that is, the channel with the larger first delay sends the deskew symbol first, and the channel with the smaller first delay sends the deskew symbol later. Exemplarily, the data sending device can obtain the first delay delay of each channel in the multiple channels, and then determine the minimum first delay min_delay from the first delays of the multiple channels. Assuming that the channel corresponding to the minimum first delay min_delay is channel z, the sending time of any channel y in the other channels relative to the deskew symbol of channel z is equal to the difference between the first delay delay_y of channel y and the minimum first delay min_delay (delay_y-min_delay), that is, channel y sends the deskew symbol of channel y before channel z sends the deskew symbol, and is delay_y-min_delay earlier than the time when channel z sends the deskew symbol.

[0126] In one example, as shown in FIG10 , assuming that the multiple channels include three channels and are represented as L0, L1, and L2, respectively, the first delay indicated by the delay indicator of channel L0 is 0, the first delay indicated by the delay indicator of channel L1 is Dly1, and the first delay indicated by the delay indicator of channel L2 is Dly2, where Dly1 is greater than Dly2. Specifically, the data transmitting device can send a deskew symbol on channel L0, and send a deskew symbol on channel L2 after a delay of Dly2, and send a deskew symbol on channel L1 after a delay of Dly1. That is, the delay between the deskew symbol on channel L0 and the deskew symbol on channel L2 is Dly2, and the delay between the deskew symbol on channel L0 and the deskew symbol on channel L1 is Dly1. At this time, the data receiving device can simultaneously receive deskew symbols on channels 0, L1, and L2. The deskew symbol is represented as a DSW symbol in the figure.

[0127] In an embodiment of the present application, the data sending device can obtain delay indications of multiple channels, and send deskew symbols on the multiple channels respectively according to the delay indications of the multiple channels, so that the deskew symbols of different channels arrive at the data receiving device at the same time, thereby reducing the FIFO depth in the data receiving device while achieving multi-channel alignment, thereby solving the problem of data errors caused by the delay deviation between channels exceeding the maximum delay deviation range.

[0128] Furthermore, the first delay of each channel in S405 above can be determined based on the second delay, which is also called the relative delay. The second delay is inversely correlated with the first delay, that is, the larger the second delay, the smaller the first delay. The second delay is used to indicate the size of the channel transmission delay. The larger the second delay, the longer the channel delay. The first delay is used to indicate the time when each of the multiple channels sends LLCF_DS or LLCF_DST. The longer the first delay, the longer the LLCF_PAD, and the later the LLCF_DS or LLCF_DST is sent. In this way, the LLCF_DS or LLCF_DST that is sent early and has a short channel delay can reach the data receiving device almost at the same time as the LLCF_DS or LLCF_DST that is sent late but has a short channel delay after a longer channel delay, thereby achieving the purpose of reducing multi-channel delay deviation and reducing the FIFO depth.

[0129] In one example, the first delay of each channel in the plurality of channels is equal to the difference between the maximum second delay in the plurality of channels and the second delay of the channel. For example, if the plurality of channels include channel a and channel b, and the second delay in channel b is the largest, then the first delay of channel a is equal to the difference between the second delay of channel b and the second delay of channel a. When the second delay is measured in bytes, if the plurality of channels include channel a and channel b, and the second delay in channel b is the largest, then the length deviation between the LLCF_PAD in channel b and the LLCF_PAD in channel a is equal to the difference between the second delay of channel b and the second delay of channel a.

[0130] In one example, the second delay is determined based on historical delays, or the second delay is determined based on empirical values. When the second delay is determined based on historical delays, an average value can be determined based on multiple historical delays, and this average value can be used as the second delay. Of course, other statistical methods can also be used for determination, and this embodiment of the present application does not impose specific limitations on this. In another example, the second delay can be obtained by measurement. The following describes the process of measuring the second delay, taking the second delay obtained by measurement as an example.

[0131] In a possible embodiment, if the mode indication information is used to indicate the test mode, as shown in Figure 11 , after S401 , the method further includes S408 - S411 . Figure 11 does not show S404 - S407 .

[0132] S408: If the mode indication information indicates the test mode, the data sending device sends LLCF_DST on the multiple channels simultaneously. Step S408 is equivalent to the process of step S402 performed when the mode indication information indicates the test mode.

[0133] S409: The data receiving apparatus determines a second delay of the plurality of channels according to the reception time of the LLCF_DST of the plurality of channels.

[0134] In a possible embodiment, when the data receiving device first receives LLCF_DST on the first channel among the multiple channels, the data receiving device can determine that the second delay of the first channel is 0; for other channels among the multiple channels, when the data receiving device receives LLCF_DST of the other channels, the data receiving device can determine the delay of the other channels relative to the first channel as the second delay of the other channels.

[0135] For ease of description, LLCF_DST is referred to as a skew measurement symbol here. Exemplarily, the data receiving device can maintain a relative delay timer Glb_Relative_Delay. When the data receiving device first receives the skew measurement symbol of the first channel, the timer Glb_Relative_Delay can be reset and the timing can be started; when the data receiving device receives the skew measurement symbol of any other channel, the timing corresponding to the timer Glb_Relative_Delay can be converted into a byte number and latched as the second delay of the channel. Until the data receiving device receives LLCF_DST in all channels to be measured for skew, or the timing corresponding to the timer Glb_Relative_Delay is greater than or equal to a preset duration (for example, the second duration), the data receiving device controls the timer Glb_Relative_Delay to stop timing. Converting the timing here into a byte number means calculating the value of the timer using the duration T of transmitting one byte as the unit.

[0136] Optionally, for any channel among the multiple channels, when there are certain abnormalities in the channel, the data receiving device does not receive the skew measurement symbol of the channel within a preset time length (for example, the second time length), such as not receiving the LLCF_DST of the channel, then the data receiving device can convert the second time length into a number of bytes and determine it as the second delay of the channel, that is, the second delay of the channel is equal to the second time length.

[0137] S410: The data receiving apparatus sends a channel alignment feedback message, where the channel alignment feedback message includes the second delays of the multiple channels.

[0138] In a possible embodiment, after the data receiving device measures and obtains the second delays of the multiple channels, the data receiving device may send the second delays of the multiple channels to the data sending device. The second delays of the multiple channels may be sent via a channel alignment feedback message, so that the data sending device receives the second delays of the multiple channels.

[0139] Optionally, the second delays of the multiple channels may be sent together or not. For example, the data receiving device may send the second delay of each of the multiple channels one by one. The above S410 is illustrated by taking the example of sending the second delays of the multiple channels together through the channel alignment feedback message. The above example does not constitute a limitation to the embodiments of the present application.

[0140] S411: The data sending device receives a channel alignment feedback message, where the channel alignment feedback message includes the second delays of the multiple channels.

[0141] In one possible embodiment, if the data sending device receives the channel alignment feedback message, the data sending device may obtain the second delays of the multiple channels. Further, the data sending device may determine that the measurement of the second delays of the multiple channels is successful. If the data sending device does not receive the channel alignment feedback message within the first time period, the data sending device may determine that the delay measurement of the multiple channels has failed.

[0142] Exemplarily, as shown in FIG12 , if the mode indication information is used to indicate a test mode, the data transmitting device needs to measure the second delays of the multiple channels. The data transmitting device may simultaneously transmit a skew measurement symbol (e.g., LLCF_DST) on the multiple channels. When the data receiving device first receives the skew measurement symbol on the first channel, the data transmitting device determines the second delay of the first channel to be 0. For other channels in the multiple channels, when the data receiving device receives the skew measurement symbol of the other channel, the data transmitting device determines the delay of the other channel relative to the first channel as the second delay of the other channel. The data receiving device completes the second delay measurement of the multiple channels within a second duration T2. ​​Thereafter, the data receiving device may transmit the second delays of the multiple channels to the data transmitting device via a measurement result feedback message. The data transmitting device receives the second delays of the multiple channels within a first duration T1 to complete the entire delay measurement process. The first duration T1 is greater than or equal to the second duration T2.

[0143] It can be understood that the above-mentioned first duration and second duration can be pre-set. In actual applications, the first duration and second duration can be set respectively by two timers. The embodiment of the present application does not impose specific restrictions on the specific values ​​of the first duration and the second duration, and how to set the first duration and the second duration.

[0144] In one possible example, as shown in FIG13 , the data transmitting device includes a distribution unit, an encoding unit, and a parallel-to-serial conversion unit, and the data receiving device includes a serial-to-parallel conversion unit, a decoding unit, a delay measurement unit, a FIFO buffer, and a merging unit. Specifically, the data transmitting device may insert a skew measurement symbol (e.g., LLCF_DST) into each channel, then encode and serialize it before transmitting it to the data receiving device. The skew measurement symbols transmitted by the data transmitting device on the multiple channels arrive at the data receiving device after being transmitted over a physical medium. The data receiving device may receive the skew measurement symbol for each of the multiple channels, perform serial-to-parallel conversion and decoding on the skew measurement symbol for each of the multiple channels, and measure the skew measurement symbol for each channel using a delay measurement unit to determine a second delay. The figure illustrates an example in which the data transmitting device includes channels Tx L0 and Tx L1, and the data receiving device includes Rx L0 and Rx L1, and the skew measurement symbol is represented as a measurement symbol.

[0145] Optionally, if the data transmitting apparatus needs to measure the second delay of the multiple channels, the data transmitting apparatus may also simultaneously transmit other symbols on the multiple channels. Exemplarily, the data transmitting apparatus may simultaneously transmit skew measurement symbols on the multiple channels. The skew measurement symbols may be pre-agreed symbols used for skew measurement, such as the PCIe COM symbol or other newly defined symbols. This embodiment of the present application does not impose any specific limitation on this.

[0146] In an embodiment of the present application, the data sending device can simultaneously send LLCF_DST on the multiple channels, the data receiving device can receive and measure the LLCF_DST of the multiple channels to obtain the second delay of the multiple channels, and send the second delay of the multiple channels to the data sending device to improve the measurement accuracy of the second delay of the multiple channels; in addition, when performing multi-channel alignment, the data sending device can adjust the sending delay of the multiple channels based on the measured second delay of the multiple channels, so that the data receiving device can simultaneously receive the data sent by the multiple channels, thereby achieving multi-channel alignment while reducing the FIFO depth in the data receiving device.

[0147] Furthermore, since the transmission delay of each channel varies to a certain extent, to ensure that after multiple channels have undergone different transmission delays, the receiving end of the high-speed link can still correctly merge the high-speed data of multiple channels, on a link in a certain direction, after all channels that need to be trained or recovered have completed the channel locking process, the link needs to perform a multi-channel alignment process. At the same time, to facilitate compatibility with cable or circuit designs with large delay differences between multiple channels, a test method for delay differences between channels is also provided. This application provides user-selectable multi-channel alignment test modes and inter-channel skew adjustment functions.

[0148] In a possible embodiment of the present application, multi-channel alignment is divided into normal mode (link layer channel-to-channel skew measurement indication skew_tst = 0) and test mode (link layer channel-to-channel skew measurement indication skew_tst = 1). Note: The channel-to-channel skew measurement indication skew_tst is used to indicate the mode of multi-channel alignment of the port transmitter, and skew_tst = 1 indicates test mode. In this mode, the port transmitter sends LLCF_DST when performing multi-channel alignment during the link training phase. skew_tst = 0 indicates normal mode. In this mode, the port transmitter sends LLCF_DS when performing multi-channel alignment during the link training phase. The skew_tst information is specified by software.

[0149] During the multi-channel alignment phase, if the current mode is normal, the transmitters of all channels to be aligned simultaneously send an LLCF_PAD. The length of the LLCF_PAD is related to the first delay. After the LLCF_PAD, an LLCF_DS is sent, followed by service data. If the current mode is test, the transmitters of all channels to be aligned simultaneously send an LLCF_DST. During the multi-channel alignment phase, after the receivers of all channels to be aligned complete channel lock, they must continuously check LLCF_DS or LLCF_DST within the tWaitDsTimeout time to determine whether the current mode is normal or test.

[0150] Note that during the multi-lane alignment phase, determining whether the receiver has completed channel lock falls into two categories: the first scenario occurs when the peer end completes LLFM feedback; the second scenario occurs when the local RX to be recovered detects 16 LLCF_TS2s during the RECOVERY.fast_lock phase of LSNM(RX). The following discussion discusses determining whether the receiver has completed channel lock during multi-lane alignment, similar to the above, and is omitted for clarity. If LLCF_DS is detected, the receiver determines that the current alignment mode is normal, performs multi-lane alignment based on LLCF_DS, and then begins receiving high-speed service data. Otherwise, the multi-lane alignment process for test mode is followed.

[0151] The present application also provides a multi-channel alignment method for test mode. Specifically, if the peer device supports channel skew measurement, the software can enable the link layer channel-to-channel skew measurement indication skew_tst on this end before link training begins. If skew_tst = 1 during this multi-channel alignment phase, the multi-channel alignment of the test mode will be performed. After completing the multi-channel alignment test, the link establishment process ends and returns to the initial state of the link.

[0152] During multi-lane alignment in test mode, upon receiving LLFM, the transmitters of all channels to be aligned immediately send one LLCF_DST + four LLCF_EIs, then stop sending data and wait for the peer end to respond with DSFM within tDsTstTimeout. Upon receiving DSFM, the transmitter reports the test results to the software, which initiates link retraining. During the retraining, the software specifies the multi-lane alignment mode and transmitter skew adjustment information for the new link establishment. (Skew adjustment configuration is only possible if the transmitter supports multi-lane skew adjustment; see the inter-channel skew adjustment section below for details.)

[0153] During multi-channel alignment, after the receiver of the channel to be aligned completes channel lock, it continuously checks for LLCF_DS or LLCF_DST within the tWaitDsTimeout period. If the receiver detects LLCF_DST, it determines that the current alignment mode is test mode. The receiver performs multi-channel skew measurement based on LLCF_DST and feeds the test results back to the transmitter via DSFM. The following is an example of the specific measurement method.

[0154] 1. The TX channel of device A sends LLCF_DST simultaneously on each lane where the skew value needs to be measured.

[0155] 2. Device B's Rx maintains a global relative delay timer (Glb_Relative_Delay). When any lane receives LLCF_DST, Glb_Relative_Delay is reset and the timer starts counting until all lanes for which skew measurement is required receive LLCF_DST or Glb_Relative_Delay >= tRxDsDetMaxTime (some lanes may not receive LLCF_DST due to anomalies). Then, each lane converts the Glb_Relative_Delay duration into the corresponding number of bytes and latches it as its own Relative_Delay.

[0156] 3. After the Rx Skew measurement of device B ends (stops the Glb_Relatvie_Delay timing), it needs to notify device A of the number of Relative_Delay bytes for each lane through DSFM (i.e., DLY0 to 7 in DSFM. The Relative_Delay of the lane that receives LLCF_DST first is 0).

[0157] 4. Device A receives the DSFM information, which can be used to adjust the deviation of LLCF_DS / LLCF_DST sent by each lane (adjustment is only possible if the local end supports it).

[0158] 5. If device A does not receive DSFM within tDsTstTimeout after sending LLCF_DST on the Tx channel, it determines that the skew measurement has failed and needs to report the exception to the software.

[0159] The present application also provides a method for adjusting the delay deviation (skew) between channels. Specifically, after completing the multi-channel alignment of the test mode and receiving the DSFM fed back by the other end, if the TX end of the local device supports skew adjustment between channels, the software can calculate the appropriate number of delay bytes that matches the local design based on the Skew measurement value in the DSFM (i.e., the relative delay information recorded in the DLY0~7 domain segment, recorded as Relative_Delays, corresponding to the aforementioned second delay), and configure the data delay indication LaneX_tx_data_dly (corresponding to the aforementioned first delay) to each lane. Then initiate link retraining. During the subsequent link training or link recovery, in the multi-channel alignment stage of the transmitting end, it is necessary to send 1 LLCF_PAD and 1 LLCF_DS (or LLCF_DST) on each channel at the same time for skew alignment or measurement between channels, where the length deviation value of the LLCF_PAD sent by each channel is the LaneX_tx_data_dly configured for the corresponding channel. For Lanes with large Relative_Delay values, a shorter LLCF_PAD is sent, and for Lanes with small Relative_Delay values, a longer LLCF_PAD is sent.

[0160] The data delay indication of each lane, LaneX_tx_data_dly = the LLCF_PAD length to be inserted in each TX channel - the shortest length of LLCF_PAD = (maximum Relative_Delays bytes - Relative_Delays bytes of this Lane).

[0161] This application also provides a multi-channel alignment method. Specifically, after all TX channels have completed channel locking, they enter the TX channel alignment state. The TX channel alignment process is shown in Figure 14. After all RX channels have completed channel locking, they enter the RX channel alignment state. The RX channel alignment process is shown in Figure 15.

[0162] As shown in Figure 14, the method includes: S11. The transmitting end enters the multi-channel alignment state; S12. Determine whether the spatial domain segment skew_tst is configured to be 1, if not, execute S13a, if yes, execute S13b; S13a. All channels send 1 LLCF_PAD+1 LLCF_DS and high-speed service data, and the length of the LLCF_PAD sent by each channel is determined according to the first delay, and execute S14; S14. The multi-channel alignment process ends, and all TX channels start to send high-speed service data; S13b. All channels send 1 PAD+1 LLCF_DST+1 LLCF_EI, start timing, and execute S15; S15. Determine whether DSFM is received within the tDsTstTimeout time, if yes, execute S16a, if not, execute S16b; S16a. The multi-channel alignment process ends, reports the test results to the software, returns to the link initialization state and waits for the software to initiate link retraining; S16b. Timeout, report abnormality.

[0163] As shown in FIG15 , the method includes: S21. The receiving end enters the multi-channel alignment state; S22. Determines whether LLCF_DS or LLCF_DS_TST is detected within the tWaitDsTimeout time, if not, executes S23a, if yes, executes S23b; S23a times out and reports an exception; S23b. Determines whether the detected code type is LLCF_DS, if not and the detected code type is LLCF_DST, executes S24a, if yes, executes S24b; S24a performs a multi-channel delay deviation (skew) test, and feeds the test result back to the sending end through DSFM, and executes S25; S25. The multi-channel alignment process ends. The system returns to the link initialization state and waits for the software to initiate link retraining. S24b. Executes multi-channel delay skew elimination (deskew), and then executes S26. S26. Determines whether all receiving channels to be used (i.e., RX channels) can complete multi-channel alignment. If so, executes S27a. If not (for example, the delay skew of multiple channels is large, and any channel cannot detect LLCF_DS or cannot complete delay skew elimination (deskew) based on LLCF_DS), executes S27b. S27a. The multi-channel alignment process ends, and all aligned RX channels begin to receive high-speed service data. S27b. Reports a delay skew elimination (deskew) exception.

[0164] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the interaction between the data sending device and the data receiving device. It is understandable that, as a data sending device and a data receiving device, in order to realize the above functions, it includes a hardware structure and / or software module corresponding to the execution of each function. Those skilled in the art should easily appreciate that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in a hardware or computer software driven hardware manner depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0165] In the embodiment of the present application, the data sending device and the data receiving device can be divided into functional modules according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one module. The above-mentioned integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. There may be other division methods in actual implementation. The following is an example of dividing each functional module according to each function.

[0166] In the case of adopting an integrated unit, Figure 16 shows a possible structural diagram of the data sending device involved in the above embodiment. The data sending device can be a sending end device, or a chip applied to the sending end device, and the device includes: a processing unit 501 and a sending unit 502. Among them, the processing unit 501 can be used to support the device to execute S401, S405 in the above method embodiment, and / or other technical processes described in this document; the sending unit 502 can be used to support the device to execute S402, S406 and / or S408 in the above method embodiment. Optionally, the device may also include a receiving unit 503 for supporting the device to receive S411 of the above method embodiment. All relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module, and the embodiments of this application will not be repeated here.

[0167] Based on the hardware implementation, the processing unit 501 in this application can be the processor of the device, the sending unit 502 can be the transmitter of the device (which can be called a sending port), and the receiving unit 503 can be the receiver of the device (which can be called a receiving port). Optionally, the transmitter and receiver can generally be integrated together to form a transceiver, and the specific transceiver can also be called a communication interface.

[0168] Figure 17 shows a schematic diagram of the structure of a data transmission device provided in an embodiment of the present application. The device can be a transmitting device or a chip used in a transmitting device, and includes a processor 511, a transmitter 512, and a receiver 513. The processor 511 is configured to support the device in executing S401 and S405 of the above method embodiments, and / or other technical processes described herein. In addition, the transmitter 512 and the receiver 513 can be configured to support the device in communicating, for example, with a data receiving device.

[0169] It can be understood that all relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module, and the embodiment of the present application will not be repeated here.

[0170] In the case of adopting an integrated unit, Figure 18 shows a possible structural diagram of the data receiving device involved in the above embodiment. The data receiving device can be a receiving end device, or a chip applied to a receiving end device, and the device includes: a receiving unit 601 and a processing unit 602. Among them, the receiving unit 601 can be used to support the device to execute S403 and S407 of the above method embodiment; the processing unit 602 can be used to support the device to execute S404, S409 in the above method embodiment, and / or other technical processes described in this document. Optionally, the device may also include a sending unit 603 for supporting the device to execute S410 of the above method embodiment. All relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module, and the embodiments of this application will not be repeated here.

[0171] Based on the hardware implementation, the processing unit 602 in this application can be the processor of the device, the receiving unit 601 can be the receiver of the device, and the sending unit 603 can be the transmitter of the device. Optionally, the receiver and transmitter can generally be integrated together to form a transceiver, and the specific transceiver can also be called a communication interface.

[0172] Figure 19 shows a schematic diagram of the structure of a data receiving device provided in an embodiment of the present application. The data receiving device can be a receiving device or a chip used in a receiving device. The device includes a processor 611, a transmitter 612, and a receiver 613. The processor 611 is used to support the device in executing S404 and S409 of the above method embodiments, and / or other technical processes described herein. In addition, the transmitter 612 and the receiver 613 can be used to support the device in communicating, for example, with a data transmitting device.

[0173] It can be understood that all relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module, and the embodiment of the present application will not be repeated here.

[0174] In another embodiment of the present application, a data transmission system is provided, which includes a data sending device and a data receiving device; wherein, the data sending device can be or include the data sending device provided in Figure 16 or Figure 17 above, which is used to execute the steps of the data sending device in the method embodiment provided above; the data receiving device can be or include the data receiving device provided in Figure 18 or Figure 19 above, which is used to execute the steps of the data receiving device in the method embodiment provided above.

[0175] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the modules or units is merely a logical functional division. In actual implementation, other division methods may be used, such as combining or integrating multiple units or components into another device, or ignoring or not implementing certain features.

[0176] The units described as separate components may or may not be physically separate, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0177] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. The readable storage medium may include: a USB flash drive, a mobile hard drive, a read-only memory, a random access memory, a magnetic disk, or an optical disk, etc., which can store program code. Based on this understanding, the technical solution of the embodiment of the present application, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product.

[0178] In another embodiment of the present application, a readable storage medium is also provided, which stores computer execution instructions. When a device (which can be a single-chip microcomputer, chip, etc.) or a processor executes the steps of the data sending device in the above method embodiment.

[0179] In another embodiment of the present application, a readable storage medium is also provided, which stores computer execution instructions. When a device (which can be a single-chip microcomputer, chip, etc.) or a processor executes the steps of the data receiving device in the above method embodiment.

[0180] In another embodiment of the present application, a computer program product is further provided, which includes computer instructions stored in a readable storage medium; at least one processor of the device can read the computer instructions from the readable storage medium, and at least one processor executes the computer instructions so that the device performs the steps of the data sending device in the above method embodiment.

[0181] In another embodiment of the present application, a computer program product is also provided, which includes computer instructions stored in a readable storage medium; at least one processor of the device can read the computer instructions from the readable storage medium, and at least one processor executes the computer instructions so that the device performs the steps of the data receiving device in the above method embodiment.

[0182] Finally, it should be noted that the above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

Claims

1. A multi-channel alignment method, characterized in that: The method comprises: Acquire mode indication information, where the mode indication information is used to indicate whether the mode of the multi-channel alignment is a test mode or a normal mode; According to the mode indication information, sending a start logical layer control frame LLCF_DS or a deviation elimination test logical layer control frame LLCF_DST on multiple channels; If the mode indication information is used to indicate the test mode, what is sent on the multiple channels is the LLCF_DST; if the mode indication information is used to indicate the normal mode, what is sent on the multiple channels is the LLCF_DS.

2. The method according to claim 1, characterized in that Before the multi-channel sends a start logical layer control frame LLCF_DS or a deviation elimination test logical layer control frame LLCF_DST, the method further includes: Obtaining delay indications of the multiple channels, wherein the delay indication of each channel is used to indicate a first delay of the channel; According to the delay indications of the multiple channels, padding logical layer control frames LLCF_PAD are sent simultaneously on the multiple channels.

3. The method according to claim 2, characterized in that The length deviation between any LLCF_PAD in the multiple channels and the shortest LLCF_PAD in the multiple channels is equal to the delay indication of the channel corresponding to any LLCF_PAD.

4. The method according to claim 2 or 3, characterized in that: The first delay is determined based on the second delay, or the first delay is determined based on a historical delay.

5. The method according to any one of claims 1 to 4, characterized in that: If the mode indication information is used to indicate the test mode, and after the multiple channels send the LLCF_DST, the method further includes: A lane alignment feedback message is received, where the lane alignment feedback message includes second delays of the plurality of lanes.

6. The method according to claim 1, characterized in that If the mode indication information is used to indicate the test mode, and after the multiple channels send the LLCF_DST, the method further includes: If no channel alignment feedback message DFSM is received within the first time period, it is determined that the delay measurement of the multiple channels has failed.

7. The method according to claim 1, characterized in that The method further comprises: After the multiple channels send the LLCF_DST, sending an electrical idle logical layer control frame LLCF_EI on the multiple channels; or, After the LLCF_DS is sent on the multiple channels, service data is sent on the multiple channels.

8. The method according to claim 1, characterized in that The LLCF_DST on the multiple channels are sent simultaneously.

9. A multi-channel alignment method, characterized in that: The method comprises: In multiple channels, detection starts the logical layer control frame LLCF_DS or the deviation elimination test logical layer control frame LLCF_DST; If the LLCF_DS is detected in the multiple channels, determining that the multi-channel alignment mode is a normal mode; If the LLCF_DST is detected in the plurality of channels, it is determined that the multi-channel alignment mode is a test mode.

10. The method according to claim 9, characterized in that When it is determined that the multi-channel alignment mode is a normal mode, the method further includes: Multi-lane alignment is performed according to the LLCF_DS of the plurality of lanes.

11. The method according to claim 9, characterized in that When it is determined that the multi-channel alignment mode is a test mode, the method further includes: Determining a second delay of the plurality of channels according to the reception time of LLCF_DST of the plurality of channels; A channel alignment feedback message is sent, where the channel alignment feedback message includes second delays of the plurality of channels.

12. The method according to claim 9, characterized in that The method further comprises: If the LLCF_DS or the LLCF_DST is not detected within the second time period of the multiple channels, it is determined that the multi-channel alignment fails.

13. The method according to any one of claims 9 to 12, characterized in that: The method further comprises: After the plurality of channels detect the LLCF_DST, receiving an electrical idle logical layer control frame LLCF_EI at the plurality of channels; or, After the LLCF_DS is detected by the plurality of channels, service data is received on the plurality of channels.

14. A data sending device, characterized in that: The device comprises: A processing unit, used for acquiring mode indication information, where the mode indication information is used for indicating whether the mode of the multi-channel alignment is a test mode or a normal mode; A sending unit is used to send a start logic layer control frame LLCF_DS or a deviation elimination frame on multiple channels according to the mode indication information. Test logical layer control frame LLCF_DST; If the mode indication information is used to indicate the test mode, what is sent on the multiple channels is the LLCF_DST; if the mode indication information is used to indicate the normal mode, what is sent on the multiple channels is the LLCF_DS.

15. The device according to claim 14, characterized in that Before the multi-channel sends a start logical layer control frame LLCF_DS or a deviation elimination test logical layer control frame LLCF_DST; The processing unit is further used to obtain delay indications of the multiple channels, where the delay indication of each channel is used to indicate a first delay of the channel; The sending unit is further configured to send a padding logical layer control frame LLCF_PAD on the multiple channels simultaneously according to the delay indications of the multiple channels.

16. The device according to claim 15, characterized in that The length deviation between any LLCF_PAD in the multiple channels and the shortest LLCF_PAD in the multiple channels is equal to the delay indication of the channel corresponding to any LLCF_PAD.

17. The device according to claim 15 or 16, characterized in that The first delay is determined based on the second delay, or the first delay is determined based on a historical delay.

18. The device according to any one of claims 14 to 17, characterized in that: If the mode indication information is used to indicate the test mode, and after the multiple channels send the LLCF_DST, the apparatus further includes: A receiving unit is configured to receive a channel alignment feedback message, where the channel alignment feedback message includes second delays of the multiple channels.

19. The device according to claim 14, characterized in that If the mode indication information is used to indicate the test mode, and after the plurality of channels send the LLCF_DST; The processing unit is further configured to determine that the delay measurement of the multiple channels fails if no channel alignment feedback message DFSM is received within a first time period.

20. The device according to claim 14, characterized in that The sending unit is also used for: After the multiple channels send the LLCF_DST, the multiple channels send an electrical idle logical layer control frame LLCF_EI; or, After the LLCF_DS is sent on the multiple channels, service data is sent on the multiple channels.

21. The device according to claim 20, characterized in that The LLCF_DST on the multiple channels are sent simultaneously.

22. A data receiving device, characterized in that: The device comprises: A receiving unit, configured to detect a start logic layer control frame LLCF_DS or a deviation elimination test logic layer control frame LLCF_DST in a plurality of channels; A processing unit, configured to determine that the multi-channel alignment mode is a normal mode if the LLCF_DS is detected in the multiple channels; The processing unit is further configured to determine that the multi-channel alignment mode is a test mode if the LLCF_DST is detected in the multiple channels.

23. The device according to claim 22, characterized in that When it is determined that the multi-channel alignment mode is a normal mode, the processing unit is further configured to: Multi-lane alignment is performed according to the LLCF_DS of the plurality of lanes.

24. The device according to claim 22, characterized in that When it is determined that the multi-channel alignment mode is a test mode, the device further includes a sending unit; The processing unit is further configured to determine a second delay of the plurality of channels according to the reception time of the LLCF_DST of the plurality of channels; The sending unit is further configured to send a channel alignment feedback message, where the channel alignment feedback message includes the second delays of the multiple channels.

25. The device according to claim 22, characterized in that The processing unit is also used for: If the LLCF_DS or the LLCF_DST is not detected within the second time period of the multiple channels, it is determined that the multi-channel alignment fails.

26. The device according to any one of claims 22 to 25, characterized in that The receiving unit is also used for: After the plurality of channels detect the LLCF_DST, receiving an electrical idle logical layer control frame LLCF_EI at the plurality of channels; or, After the LLCF_DS is detected by the plurality of channels, service data is received on the plurality of channels.

27. A chip, characterized in that: The chip comprises: a processing circuit and a transmitter, wherein the processing circuit and the transmitter are used to support the chip to execute the multi-channel alignment method according to any one of claims 1 to 8.

28. A chip, characterized in that: The chip comprises: a processing circuit and a receiver, wherein the processing circuit and the receiver are used to support the chip to execute the multi-channel alignment method as described in any one of claims 9 to 13.

29. A data transmission system, characterized in that: The data transmission system includes a data sending device and a data receiving device, the data sending device includes the data sending device according to any one of claims 14 to 21 or the chip according to claim 27, and the data receiving device includes the data receiving device according to any one of claims 22 to 26 or the chip according to claim 28.

30. A readable storage medium, characterized in that: The readable storage medium stores instructions, and when the instructions are executed on a device, the device executes the multi-channel alignment method according to any one of claims 1 to 8.

31. A readable storage medium, characterized in that: The readable storage medium stores instructions, and when the instructions are executed on a device, the device executes the multi-channel alignment method according to any one of claims 9 to 13.

Citation Information

Patent Citations

  • Data processin method in the Enternet, Enernet physical layer chip, and Enternet device

    CN103797742A

  • Multi-channel PTP timestamp extraction method and system

    CN114826471A

  • In-band lane alignment for a multi-lane transceiver

    US8731073B1

  • Data transmission method and device

    WO2021217520A1