Multi-channel alignment method, device and system

By selecting the transmission of LLCF_DST or LLCF_DS according to the mode indication information in a multi-channel communication system, the channel delay deviation is measured and adjusted, the data transmission problem caused by delay deviation between multiple channels is solved, and the accurate and timely reception of data is achieved.

CN120090785APending Publication Date: 2025-06-03HUAWEI TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202311658396.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-01
Publication Date
2025-06-03

AI Technical Summary

Technical Problem

In the field of communication technology, delay deviations between multiple channels lead to data transmission delays, affecting the stability of data processing at the receiver and FIFO cache.

Method used

By obtaining mode indication information, it is determined that the multi-channel alignment mode is test mode or normal mode, and in test mode LLCF_DST is sent to measure the delay deviation, and in normal mode LLCF_DS is sent to achieve normal transmission of data.

Benefits of technology

Without increasing the FIFO depth, eliminate the delay deviation of multiple channels, avoid FIFO cache overflow, ensure that data reaches the receiver at the same time, and solve the data error problem caused by the delay deviation between channels exceeding the maximum range.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120090785A_ABST
    Figure CN120090785A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-channel alignment method, device and system, relates to the technical field of communication, and is used for solving the problem of cache overflow. The method comprises the following steps: acquiring mode indication information, wherein the mode indication information is used for indicating that a multi-channel alignment mode is a test mode or a normal mode; according to the mode indication information, sending a start logic layer control frame LLCFDS or a deviation elimination test logic layer control frame LLCFDST in a plurality of channels; wherein if the mode indication information is used for indicating a test mode, LLCFDST is sent on the plurality of channels; if the mode indication information is used for indicating a normal mode, the LLCFDS is sent on the plurality of channels.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technologies, and in particular, to a multi-channel alignment method, apparatus, and system. Background Art

[0002] In the field of communication technologies, there are usually scenarios where data is transmitted between devices through multiple channels. Currently, when data is transmitted between devices through multiple channels, there may be a certain delay deviation (skew) between the multiple channels due to various factors. For example, these various factors may include differences in the line lengths of the multiple channels, impedance gaps during PCB printing, delays introduced during the serial-to-parallel conversion of data in different channels, and external factors such as temperature. Therefore, in order to ensure that the receiving device can correctly receive and process the data, it is necessary to eliminate the delay deviation of the multiple channels to ensure that the data of the multiple channels can reach the receiving end at the same time point for subsequent processing by the receiving end. Summary of the Invention

[0003] This application provides a multi-channel alignment method, apparatus, and system for eliminating the delay deviation of multiple channels to ensure that the data of the multiple channels can reach the receiving end at the same time point.

[0004] To achieve the above object, the embodiments of this application adopt the following technical solutions:

[0005] In a first aspect, a multi-channel alignment method is provided. The method includes: obtaining mode indication information (the mode indication information can be specified by software), where the mode indication information is used to indicate that 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 skew_tst = 0, it is used to indicate the normal mode; if skew_tst = 1, it is used to indicate the measurement mode); according to the mode indication information, sending a start logic layer control frame LLCF_DS or a deviation elimination test logic layer control frame LLCF_DST on multiple channels; where, 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.

[0006] In the above technical solution, the data sending device can obtain mode indication information, which is used to indicate that the mode of multi-channel alignment is a test mode or a normal mode, and send LLCF_DS or LLCF_DST on multiple channels according to the mode indication information. In this way, in the test mode, the delay deviation of the multiple channels can be measured by the LLCF_DST sent through the multiple channels, and multi-channel alignment can be achieved according to the delay deviation; in the normal mode, LLCF_DS can be normally sent to achieve normal data sending. 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.

[0007] In a possible implementation manner of the first aspect, before sending the logical layer control frame LLCF_DS or the deviation elimination test logical layer control frame LLCF_DST at the multi-channel sending start logic layer, the method further includes: obtaining delay indications of the multiple channels, where there are at least two channels with different delay indications among the multiple channels, 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 according to the first delay of the channel, or a corresponding delay indication can be configured for the channel according to the first delay; according to the delay indications of the multiple channels, send the padding logical layer control frame LLCF_PAD on the multiple channels simultaneously. In the above possible implementation manner, the data sending device can obtain the delay indications of multiple channels, send LLCF_PAD on the multiple channels simultaneously 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 simultaneously, that is, LLCF_DST or LLCF_DS on different channels can reach the data receiving device simultaneously, thereby achieving multi-channel alignment, further avoiding FIFO buffer overflow, and solving the problem of data errors caused by the delay deviation between channels exceeding the maximum delay deviation range.

[0008] 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 the any LLCF_PAD. In the above possible implementation, by setting the lengths of the LLCF_PADs in the multiple channels to be equal to the delay indications of the multiple channels and sending LLCF_DST or LLCF_DS after the LLCF_PAD, the delay deviation of LLCF_DST or LLCF_DS in different channels reaching the data receiving device is reduced. In an ideal situation, the ends of the LLCF_PADs on different channels can reach the data receiving device simultaneously, that is, the LLCF_DST or LLCF_DS on different channels can reach the data receiving device simultaneously, so that multi-channel alignment can be achieved, and further the FIFO depth in the data receiving device can be reduced.

[0009] In a possible implementation of the first aspect, the first delay is determined according to the second delay, or the first delay is determined according to the historical delay. In the above possible implementation, the accuracy of the first delay can be improved, so as to reduce the delay deviation of the information transmitted by the multiple channels reaching the data receiving device, and at the same time improve the flexibility and diversity of determining the second delay.

[0010] In a possible implementation of the first aspect, if the mode indication information is used to indicate the test mode and after the LLCF_DST is sent on the multiple channels, 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 the above possible implementation, by sending LLCF_DST on the multiple channels, the data receiving device measures the second delays of the multiple channels and returns the second delays of the multiple channels through the channel alignment feedback message, so that the accuracy of the second delays obtained by the data sending device can be improved.

[0011] In a possible implementation of the first aspect, if the mode indication information is used to indicate the test mode and after the LLCF_DST is sent on the multiple channels, the method further includes: if the channel alignment feedback message DFSM is not received within the first duration, determining that the delay measurement of the multiple channels fails. In the above possible implementation, it can be avoided that the data sending device is in a state of waiting to receive the second delay for a long time, thereby reducing the power consumption.

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

[0013] In a possible implementation of the first aspect, the LLCF_DST on the multiple channels is sent simultaneously. In the above possible implementation, the data sending device can send the LLCF_DST simultaneously on the multiple channels in the test mode, so that the data receiving device can directly measure the delay deviation of the multiple channels, thereby improving the rate of determining the delay deviation of the multiple channels and reducing the determination difficulty at the same time.

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

[0015] In a possible implementation 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.

[0016] In a possible implementation of the second aspect, when it is determined that the multi-channel alignment mode is the test mode, the method further includes: determining a second delay of the multiple channels according to the reception time of the LLCF_DST of the multiple channels; sending a channel alignment feedback message, where the channel alignment feedback message includes the second delay of the multiple channels.

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

[0018] In a possible implementation of the second aspect, the method further includes: after the LLCF_DST is detected in the multiple channels, receiving an electrical idle logical link control frame LLCF_EI in the multiple channels; or, after the LLCF_DS is detected in the multiple channels, receiving service data in the multiple channels.

[0019] In a third aspect, a data sending device is provided. The data sending device can implement the functions performed by the data sending 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.

[0020] 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 to perform the corresponding functions in the above multi-channel alignment method; the sending unit and the receiving unit are used to support the data sending device to communicate with the data receiving device.

[0021] In another possible implementation of the third aspect, the data sending device includes a processor and a transceiver; the processor is configured to support the data sending device to perform the corresponding functions in the above method; the transceiver is used to support the data sending device to communicate with the data receiving device. Optionally, the data sending device further includes a memory, and the memory is used to be coupled with the processor to store necessary program instructions and data of the device.

[0022] 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.

[0023] 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 to perform the corresponding functions in the above multi-channel alignment method; the receiving unit and the sending unit are used to support the data receiving device to communicate with the data sending device.

[0024] 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 to execute the corresponding functions in the above multi-channel alignment method; the transceiver is used to support the data receiving device to communicate with the data sending device. Optionally, the data receiving device further includes a memory, which is used to be coupled with the processor and stores the necessary program instructions and data of the device.

[0025] In yet another aspect of the present application, a chip is provided, which includes: a processing circuit and a transceiver; the processing circuit and the transceiver are used to support the chip to execute 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 to execute the multi-channel alignment method provided in the second aspect or any possible implementation of the second aspect.

[0026] In yet another aspect of the present application, a data transmission system is provided, which includes the data sending device provided in any of the above aspects and the data receiving device provided in any of the above aspects. The data sending device is used to execute the multi-channel alignment method provided in 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 in the second aspect or any possible implementation of the second aspect.

[0027] In yet 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 run, the multi-channel alignment method provided in the first aspect or any possible implementation of the first aspect is implemented.

[0028] In yet 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 run, the multi-channel alignment method provided in the second aspect or any possible implementation of the second aspect is implemented.

[0029] In yet another aspect of the present application, a computer program product is provided, which includes: a computer program (which can also be called code or instruction). When the computer program is run, it causes the computer to execute the multi-channel alignment method provided in the first aspect or any possible implementation of the first aspect.

[0030] In yet another aspect of the present application, a computer program product is provided, which includes: a computer program (which can also be called code or instruction). When the computer program is run, it causes the computer to execute the multi-channel alignment method provided in the second aspect or any possible implementation of the second aspect.

[0031] Understandably, for any of the data sending device, data receiving device, data transmission system, computer-readable storage medium, and computer program product provided above, the beneficial effects that can be achieved can be correspondingly referred to the beneficial effects in the multi-channel alignment method provided above, which will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Figure 1 Schematic diagram of the structure of a data transmission system provided by an embodiment of the present application;

[0033] Figure 2 Schematic diagram of the structure of another data transmission system provided by an embodiment of the present application;

[0034] Figure 3 Schematic diagram of the basic components of an electronic device provided by an embodiment of the present application;

[0035] Figure 4 Schematic diagram of the transmission between interfaces provided by an embodiment of the present application;

[0036] Figure 5 Schematic diagram of using a FIFO buffer for channel alignment provided by an embodiment of the present application;

[0037] Figure 6 Schematic diagram of the process of a multi-channel alignment method provided by an embodiment of the present application;

[0038] Figure 7 Schematic diagram of inserting a deskew symbol with a delay provided by an embodiment of the present application;

[0039] Figure 8 Schematic diagram of the process of another multi-channel alignment method provided by an embodiment of the present application;

[0040] Figure 9 Schematic diagram of using delayed transmission for channel alignment provided by an embodiment of the present application;

[0041] Figure 10 Schematic diagram of another use of delayed transmission for channel alignment provided by an embodiment of the present application;

[0042] Figure 11 Schematic diagram of the process of yet another multi-channel alignment method provided by an embodiment of the present application;

[0043] Figure 12 Schematic diagram of measuring the delay of multiple channels provided by an embodiment of the present application;

[0044] Figure 13 Schematic diagram of another measurement of the delay of multiple channels provided by an embodiment of the present application;

[0045] Figure 14 It is a schematic flowchart of another multi-channel alignment method provided by an embodiment of the present application;

[0046] Figure 15 It is a schematic flowchart of yet another multi-channel alignment method provided by an embodiment of the present application;

[0047] Figure 16 It is a schematic structural diagram of a data sending device provided by an embodiment of the present application;

[0048] Figure 17 It is a schematic structural diagram of another data sending device provided by an embodiment of the present application;

[0049] Figure 18 It is a schematic structural diagram of a data receiving device provided by an embodiment of the present application;

[0050] Figure 19 It is a schematic structural diagram of another data receiving device provided by an embodiment of the present application. Detailed implementation manners

[0051] Next, the technical solutions in the embodiments of the present application will be described in conjunction with the accompanying drawings in the embodiments of the present application.

[0052] In the present application, "at least one" means one or more, and "a plurality" means two or more. "And / or" describes the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the associated objects before and after. "At least one (item)" or its similar expression refers to any combination of these items, including any combination of single item (item) or plural items (items). For example, at least one (item) of a, b, or c can represent: 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.

[0053] In the embodiments of the present application, words such as "first" and "second" are used to distinguish objects with similar names, functions, or roles. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order. The term "coupled" is used to represent an electrical connection, including directly connected through a wire or a connection terminal or indirectly connected through other devices. Therefore, "coupled" should be regarded as a broad electronic communication connection.

[0054] It should be noted that in this application, words such as "exemplary" or "for example" are used to give examples, illustrations or explanations. Any embodiment or design solution described as "exemplary" or "for example" in this application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary" or "for example" is intended to present relevant concepts in a specific manner.

[0055] Before introducing the embodiments of this application, the relevant terms involved in this application will be introduced and explained first.

[0056] Channel (lane): It refers to a path for transmitting signals. This channel can be unidirectional or bidirectional. Among them, the unidirectional channel includes a pair of differential signal lines, and the bidirectional channel includes two pairs of differential signal lines.

[0057] Link: It is a collection of channels or a conductor line for power supply. A link generally includes one or more channels. When a channel works, a transmitter and a receiver are respectively turned on at both ends, and data (or called signals) are only transmitted from the transmitter to the receiver. For a link, the side where the transmitter is located is called the sending end or the transmitting side (transmitter side, Tx side), and the side where the receiver is located is called the receiving end or the receiving side (receiver side, Rx side). A link can be divided into a downlink and an uplink. The uplink refers to the link when a device (such as a game controller) sends signals to the main device (such as a display), and the downlink refers to the link when the main device (such as a routing device) sends signals to the slave device (such as a display).

[0058] Main Link: It is used for the transmission of high-speed data, such as the transmission of high-speed data such as audio and video signals and third-party protocol data.

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

[0060] Multi-channel alignment: During the data transmission process of multiple channels, there will be certain differences in the transmission delays of different channels, that is, the arrival times of the data of each channel are inconsistent, thus introducing the problem of delay deviation (skew) (or called phase shift). In order to ensure that the receiving end of the channel can process the received data simultaneously and correctly, it is necessary to adjust and compensate each channel, and this process is called the channel deviation elimination (deskew) (or called delay deviation elimination) process, also known as the channel alignment process.

[0061] Logical layer control frame (LLCF): Data used to implement link management functions such as link training and status update. In a possible implementation, as shown in Table 1 and Table 2 below, the frame format of the LLCF includes a frame header, which includes a frame type and a checksum. The frame type is used to indicate the frame type, and the checksum is the check bit for the frame type. Optionally, the frame format of the LLCF may further include a payload, which is the information carried by the control frame of the corresponding type. Among them, the LLCF may include one or more frame headers. The frame type and the checksum in each frame header may each occupy one byte (B), that is, the lengths of the frame type and the 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 a payload. 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 the payload occupies byte B6. The contents of frame header 1, frame header 2, and frame header 3 in the above frame structure are the same, forming a repetition code.

[0062] Table 1

[0063]

[0064] Table 2

[0065]

[0066]

[0067] In this application, as shown in Table 3 below, the types of logical layer control frames used can include: a data start logical layer control frame (LLCF_DS), with a corresponding frame type of 0x4B, a checksum of 0xA3, and a payload length of 0. The LLCF_DS is used to mark the start of the transmission of a new logical layer block (LLB); a deskew test logical layer control frame (LLCF_DST), with a corresponding frame type of 0x5A, a checksum of 0xD4, and a payload length of 0. The LLCF_DST is used for delay detection; a pad logical layer control frame (LLCF_PAD), with a corresponding frame type of 0xD2, a checksum of 0x65, and a variable payload length. The LLCF_PAD is used for padding and is directly discarded upon reception. An electrical idle logical layer control frame (LLCF_EI), with 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 frame data.

[0068] Table 3

[0069] Control Frame Frame Type Check Payload Length Description LLCF_DS 0x4B 0xA3 0 Mark the start of a new LLB transmission LLCF_DST 0x5A 0xD4 0 For delay detection LLCF_PAD 0xD2 0x65 Variable length For padding, discarded directly upon reception LLCF_EI 0x65 0x69 0 Mark the end of frame data.

[0070] The technical solution provided by this application can be applied to a data transmission system including multiple data transmission devices. The data transmission device can be a device, a chip applied to the device, or an interface device, 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 can be 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, the multiple data transmission devices can perform data transmission in a wired manner or in a wireless manner. In addition, when the multiple data transmission devices perform data transmission, they can directly transmit signals or transmit signals through an interface device.

[0071] When the data transmission device is a chip in the device, the chips in the data transmission system can be interconnected in a wired or wireless manner. The chip can be a chip in the device, a chip in the docking station, or a chip in the adapter, etc. Among them, gigabit network interfaces, video graphics array (VGA), HDMI, trans flash (TF) cards, secure digital (SD) cards, charging interfaces, and USB interfaces can be plugged into the docking station, etc.

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

[0073] Hereinafter, taking the data transmission system including multiple devices as an example, the structure of the data transmission device will be illustrated by way of example.

[0074] Figure 1 It is a schematic 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. The first device 110 and the second device 120 are connected by a wired or wireless manner, 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 a charging signal can be transmitted, etc. 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 through the 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 through the cable.

[0075] 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 may specifically be the connection between interface A of the first device 110 and interface B of the second device 120. For example, the connection between interface A of the first device 110 and interface B of the second device 120 may be through a cable.

[0076] Figure 2 FIG. is a schematic structural diagram of another data transmission system provided by an embodiment of the present application. The data transmission system includes multiple devices 210 and a router 220. The multiple devices 210 may be connected to the router 220 in a wired or wireless manner. For example, the multiple devices 210 may all be connected to the router 220 through cables. Among them, signals may be transmitted between any two of the multiple devices 210 through the router 220. For example, audio and video data may be transmitted or charging signals may be transmitted, etc. In one example, the multiple devices 210 may include a display 211, a set-top box 212, and an audio player (such as an MP3) 213. The set-top box 212 may transmit audio and video data to the display 211 through the router 220, and the set-top box 212 may also transmit audio data to the audio player 213 through the router 220, etc. In addition, there may be two devices that are connected to each other among the multiple devices 210. For example, the multiple devices 210 may also include a gamepad 214. The gamepad 214 may be connected to the display 211 and transmit control information to the display 211.

[0077] Optionally, each device among the multiple devices 210 may include an interface, the router 220 may include multiple interfaces, and the interface of each device among 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 gamepad, and an audio player. 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 through a cable, the interface of the set-top box is connected to the second interface of the router 220 through a cable, the interface of the gamepad is connected to the third interface of the router 220 through a cable, and the interface of the audio player is connected to the fourth interface of the router 220 through a cable.

[0078] The devices in the above system with data transmission capabilities can be referred to as communication devices. These communication devices can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted. They can also be deployed on water (such as on ships), and can be deployed in the air (such as on airplanes, balloons, satellites, etc.). The communication devices can be applied to different scenarios. Exemplarily, the communication devices can include, but are not limited to: mobile phones, tablet computers, laptop computers, palmtop computers, mobile internet devices (MIDs), cameras, wearable devices (such as smart watches, smart bracelets, pedometers, etc.), audio devices, audio and video players, set-top boxes, game consoles, printers, mice, keyboards, vehicle-mounted devices (such as devices on vehicles like cars, bicycles, electric vehicles, airplanes, ships, trains, and high-speed rails), virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, smart home devices (such as refrigerators, TVs, air conditioners, electricity meters, etc.), intelligent robots, workshop devices, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grid, wireless terminals in transportation safety, wireless terminals in smart city, or wireless terminals in smart home, flight devices (such as intelligent robots, hot air balloons, drones, airplanes), etc. Optionally, the signals transmitted between the above communication devices can include, but are not limited to: audio and video signals, radio frequency signals, Internet of Things data, and charging signals, etc.

[0079] In this application, the interface specifications adopted 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) specifications, display port (DP) specifications, unified multimedia interconnection (UMI) interface specifications, and peripheral component interconnect express (PCI-Express) interface specifications, etc. Correspondingly, the interfaces may be HDMI, miniHDMI, micro HDMI, type-A interfaces, type-B interfaces, Micro-B, and type-C interfaces, etc.

[0080] For example, in the above example, the interface connection method between the set-top box and the TV, or the interface connection method between the game console and the display may be connected through a USB cable, and the interface standard followed is the USB interface specification. Alternatively, this connection method may be connected through an HDMI cable, and the interface standard followed is the HDMI interface specification.

[0081] It can be understood that the interface specifications adopted for signal transmission between the above devices are only exemplary. In actual applications, the interface specifications may also include other or any interface specifications that may appear in the future, such as unified media interconnection (UMI) interfaces, etc. The embodiments of this application do not make specific restrictions on this.

[0082] In this application, when the above device is an electronic device, such as Figure 3The figure shows a schematic diagram of the basic components of an electronic device. The electronic device includes an interface chip 300 (UMI interface), and the interface chip 300 includes one or more adapters 301, a management control adapter 302, and one or more ports 303; or when the electronic device is a routing device, the interface chip 300 only includes 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 control adapter 302 can be coupled to a component for management control outside the interface chip 300. The port 303 can be coupled to a connector 304 of the electronic device, and the connector 304 is used to couple an external device of the electronic device. Among them, one or more of the adapters 301 can be a transmit / receive adapter. For example, when the adapter 301 is used for audio / video format adaptation, the adapter 301 can be an audio / video transmit / receive adapter. When the adapter 301 is used for third-party protocol adaptation, the adapter 301 can be a third-party protocol adapter.

[0083] For example, when the port 303 is a downstream port, the transmit adapter can be used to adapt the service information to be transmitted into the service information to be transmitted on the port 303 of the interface chip, and send the service information through the port 303. When the port 303 is an upstream port, the receive adapter 301 can be used to adapt the service information received from the port 303 into the service information for internal processing of the electronic device for internal processing. The management control adapter 302 can be used to adapt control information.

[0084] The basic components of different electronic devices can be combined to form various different device types. For example, a source device that includes at least one downstream port and at least one audio / video transmit adapter, or a source device that includes at least one upstream port and includes an audio / video receive adapter, or a docking station device that includes at least one upstream port, at least one audio / video receive adapter, and at least one traditional audio / video interface, or a routing device that includes at least one downstream port and at least one upstream port and has no audio / video transmit adapter and audio / video receive adapter, or a composite device that has both an upstream port and a downstream port.

[0085] As Figure 4 The figure shows a schematic diagram of inter-interface transmission provided by an embodiment of the present application. There can be a main link and an auxiliary link between the upstream port and the downstream port between devices. The main link can be used for the transmission of high-speed data, such as the transmission of audio / video signals. The auxiliary link can be used for management and control between devices, such as device discovery, capability query, device configuration, device control, etc., and can also be used for the transmission of low-speed data and control messages.

[0086] In a possible embodiment, the main link may include multiple channels, and each channel may support unidirectional transmission; the auxiliary link may include two unidirectional channels in different directions. In some other possible embodiments, the main link may include multiple channels, a part of the multiple channels being unidirectional channels and another part being bidirectional channels; the auxiliary link may include a bidirectional channel. Exemplarily, a main link may include multiple channels. For example, the number of the multiple channels may be 2, 5, or 9, etc. Among them, the more channels the main link includes, the faster the corresponding data transmission speed. Exemplarily, as Figure 4 shown, for the upstream port, the main link may include n transmit channels TX0 - TXn and m receive channels RX0 - RXm, and the auxiliary link includes a transmit channel SBTX and a receive channel SBRX, where n and m are positive integers; for the downstream port, the main link may include n receive channels RX0 - RXn and m transmit channels TX0 - TXm, and the auxiliary link includes a receive channel SBRX and a transmit channel SBTX.

[0087] Further, between the upstream port and the downstream port of devices, there may also be a power - bus link (PL) and a cable - information link (CL). The cable - information link can be used to transmit cable information, such as the model of the cable and cable - capacity information, etc. The power - bus link and the cable - information link are not shown in the figure.

[0088] It can be understood that for the ports between devices, whether it is an upstream port or a downstream port, it can include multiple pins, such as pins connecting to the ground wire, pins connecting to the power supply wire, pins connecting to the channels of the main link, and pins connecting to the channels of the auxiliary link, etc.

[0089] In a high - speed interconnect 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 channels of the main link can be 2 Gbps, 4 Gbps, or 8 Gbps, 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 channels of the auxiliary link can be 12.5 Mbps.

[0090] When performing multi - channel data transmission, even if the same clock source is used to send data from the sending end, if no processing is performed at the receiving end, it is still impossible to ensure that the data of all channels can reach the receiving end simultaneously, and there will be a time difference between each channel. Among them, there are many reasons for the channel transmission time difference. For example, the lengths of the signal lines of each channel are different, there are differences in the impedance during the printing of the circuit board, delays introduced due to the serialization and deserialization of data, and the influence of external factors such as temperature, etc.

[0091] To ensure that the receiving end of each channel can process the received data simultaneously and correctly, it is necessary to eliminate the delay deviation of each channel to ensure that multi-channel data can reach the receiving end at the same time point for subsequent processing. This process is called the channel alignment process. Currently, as shown in (a) and (b) of Figure 5 , the receiving end usually uses a first-in-first-out (FIFO) buffer for channel alignment. Specifically, after the sending end distributes the data to each channel, it inserts deskew symbols into the data of each channel, then encodes and serial-to-parallel converts it before sending; the receiving end designs the deskew FIFO depth of each channel according to the agreed delay deviation, and when receiving the data with deskew symbols inserted, it performs parallel-to-serial conversion and decoding, and then stores the data in the deskew FIFO buffer; when the receiving end receives the deskew symbols of all channels, it aligns and merges the data. Figure 5 In (a) of Figure 5 , channels 0 to 2 are taken as an example, Figure 5 In (b) of

[0092] In the above solution, when there is a situation where the physical medium in the channel does not meet the requirements or other reasons, resulting in a situation where the maximum delay deviation range is exceeded, 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.

[0093] Based on this, the embodiments of the present application provide a multi-channel alignment method. This method can be used to obtain mode indication information, which is used to indicate that the multi-channel alignment mode is a test mode or a normal mode. 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, so as to achieve multi-channel alignment according to the delay deviation. This method can avoid FIFO buffer overflow without increasing the FIFO depth, thus solving the problem of data errors caused by the delay deviation between channels exceeding the maximum delay deviation range. The solution of the embodiments of the present application will be introduced in detail below.

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

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

[0096] Among them, the multi-channel alignment mode being the test mode may refer to the mode for measuring the delay deviation between the multiple channels. That is, in this mode, the data sending device and the data receiving device can be used to measure the delay deviation between the multiple channels. The multi-channel alignment mode being the normal mode may refer to the mode for normal data transmission. That is, in this mode, the data sending device and the data receiving device can be used for normal data communication.

[0097] Optionally, the mode indication information can be specified by software, and the software can specify that the multi-channel alignment mode is the test mode or the 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 the normal mode; if skew_tst = 1, the mode indication information is used to indicate the measurement mode.

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

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

[0100] Among them, the multiple channels can be the multiple channels that complete channel locking in the data sending device, and the completion of channel locking can also be referred to as successful channel locking, that is, the multiple channels can be the multiple channels with successful channel locking.

[0101] 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.

[0102] Optionally, in the above test mode, the LLCF_DST on the multiple channels can be sent simultaneously or not simultaneously. Exemplarily, if the mode indication information is used to indicate the test mode, the data sending device sends LLCF_DST simultaneously on the multiple channels. In the following, the case where the LLCF_DST on the multiple channels is sent simultaneously is taken as an example for description.

[0103] It is understandable that in the above text, the LLCF_DST is sent by the data sending device in the test mode and the LLCF_DS is sent in the normal mode as an example for illustration. In practical applications, the data sending device may also send the LLCF_DS in the test mode, and the above example does not limit the embodiments of the present application. When the data sending device sends the LLCF_DS in the test mode, the LLCF_DS can also be used to measure the delay deviation of the multiple channels.

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

[0105] Among them, the multiple channels through which the data receiving device detects the LLCF_DS or LLCF_DST can be the multiple channels in the data receiving device that complete channel locking, that is, the multiple channels can be the multiple channels with successful channel locking.

[0106] In a possible embodiment, for each of the multiple channels, after the channel completes channel locking, the data receiving device can detect the LLCF_DS or LLCF_DST on the channel. Exemplarily, after each channel completes channel locking, the data receiving device can detect the LLCF_DS or LLCF_DST on the channel. For example, it continuously detects the LLCF_DS or LLCF_DST within the first time period after the channel locking is successful.

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

[0108] In a possible embodiment, if the mode indication information is used to indicate the test mode, the data sending device sends the LLCF_DST on the multiple channels; correspondingly, the data receiving device detects the LLCF_DS or LLCF_DST on the multiple channels, and when the LLCF_DST is detected, determines that the multi-channel alignment mode is the measurement mode. Further, the data receiving device can perform corresponding steps of measuring the delay of the multiple channels, such as performing S408 - S409 below.

[0109] In another possible embodiment, if the mode indication information is used to indicate the normal mode, the data sending device sends LLCF_DS on the plurality of channels; correspondingly, the data receiving device detects LLCF_DS or LLCF_DST on the plurality of channels, and when LLCF_DS is detected, determines that the multi-channel alignment mode is the normal mode. Further, the data receiving device may perform multi-channel alignment according to the LLCF_DS of the plurality of channels, and the corresponding multi-channel alignment method may adopt the methods in the prior art, which will not be elaborated in the embodiments of the present application.

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

[0111] Exemplarily, the following Figure 7 gives an example of the relevant content of the data sending device and the data receiving device in the normal mode. As Figure 7 shown, the data sending device includes a distribution unit, a delay insertion unit, an encoding unit, and a serial-to-parallel conversion unit, and the data receiving device includes a parallel-to-serial 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 may insert deskew symbols (such as LLCF_DS) into multiple channels through the delay insertion unit, and then perform encoding and serial-to-parallel conversion on it and send it to the data receiving device. The deskew symbols sent by the data sending device on the plurality of channels reach the data receiving device after being transmitted through the physical medium. The data receiving device may receive the deskew symbols of each channel in the plurality of channels, perform parallel-to-serial conversion and decoding processing on the deskew symbols of each channel in the plurality of channels, and store the deskew symbols of each channel in the FIFO buffer. Figure 7 takes the data sending device including channels Tx L0 and Tx L1, and the data receiving device including RxL0 and Rx L1 as an example for illustration, and represents the deskew symbol as a DSW symbol.

[0112] Further, as Figure 8As shown, the method further includes S405 - S407. Figure 8 Taking S405 - S407 as an example, it is located after S401 and before S402 for illustration.

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

[0114] Among them, the delay indication of the multiple channels may include the delay indication of each channel in the multiple channels. The delay indication of each channel may be determined according to the first delay of the channel, or a corresponding delay indication may be configured for the channel according to the first delay of the channel. The first delay of each channel in the multiple channels may be a relative delay. Exemplarily, the first delay of each channel may be a relative delay with respect to the first delay of a reference channel, and the reference channel may be the channel with the smallest first delay among the multiple channels. For example, if the first delay of the reference channel is 0, the delay of the other channels in the multiple channels with respect to the reference channel is the first delay of the other channels.

[0115] In addition, there are at least two different delay indications among the delay indications of the multiple channels, specifically, it may refer to: there are two channels, or more than two channels with different delay indications among the multiple channels. Exemplarily, the first delays of the multiple channels are all different, and the delay indications of the multiple channels are also all different.

[0116] In a possible embodiment, when the data sending device needs to perform multi-channel alignment or is in the multi-channel alignment stage in the case of configuring delay indications for the multiple channels, the data sending device may obtain the delay indications configured for each channel to obtain the delay indications of the multiple channels.

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

[0118] Specifically, in one possible embodiment, the data sending device simultaneously sends LLCF_PAD on the multiple channels according to the delay indications of the multiple channels, including: the data sending device determines the length of the LLCF_PAD of the multiple channels according to the delay indications of the multiple channels, that is, determines the length of the LLCF_PAD sent on each channel in the multiple channels; the data sending device simultaneously sends the corresponding LLCF_PAD on the multiple channels according to the length of the LLCF_PAD of the multiple channels. In this way, the data receiving device can receive the LLCF_PAD on the multiple channels.

[0119] Optionally, the length deviation between any LLCF_PAD among the multiple channels and the shortest LLCF_PAD among the multiple channels is equal to the delay indication of the channel corresponding to the any LLCF_PAD. For example, 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 indication of channel b.

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

[0121] Optionally, as shown in Table 4 below, the payload part of the LLCF_PAD may include bytes B6 to Bn (n is an integer greater than 6). At the start byte of the payload part (i.e., B6), 0x0F may be filled (starting with 0x0F). One or more bytes before the end of the filling in the payload part (i.e., B7 to Bn - 3) may also be filled with 0x0F (i.e., continuously send 0x0F before the end of the filling). At the byte where the filling ends (i.e., Bn - 2), 0xF0 is filled, and the cyclic redundancy check (CRC) of the payload part, or the so-called payload checksum, is sent in the last two bytes (i.e., Bn - 1 and Bn). Alternatively, as shown in Table 5 below, the payload part of the above first LLCF_PAD or second LLCF_PAD may include bytes B6 to B8. 0xF0 is filled in byte B6, and the payload checksum is sent in bytes B7 and B8.

[0122] Table 4

[0123]

[0124] Table 5

[0125]

[0126]

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

[0128] Exemplarily, such as Figure 9As shown, it is assumed that the multiple channels include 3 channels and are respectively denoted as L0, L1, and L2. 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, where Dly0 is greater than Dly2. Specifically, the data sending device can simultaneously send LLCF_PAD on each of the channels from L0 to L2, and then send LLCF_DS or LLCF_DST on each channel. Among them, the length of LLCF_PAD on channel L1 is the shortest, the difference between the length of LLCF_PAD on channel L0 and the length of LLCF_PAD on channel L1 is Dlyl, and the difference between the length of LLCF_PAD on channel L2 and the length of LLCF_PAD on channel L1 is Dly2. At this time, the data receiving device can complete the reception of LLCF_PAD on channels 0, L1, and L2 at the same moment and receive LLCF_DS or LLCF_DST at the same time. In the figure, taking the sending of LLCF_DS as an example, LLCF_PAD is denoted as CF_PAD and LLCF_DS is denoted as CF_DS.

[0129] In another possible embodiment, in the test mode, the delay indications of the multiple channels can be 0, and the lengths of LLCF_PAD of the above multiple channels can be 0. At this time, the data sending device sends LLCF_DS or LLCF_DST in S402 above, specifically: simultaneously send LLCF_DS or LLCF_DST on the multiple channels. In this way, the data receiving device can measure the delays of the multiple channels according to the reception times of LLCF_DS or LLCF_DST on the multiple channels.

[0130] Optionally, the delay indication for each of the above channels can also be referred to as the transmission time of the deskew symbol for each channel (for example, the deskew symbol can be LLCF_DST or LLCF_DS in the above text), that is, the first delay indicated by the delay indication for each channel can be the transmission time of the deskew symbol for that channel. Among them, the transmission times of the deskew symbols for the multiple channels can be different, and the transmission time of the deskew symbol corresponding to the channel with a larger first delay is earlier than the transmission time of the deskew symbol corresponding to the channel with a smaller first delay, that is, the channel with a larger first delay sends the deskew symbol first, and the channel with a smaller first delay sends the deskew symbol later. Exemplarily, the data sending device can obtain the first delay delay for each of 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, then the transmission time of the deskew symbol of any other channel y relative to channel z is equal to the difference between the first delay delay_y of that channel y and the minimum first delay min_delay (delay_y - min_delay), that is, channel y sends the deskew symbol of that channel before channel z sends the deskew symbol, and the time is earlier than the time when channel z sends the deskew symbol by delay_y - min_delay.

[0131] In one example, as Figure 10 shown, assume that the multiple channels include 3 channels and are respectively denoted as L0, L1, and L2. The first delay indicated by the delay indication of channel L0 is 0, the first delay indicated by the delay indication of channel L1 is Dlyl, and the first delay indicated by the delay indication of channel L2 is Dly2, and Dlyl is greater than Dly2. Specifically, the data sending device can send the deskew symbol on channel L0, and send the deskew symbol on channel L2 after a delay of Dly2, and send the deskew symbol on channel L1 after a delay of Dlyl. 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 receive the deskew symbol simultaneously on channels 0, L1, and L2. In the figure, the deskew symbol is represented as the DSW symbol.

[0132] 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 reach the data receiving device simultaneously, thereby reducing the FIFO depth in the data receiving device while achieving multi-channel alignment, and further solving the problem of data errors caused by the delay deviation between channels exceeding the maximum delay deviation range.

[0133] Further, the first delay of each channel in S405 above can be determined according to the second delay. The second delay is also called the relative delay, and 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 represent the magnitude of the channel transmission delay. The larger the second delay, the longer the channel delay; the first delay is used to represent the time when each channel 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 simultaneously with the LLCF_DS or LLCF_DST that is sent late but has a short channel delay after a long channel delay, thereby achieving the purpose of reducing the multi-channel delay deviation and reducing the FIFO depth.

[0134] In one example, the first delay of each channel in the multiple channels is equal to the difference between the maximum second delay in the multiple channels and the second delay of the channel. For example, the multiple 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 in units of bytes, the multiple 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.

[0135] In one example, the second delay is determined according to historical delays, or the second delay is determined according to empirical values. Among them, when the second delay is determined according to historical delays, an average value can be determined according to multiple historical delays, and this average value is used as the second delay. Of course, other statistical methods can also be used for determination, and the embodiments of the present application do not make specific limitations in this regard. In another example, the second delay can be measured. Taking the second delay being measured as an example below, the process of measuring the second delay will be introduced and described.

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

[0137] S408: If the mode indication information is used to indicate the test mode, the data sending device simultaneously sends LLCF_DST on the multiple channels. Wherein, step S408 is equivalent to the process executed by step S402 when the mode indication information is used to indicate the test mode.

[0138] S409: The data receiving device determines a second delay for the multiple channels according to the reception time of LLCF_DST on the multiple channels.

[0139] 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 may 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 channel, the data receiving device may determine the delay of the other channel relative to the first channel as the second delay of the other channel.

[0140] For ease of description, LLCF_DST is referred to as the skew measurement symbol here. Exemplarily, the data receiving device may 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 may be reset and start timing; when the data receiving device receives the skew measurement symbol of any other channel, the corresponding timing of the timer Glb_Relative_Delay may be converted into the number of bytes and latched as the second delay of the channel. Until when the data receiving device receives LLCF_DST on all channels to be measured for skew, or the corresponding timing of 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. Here, converting the timing into the number of bytes means calculating the value of the timer in units of the duration T for transmitting one byte.

[0141] Optionally, for any one of the multiple channels, when there are certain abnormalities in the channel and the data receiving device does not receive the skew measurement symbol of the channel within a preset duration (for example, the second duration), such as not receiving LLCF_DST of the channel, the data receiving device may convert the second duration into the 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 duration.

[0142] S410: The data receiving device sends a channel alignment feedback message, and the channel alignment feedback message includes the second delays of the multiple channels.

[0143] In a possible embodiment, after the data receiving device measures 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, and the second delays of the multiple channels may be sent through a channel alignment feedback message, so that the data sending device receives the second delays of the multiple channels.

[0144] 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 channel in the multiple channels one by one. In the above S410, the example where the second delays of the multiple channels are sent together through a channel alignment feedback message is used for illustration, and the above example does not limit the embodiments of the present application.

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

[0146] In a possible embodiment, when 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 duration, the data sending device may determine that the delay measurement of the multiple channels fails.

[0147] Exemplarily, as Figure 12 shown, if the mode indication information is used to indicate the test mode, the data sending device needs to measure the second delays of the multiple channels. The data sending device may simultaneously send skew measurement symbols on the multiple channels (for example, send LLCF_DST); when the data receiving device first receives the skew measurement symbol on the first channel, the data sending device determines that the second delay of the first channel is 0; for the other channels in the multiple channels, when the data receiving device receives the skew measurement symbol of the other channel, the data sending 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 measurement of the second delays of the multiple channels within the second duration T2; afterwards, the data receiving device may send the second delays of the multiple channels to the data sending device through a measurement result feedback message; the data sending device receives the second delays of the multiple channels within the first duration T1 to complete the entire delay measurement process. Wherein, the first duration T1 is greater than or equal to the second duration T2.

[0148] It can be understood that the above first duration and second duration can be preset. In practical applications, the first duration and the second duration can be set by two timers respectively. The embodiments of the present application do not specifically limit the specific values of the first duration and the second duration, nor how to set the first duration and the second duration.

[0149] In a possible example, as Figure 13 shown, the data sending device includes a distribution unit, an encoding unit, and a serial-to-parallel conversion unit, and the data receiving device includes a parallel-to-serial conversion unit, a decoding unit, a delay measurement unit, a FIFO buffer, and a merging unit. Specifically, the data sending device can insert skew measurement symbols (for example, LLCF_DST) in each channel, and then encode and perform serial-to-parallel conversion on them and send them to the data receiving device. The skew measurement symbols sent by the data sending device on the multiple channels reach the data receiving device after being transmitted through the physical medium. The data receiving device can receive the skew measurement symbols of each channel in the multiple channels, perform parallel-to-serial conversion and decoding processing on the skew measurement symbols of each channel in the multiple channels, and use the delay measurement unit to measure the skew measurement symbols of each channel to determine the second delay. In the figure, an example is given where the data sending device includes channels Tx L0 and Tx L1, and the data receiving device includes Rx L0 and Rx L1, and the skew measurement symbols are represented as measurement symbols.

[0150] Optionally, if the data sending device needs to measure the second delay of the multiple channels, the data sending device can also send other symbols simultaneously on the multiple channels. Exemplarily, the data sending device can send skew measurement symbols simultaneously on the multiple channels. The skew measurement symbols can be pre-agreed symbols for skew measurement. For example, the skew measurement symbols can be PCIe COM symbols or other newly defined symbols, etc. The embodiments of the present application do not specifically limit this.

[0151] In the embodiments of the present application, the data sending device can send LLCF_DST simultaneously 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 the data sending device performs multi-channel alignment, it can adjust the transmission delay of the multiple channels based on the measured second delay of the multiple channels, so that the data receiving device can receive the data sent by the multiple channels simultaneously, thereby reducing the FIFO depth in the data receiving device while achieving multi-channel alignment.

[0152] Furthermore, since there are certain differences in the transmission delays of each channel, to ensure that after multiple channels have experienced 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 the channels that need to be trained or recovered have completed the channel locking process, the link needs to execute a multi-channel alignment process. At the same time, to facilitate compatibility with cable or circuit designs with large inter-channel delay differences, a test method for the inter-channel delay difference is also provided. This application provides users with optional multi-channel alignment test modes and inter-channel skew adjustment functions.

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

[0154] In the multi-channel alignment phase, if the current is the normal mode, 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, and then the service data is sent. If the current is the test mode, the transmitters of all channels to be aligned simultaneously send an LLCF_DST. In the multi-channel alignment phase, after the receivers of all channels to be aligned complete the channel locking, they need to continuously detect LLCF_DS or LLCF_DST within the tWaitDsTimeout time to determine whether the current is the normal mode or the test mode of multi-channel alignment.

[0155] Note that in the multi-channel alignment phase, there are two scenarios for determining that the receiver has completed channel locking: The first scenario is that the peer has fed back LLCFM; The second scenario is that the RX to be recovered at the local end detects 16 LLCF_TS2 in the LSNM(RX) at the RECOVERY.fast_lock stage. Regarding the determination of the completion of channel locking by the receiver of the channel to be aligned during multi-channel alignment later, it is the same as above and will not be elaborated. If LLCF_DS is detected, the receiver can determine that the current alignment mode is the normal mode, and the receiver performs multi-channel alignment based on LLCF_DS and then starts receiving high-speed service data. Otherwise, it follows the multi-channel alignment process of the test mode.

[0156] The present application also provides a multi-channel alignment method for the test mode. Specifically, if the peer device supports channel skew measurement, the software can enable the inter-channel skew measurement indication skew_tst of the local link layer before the start of link training. If skew_tst = 1 during this multi-channel alignment phase, the multi-channel alignment in the test mode will be executed. After completing the multi-channel alignment test, the link establishment process will end and the system will return to the initial link state.

[0157] During the multi-channel alignment in the test mode, after all the sending ends of the channels to be aligned receive the LLFM, they immediately send 1 LLCF_DST + 4 LLCF_EIs and then stop sending data, and continuously wait for the peer to feedback DSFM within the tDsTstTimeout time. After the sending end receives the DSFM feedback from the peer, it needs to report the test result to the software. The software initiates link retraining and specifies the multi-channel alignment mode and the skew adjustment information of the sending end for the new link establishment during the link retraining (only when the sending end supports multi-channel skew adjustment can the skew adjustment configuration be performed. See the relevant description in the inter-channel skew adjustment section later).

[0158] During multi-channel alignment, after the receiving end of the channel to be aligned completes channel locking, it continuously detects LLCF_DS or LLCF_DST within the tWaitDsTimeout time. If the receiving end detects LLCF_DST, it can determine that the current alignment mode is the test mode. The receiving end performs multi-channel skew measurement based on LLCF_DST and feedbacks the test result to the sending end through DSFM. An example of the specific measurement method is as follows.

[0159] 1. The TX channels of device A simultaneously send LLCF_DST on each Lane where the Skew value needs to be measured.

[0160] 2. The Rx of device B maintains a global relative delay timer (Glb_Relative_Delay). When any Lane receives LLCF_DST, it resets Glb_Relative_Delay and starts timing until all Lanes that need to measure Skew have received LLCF_DST or Glb_Relative_Delay >= tRxDsDetMaxTime (some Lanes do not receive LLCF_DST due to abnormalities, etc.), then stops timing. Then each channel converts the Glb_Relative_Delay duration into the corresponding number of bytes and latches it as the Relative_Delay of this channel.

[0161] 3. After the Rx of Device B finishes the Skew measurement (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 - 7 in DSFM, and the Relative_Delay of the Lane that first receives LLCF_DST is 0).

[0162] 4. Device A receives the channel alignment feedback message DSFM information, which can be used to adjust the deviation of LLCF_DS / LLCF_DST sent by each Lane subsequently (only if the local end supports it can it be adjusted).

[0163] 5. If Device A does not receive DSFM within the tDsTstTimeout time after sending LLCF_DST on the Tx channel, it is determined that the Skew measurement fails, and an exception needs to be reported to the software.

[0164] This application also provides a method for adjusting the inter-channel delay deviation (skew). Specifically, after completing the multi-channel alignment in the test mode and receiving the DSFM feedback from the peer end, if the TX end of the local device supports the inter-channel skew adjustment, the software can calculate the appropriate number of delay bytes that match the local design based on the Skew measurement value in DSFM (i.e., the relative delay information recorded in the DLY0 - 7 field segment, denoted as Relative_Delays, corresponding to the aforementioned second delay), and configure it to the data delay indication of each lane, LaneX_tx_data_dly (corresponding to the aforementioned first delay). Then initiate a link retraining. During the subsequent link training or link recovery, in the multi-channel alignment stage at the sending end, 1 LLCF_PAD and 1 LLCF_DS (or LLCF_DST) need to be sent simultaneously on each channel for inter-channel skew alignment or measurement. The length deviation value of the LLCF_PAD sent by each channel is the LaneX_tx_data_dly configured for the corresponding channel. For the Lane with a large Relative_Delay value, a shorter LLCF_PAD needs to be sent, and for the Lane with a small Relative_Delay value, a longer LLCF_PAD needs to be sent.

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

[0166] The present application also provides a multi-channel alignment method. Specifically, after all TX channels complete channel locking, they enter the TX channel alignment state, and the process of TX channel alignment is as shown in Figure 14 ; after RX channels complete channel locking, they enter the RX channel alignment state, and the process of RX channel alignment is as shown in Figure 15 .

[0167] As shown in Figure 14 , the method includes: S11. The transmitter enters the multi-channel alignment state; S12. Determine whether the spatial domain segment skew_tst = 1 is configured. If not, execute S13a; if so, execute S13b; S13a. All channels send 1 LLCF_PAD + 1 LLCF_DS and high-speed service data. The length of the LLCF_PAD sent by each channel is determined according to the first time delay, and then execute S14; S14. The multi-channel alignment process ends, and all TX channels start sending high-speed service data; S13b. All channels send 1 PAD + 1 LLCF_DST + 1 LLCF_EI, start timing, and then execute S15; S15. Determine whether DSFM is received within the tDsTstTimeout time. If so, execute S16a; if not, execute S16b; S16a. The multi-channel alignment process ends, report the test result to the software, and return to the link initialization state to wait for the software to initiate link retraining; S16b. Timeout, report an exception.

[0168] As shown in Figure 15 , the method includes: S21. The receiver enters the multi-channel alignment state; S22. Determine whether LLCF_DS or LLCF_DS_TST is detected within the tWaitDsTimeout time. If not, execute S23a; if so, execute S23b; S23a. Timeout, report an exception; S23b. Determine whether the detected pattern is LLCF_DS. If not and the detected pattern is LLCF_DST, execute S24a; if so, execute S24b; S24a. Perform multi-channel delay deviation (skew) testing and feedback the test result to the transmitter through DSFM, and then execute S25; S25. The multi-channel alignment process ends, and return to the link initialization state to wait for the software to initiate link retraining; S24b. Perform multi-channel delay deviation cancellation (deskew), and then execute S26; S26. Determine whether all the receiving channels to be used (i.e., RX channels) can complete multi-channel alignment. If so, execute S27a; if not (for example, the delay deviation (skew) of multiple channels is large, and any channel cannot detect LLCF_DS or cannot complete delay deviation cancellation (deskew) based on LLCF_DS), execute S27b; S27a. The multi-channel alignment process ends, and all aligned RX channels start receiving high-speed service data; S27b. Report an exception for delay deviation cancellation (deskew).

[0169] The above mainly introduced the solution provided by the embodiments of the present application from the perspective of the interaction between the data sending device and the data receiving device. It can be understood that, in order to implement the above functions, the data sending device and the data receiving device include the corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should easily realize 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 certain function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.

[0170] The embodiments of the present application can divide the data sending device and the data receiving device into functional modules according to the above method examples. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one module. The above integrated module can be implemented in the form of hardware or in the form of a software functional module. It should be noted that the division of modules in the embodiments of the present application is illustrative, only a logical function division, and there can be other division methods in actual implementation. The following will take the example of dividing each functional module corresponding to each function for illustration.

[0171] In the case of adopting an integrated unit, Figure 16 FIG. shows a possible structural schematic diagram of the data sending device involved in the above embodiments. The data sending device can be a sending end device or a chip applied to the sending end device. 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 embodiments, and / or other technical processes described herein; the sending unit 502 can be used to support the device to execute S402, S406 and / or S408 in the above method embodiments. Optionally, the device can further include a receiving unit 503, which is used to support the device to receive S411 in the above method embodiments. All relevant contents of each step involved in the above method embodiments can be cited to the function descriptions of the corresponding functional modules, and the embodiments of the present application will not repeat them here.

[0172] On the basis of hardware implementation, the processing unit 501 in the present application can be the processor of the device, the sending unit 502 can be the transmitter of the device (which can be called the sending port), and the receiving unit 503 can be the receiver of the device (which can be called the receiving port). Optionally, the transmitter and the receiver can usually be integrated together as a transceiver, and the specific transceiver can also be called a communication interface.

[0173] As shown Figure 17 in the figure, it is a schematic structural diagram of a data sending device provided by an embodiment of the present application. This device can be a sending-end device or a chip applied to the sending-end device. The device includes: a processor 511, a transmitter 512, and a receiver 513. The processor 511 is used to support the device to execute S401, S405 in the above method embodiment, and / or other technical processes described herein. In addition, the transmitter 512 and the receiver 513 are used to support the device to communicate. For example, they support the device to communicate with a data receiving device.

[0174] It can be understood that all relevant contents of each step involved in the above method embodiment can be cited in the function description of the corresponding functional module, and the embodiments of the present application will not be elaborated herein.

[0175] In the case of adopting an integrated unit, Figure 18 it shows a possible schematic structural diagram of the data receiving device involved in the above embodiment. This data receiving device can be a receiving-end device or a chip applied to the receiving-end device. The device includes: a receiving unit 601 and a processing unit 602. Among them, the receiving unit 601 is used to support the device to execute S403, S407 in the above method embodiment; the processing unit 602 is used to support the device to execute S404, S409 in the above method embodiment, and / or other technical processes described herein. Optionally, the device may further include a sending unit 603, which is used to support the device to execute S410 in the above method embodiment. All relevant contents of each step involved in the above method embodiment can be cited in the function description of the corresponding functional module, and the embodiments of the present application will not be elaborated herein.

[0176] Based on the implementation with hardware, the processing unit 602 in the present 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 the transmitter can usually be integrated together as a transceiver, and the specific transceiver can also be called a communication interface.

[0177] As shown Figure 19 in the figure, it is a schematic structural diagram of a data receiving device provided by an embodiment of the present application. This data receiving device can be a receiving-end device or a chip applied to the receiving-end device. The device includes: a processor 611, a transmitter 612, and a receiver 613. The processor 611 is used to support the device to execute S404, S409 in the above method embodiment, and / or other technical processes described herein. In addition, the transmitter 612 and the receiver 613 are used to support the device to communicate. For example, they support the device to communicate with a data sending device.

[0178] It is understandable that all relevant contents of the steps involved in the above method embodiments can be cited in the function descriptions of the corresponding functional modules, and the embodiments of the present application will not elaborate herein.

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

[0180] In several embodiments provided by the present 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 only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed.

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

[0182] If the integrated unit is implemented in the form of 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: various media such as USB flash drives, mobile hard disks, read-only memories, random access memories, magnetic disks, or optical discs that can store program codes. Based on such an understanding, the technical solution of the embodiments of the present application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product.

[0183] In another embodiment of the present application, a readable storage medium is further provided. Computer-executable instructions are stored in the readable storage medium. When a device (which can be a single-chip microcomputer, a chip, etc.) or a processor executes the steps of the data sending device in the above method embodiments.

[0184] In another embodiment of the present application, a readable storage medium is further provided. Computer-executable instructions are stored in the readable storage medium. When a device (which can be a single-chip microcomputer, a chip, etc.) or a processor executes the steps of the data receiving device in the above method embodiment.

[0185] In yet another embodiment of the present application, a computer program product is further provided. The computer program product includes computer instructions, and the computer instructions are stored in a readable storage medium. At least one processor of the device can read the computer instructions from the readable storage medium, and the at least one processor executes the computer instructions to enable the device to perform the steps of the data sending device in the above method embodiment.

[0186] In yet another embodiment of the present application, a computer program product is further provided. The computer program product includes computer instructions, and the computer instructions are stored in a readable storage medium. At least one processor of the device can read the computer instructions from the readable storage medium, and the at least one processor executes the computer instructions to enable the device to perform the steps of the data receiving device in the above method embodiment.

[0187] Finally, it should be noted that the above are only specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A multi-channel alignment method, characterized in that, the method includes: obtaining mode indication information, where the mode indication information is used to indicate that the multi-channel alignment mode is a test mode or a normal mode; sending a start logical link control frame LLCF_DS or a deviation elimination test logical link control frame LLCF_DST on multiple channels according to the mode indication information; 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.

2. The method according to claim 1, characterized in that, before sending the start logical link control frame LLCF_DS or the deviation elimination test logical link control frame LLCF_DST on the multi-channels, the method further includes: obtaining the delay indication of the multiple channels, and the delay indication of each channel is used to indicate the first delay of the channel; sending a padding logical link control frame LLCF_PAD on the multiple channels simultaneously according to the delay indication of 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 the any LLCF_PAD.

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

5. The method according to any one of claims 1-4, characterized in that, if the mode indication information is used to indicate the test mode, and after sending the LLCF_DST on the multiple channels, the method further includes: receiving a channel alignment feedback message, where the channel alignment feedback message includes the second delay of the multiple channels.

6. The method according to claim 1, characterized in that, if the mode indication information is used to indicate the test mode, and after sending the LLCF_DST on the multiple channels, the method further includes: if the channel alignment feedback message DFSM is not received within a first duration, determining that the delay measurement of the multiple channels fails.

7. The method according to claim 1, characterized in that, the method further includes: after sending the LLCF_DST on the multiple channels, sending an electrical idle logical link control frame LLCF_EI on the multiple channels; or, after sending the LLCF_DS on the multiple channels, sending service data on the multiple channels.

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

9. A multi-channel alignment method, characterized in that, the method includes: detecting a start logical link control frame LLCF_DS or a deviation elimination test logical link control frame LLCF_DST on multiple channels; If the LLCF_DS is detected on the multiple channels, determine that the multi-channel alignment mode is the normal mode; If the LLCF_DST is detected on the multiple channels, determine that the multi-channel alignment mode is the test mode.

10. The method according to claim 9, wherein, 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.

11. The method according to claim 9, wherein, when it is determined that the multi-channel alignment mode is the test mode, the method further includes: Determining a second delay of the multiple channels according to the reception time of the LLCF_DST of the multiple channels; Sending a channel alignment feedback message, where the channel alignment feedback message includes the second delay of the multiple channels.

12. The method according to claim 9, wherein, the method further includes: If the LLCF_DS or the LLCF_DST is not detected within a second duration of the multiple channels, determine that multi-channel alignment fails.

13. The method according to any one of claims 9-12, wherein, the method further includes: After the LLCF_DST is detected on the multiple channels, receiving an electrical idle logical link control frame LLCF_EI on the multiple channels; or, After the LLCF_DS is detected on the multiple channels, receiving service data on the multiple channels.

14. A data sending device, wherein, the device includes: A processing unit, configured to obtain mode indication information, where the mode indication information is used to indicate that the multi-channel alignment mode is the test mode or the normal mode; A sending unit, configured to send a start logical link control frame LLCF_DS or a deviation cancellation test logical link control frame LLCF_DST on multiple channels according to the mode indication information; 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.

15. The device according to claim 14, wherein, before sending the start logical link control frame LLCF_DS or the deviation cancellation test logical link control frame LLCF_DST on the multi-channel; The processing unit is further configured to obtain a delay indication 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 link control frame LLCF_PAD on the multiple channels simultaneously according to the delay indication of the multiple channels.

16. The device according to claim 15, wherein, 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 the any LLCF_PAD.

17. The device according to claim 15 or 16, wherein, The first delay is determined according to the second delay, or the first delay is determined according to the historical delay.

18. The device according to any one of claims 14-17, wherein, if the mode indication information is used to indicate the test mode, and after the LLCF_DST is sent on the multiple channels, the device further includes: a receiving unit, configured to receive a channel alignment feedback message, where the channel alignment feedback message includes a second delay of the multiple channels.

19. The device according to claim 14, wherein, if the mode indication information is used to indicate the test mode, and after the LLCF_DST is sent on the multiple channels; the processing unit is further configured to determine that the delay measurement of the multiple channels fails if a channel alignment feedback message DFSM is not received within a first duration.

20. The device according to claim 14, wherein, the sending unit is further configured to: after the LLCF_DST is sent on the multiple channels, send an electrical idle logical link control frame LLCF_EI on the multiple channels; or, after the LLCF_DS is sent on the multiple channels, send service data on the multiple channels.

21. The device according to claim 20, wherein, the LLCF_DST on the multiple channels is sent simultaneously.

22. A data receiving device, wherein, the device includes: a receiving unit, configured to detect a start logical link control frame LLCF_DS or a deviation cancellation test logical link control frame LLCF_DST on multiple channels; a processing unit, configured to determine that the multi-channel alignment mode is a normal mode if the LLCF_DS is detected on 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 on the multiple channels.

23. The device according to claim 22, wherein, when it is determined that the multi-channel alignment mode is a normal mode, the processing unit is further configured to: perform multi-channel alignment according to the LLCF_DS of the multiple channels.

24. The device according to claim 22, wherein, 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 multiple channels according to the reception time of the LLCF_DST of the multiple channels; the sending unit is further configured to send a channel alignment feedback message, where the channel alignment feedback message includes the second delay of the multiple channels.

25. The device according to claim 22, wherein, the processing unit is further configured to: determine that the multi-channel alignment fails if the LLCF_DS or the LLCF_DST is not detected within a second duration of the multiple channels.

26. The device according to any one of claims 22-25, wherein, the receiving unit is further configured to: After the LLCF_DST is detected on the multiple channels, receive an electrical idle logical link control frame LLCF_EI on the multiple channels; or, After the LLCF_DS is detected on the multiple channels, receive service data on the multiple channels.

27. A chip, characterized in that, the chip includes: a processing circuit and a transmitter, and 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-8.

28. A chip, characterized in that, the chip includes: a processing circuit and a receiver, and the processing circuit and the receiver are used to support the chip to execute the multi-channel alignment method according to any one of claims 9-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-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-26 or the chip according to claim 28.

30. A readable storage medium, characterized in that, instructions are stored in the readable storage medium, and when the instructions are run on a device, the device is caused to execute the multi-channel alignment method according to any one of claims 1-8.

31. A readable storage medium, characterized in that, instructions are stored in the readable storage medium, and when the instructions are run on a device, the device is caused to execute the multi-channel alignment method according to any one of claims 9-13.

Citation Information

Cited By

  • SerDes link initialization method and device

    CN121070853A