Line coding method and device
The line coding method addresses the complexity and delay issues in current methods by using indicator bits to directly mark data frame segments within the payload, enhancing processing efficiency and accuracy in wired transmission.
Patent Information
- Application Number
- JP2025030473
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-27
- Publication Date
- 2025-06-03
AI Technical Summary
Current line coding methods for wired transmission face challenges such as high complexity, long delay, and low accuracy in processing data frames, primarily due to the reliance on complex block type fields for indicating payload formats.
A line coding method that uses indicator bits to directly indicate the start, middle, and end segments of a data frame, separate from the block type field, along with a synchronization word to indicate data/control, thereby simplifying data processing and reducing transmission delays.
This approach simplifies data processing, reduces transmission delays, and enhances accuracy by directly indicating the position of data frames within the payload, thus improving the overall efficiency of wired transmission.
Smart Images

Figure 2025084868000001_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technologies, and more particularly, to line coding methods and apparatuses.
Background Art
[0002] In wired transmission, line coding, such as 64-bit (bit, B) / 66B coding or 64B / 65B coding, is usually used to indicate the type, position, etc. of code block data.
[0003] Regarding code blocks by line coding such as 64B / 66B and 64B / 65B, a synchronization field is used to indicate whether the subsequent 64B carries control information. When the subsequent 64B carries control information, the 8B block type field in the 64B indicates another 56B format. For example, when the value of the block type field is 0x1e, the 56B contains eight 7B control sub-blocks, and each control sub-block is used to carry one piece of control information. As another example, when the value of the block type field is 0x33, the 56B contains four 7B control sub-blocks and three 8B data sub-blocks. The data sub-blocks are used to carry data information, and the first data sub-block is at the beginning of the data frame. As yet another example, when the value of the block type field is 0x78, the 56B contains seven 8B data sub-blocks, and the first data sub-block is at the beginning of the data frame. As yet another example, when the value of the block type field is 0xff, the 56B contains seven 8B data sub-blocks, and the last data sub-block is at the end of the data frame.
[0004] In the current line coding method, the indication at the beginning and end of a data frame depends on further analysis of the block type field. Since the block type field has multiple values, the complexity of processing the block type field exceeds the complexity of processing the data. Furthermore, if the block type field is inaccurate, the start position of the data frame may be lost. SUMMARY OF THE INVENTION MEANS FOR SOLVING THE PROBLEM
[0005] This application provides a line coding method and apparatus to solve the problems of high complexity, long delay, and low accuracy in processing data frames in the current line coding method.
[0006] According to a first aspect, an embodiment of this application provides a line coding method. The method includes generating and transmitting a target code block, where the target code block includes an indicator bit and a payload, the indicator bit includes a first value, a second value, a third value, and a fourth value, the first value is used to indicate that the payload includes the first segment of the data frame, the second value is used to indicate that the payload includes the middle segment of the data frame, the third value indicates that the payload includes the last segment of the data frame, and the fourth value is used to indicate that the payload includes non-data information. A data frame generally refers to a packet with a specific frame format, such as an Ethernet media access control (MAC) frame or an Internet protocol (IP) frame. The specific type of data frame is not limited in the embodiments of this application.
[0007] In an embodiment of the present application, the first segment of the data frame (i.e., the beginning of the data frame), the last segment (i.e., the end of the data frame), and the intermediate segment (i.e., the continuation of the data frame) are directly indicated by indicator bits, and the data / control is indicated by a synchronization word. Compared with the method in which a block type field is used to indicate the payload format, the start position and the end position of the data frame are separated from the block type field and directly indicated by indicator bits. This can simplify the complexity of data processing and reduce the complexity and delay of wired transmission.
[0008] In a possible design, when a target code block is generated, assuming that N is an integer greater than or equal to 2, the data frame may be divided into N segments, the N segments are encoded to obtain N code blocks, the N code blocks include the target code block, if the payload of the target code block includes the first segment among the N segments, the indicator bit of the target code block is the first value, if the payload of the target code block includes the nth segment among the N segments, the indicator bit of the target code block is the second value, where n is an integer greater than or equal to 2 and less than N, or if the payload of the target code block includes the Nth segment among the N segments, the indicator bit of the target code block is the third value. In the above design, when each segment of the data frame is transmitted, the value of the indicator bit of the code block of each segment is carried. In this way, the receiving node can determine the position of the segment carried in the code block within the data frame, and thus the received segments can be spliced together to obtain a complete data frame.
[0009] In a possible design, the N segments may have equal lengths.
[0010] In a possible design, non-data information includes, hereinafter, at least one of padding bits, sub-indicator bits, and control information. In the above design, the payload may carry multiple types of control information, padding, etc., and thus, the code block can support complex control information.
[0011] In a possible design, if the bit carried in the payload is a padding bit, the indicator bit is a fourth value.
[0012] In a possible design, the indicator bit is a fourth value, and the payload carries sub-indicator bits. The sub-indicator bits are used to indicate that the payload carries physical layer padding bits, or the sub-indicator bits are used to indicate that the payload carries control information, or the sub-indicator bits are used to indicate that the payload carries a data frame. In the above design, the payload may carry multiple types of control information, a complete data frame with a small amount of data, padding, etc., and the content carried in the payload may be further indicated by the sub-indicator bits. Thus, the code block can support complex control information, and the flexibility of indication can be enhanced. Further, the payload supports carrying a complete data frame with a small amount of data. As a result, the transmission overhead of a data frame with a small amount of data is reduced, the insertion of a complete data frame with a small amount of data between segments of the data frame is enabled, and the transmission delay of a complete data frame with a small amount of data is reduced.
[0013] In a possible design, the sub-indicator bits may further indicate the type of control information carried in the payload. In the above design, the content carried in the payload may be further indicated by the sub-indicator bits, and as a result, the flexibility of indication can be enhanced.
[0014] In a possible design, the type of control information includes, hereinafter, at least one of block identification information, transmission acknowledgement information, intermittent test information, sleep information, and link retraining information.
[0015] In a possible design, when the payload carries control information, the payload further includes a cyclic redundancy check (CRC) field used for check protection. In the above design, the reliability of the control information can be guaranteed by using the CRC field, and thus error control can be avoided.
[0016] According to a second aspect, an embodiment of the present application provides a line coding method. The method includes generating and transmitting a target code block, where the target code block includes an indicator bit and a payload, the indicator bit includes a first value and a second value, the first value is used to indicate that the payload includes a segment of a first data frame, the second value is used to indicate that the payload includes non-data information, and when the indicator bit is the second value, the payload includes a sub-indicator bit, and the sub-indicator bit is used to indicate at least one of the following information: that the next code block of the target code block carries the first segment of the first data frame; that the previous code block of the target code block carries the last segment of the first data frame; that the bits carried in the payload of the target code block are physical layer padding bits; that the payload of the target code block carries control information; that the payload of the target code block carries the first data frame; and that the first data frame and at least one second data frame are stitched together in the payload of the target code block. A data frame generally refers to a packet of a specific frame format, such as an Ethernet MAC frame or an IP frame. The specific type of data frame is not limited in the embodiments of the present application.
[0017] In an embodiment of the present application, the sub-indicator bit is used to indicate the start or end of a data frame, and as a result, the overhead of the indicator bit can be reduced. In addition, a code block indicating the start of the data frame and a code block indicating the end of the data frame are inserted before the first segment and after the last segment of the data frame, respectively. Compared with the way the block type field indicates the payload format, the sub-indicator bit directly indicates the start or end of the data frame. This can simplify the complexity of data processing and reduce the delay of wired transmission.
[0018] In a possible design, if the next code block of the target code block carries the first segment of the first data frame, the bits carried in the payload are physical layer padding bits, and the sub-indicator bit indicates that the next code block of the target code block carries the first segment of the first data frame. In the above design, one code block may be inserted before the code block carrying the first segment, and the code block may indicate the start of the data frame by using the value of the sub-indicator bit. This can simplify the complexity of data processing and reduce the complexity and delay of wired transmission.
[0019] In a possible design, if the code block before the target code block carries the last segment of the first data frame, the bits carried in the payload are physical layer padding bits, and the sub-indicator bit indicates that the code block before the target code block carries the last segment of the first data frame. In the above design, one code block may be inserted before the code block carrying the last segment, and the code block may indicate the end of the data frame by using the value of the sub-indicator bit. This can simplify the complexity of data processing and reduce the complexity and delay of wired transmission.
[0020] In a possible design, if the bits carried in the payload of the target code block are physical layer padding bits, the sub-indicator bit indicates that the bits carried in the payload of the target code block are physical layer padding bits.
[0021] In a possible design, if the payload of the target code block carries control information, the sub-indicator bit indicates that the payload carries control information. In the above design, the payload may carry multiple types of control information, and thus the code block can support complex control information and the flexibility of indication can be enhanced.
[0022] In a possible design, the sub-control bit further indicates the type of control information. In the above design, the content carried within the payload may be further indicated by the sub-indicator bit, and as a result, the flexibility of the indication can be enhanced.
[0023] In a possible design, when the payload of the target code block carries the first data frame, the sub-indicator bit indicates that the payload of the target code block carries the first data frame. According to the above design, the payload supports carrying a complete data frame with a small data volume. As a result, the transmission overhead of a data frame with a small data volume is reduced, the insertion of a complete data frame with a small data volume between segments of the data frame is enabled, and the transmission delay of a complete data frame with a small data volume is reduced.
[0024] In a possible design, when the payload of the target code block carries all or part of the data of the first data frame and all or part of the data of at least one second data frame, the sub-indicator bit indicates that the first data frame and at least one second data frame are concatenated. According to the above design, the payload supports concatenating two or more data frames, and as a result, the flexibility of data transmission can be enhanced.
[0025] In a possible design, the type of control information includes at least one of the following, namely, block identification information, transmission positive acknowledgment information, intermittent test information, sleep information, and link retraining information.
[0026] In a possible design, when a target code block is generated, assuming N is an integer greater than or equal to 2, the first data frame may be divided into N segments, and N data blocks are encoded to obtain N + 2 code blocks. The N + 2 code blocks include the target code block. If the target code block is the first code block among the N + 2 code blocks, the indicator bit of the target code block is the second value, and the sub - indicator bit is used to indicate that the next code block of the target code block carries the first segment of the first data frame. If the target code block is the nth code block among the N + 2 code blocks, where n is an integer greater than or equal to 2 and less than N + 2, the indicator bit of the target code block is the first value. Or if the target code block is the (N + 2)th code block among the N + 2 code blocks, the indicator bit of the target code block is the second value, and the sub - indicator bit is used to indicate that the previous code block of the target code block carries the last segment of the first data frame.
[0027] In the above - mentioned design, when each segment of the data frame is transmitted, the value of the indicator bit of the code block of each segment, and the values of the sub - indicator bits of the previous and next code blocks are carried. In this way, the receiving node can determine the position of the segment carried within the code block in the data frame, and thus the received segments can be stitched together to obtain a complete data frame.
[0028] In a possible design, the N segments may have equal lengths.
[0029] In a possible design, when the sub - indicator bit indicates that the payload of the target code block carries control information, the payload includes a CRC field used for inspection protection. In the above - mentioned design, the payload includes a CRC field, and as a result, the reliability of the control information is guaranteed, thereby enabling error control to be avoided.
[0030] In a possible design, when the sub - indicator bit indicates that the next code block of the target code block carries the first segment of the first data frame, or when the sub - indicator bit indicates that the previous code block of the target code block carries the last segment of the first data frame, the payload includes a CRC field used for inspection protection. In the above - mentioned design, the payload includes a CRC field, and as a result, the reliability of the code blocks indicating the start and end of the data frame is guaranteed, thereby enabling error indication to be avoided.
[0031] In a possible design, the sub - indicator bit indicating that the first data frame and at least one second data frame are joined together includes the sub - indicator bit further indicating the boundary position between the first data frame and at least one second data frame within the payload. According to the above - mentioned design, the accuracy of data transmission can be improved.
[0032] In a possible design, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the first segment of one second data frame and the first data frame, and the first segment is after the first data frame. According to the above - mentioned design, the joining of one complete data frame and the first segment of another data frame may be supported.
[0033] In a possible design, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the first segment of one second data frame and the last segment of the first data frame, and the first segment is after the last segment. According to the above design, splicing between the last segment of one data frame and the first segment of another data frame may be supported.
[0034] In a possible design, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the last segment of the first data frame and at least one second data frame, and at least one second data frame is after the last segment. According to the above design, splicing between the last segment of one data frame and another complete data frame may be supported.
[0035] In a possible design, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the first data frame and at least one second data frame, and at least one second data frame is after the first data frame. According to the above design, splicing between one complete data frame and another complete data frame may be supported.
[0036] In a possible design, there is an inter-frame space between two adjacent data frames in the first data frame and at least one second data frame. According to the above design, in order to improve the accuracy of data transmission, a buffer may exist between two spliced data frames.
[0037] According to a third aspect, an embodiment of the present application provides a line coding method. The method includes receiving and analyzing a target code block, where the target code block includes an indicator bit and a payload, the indicator bit includes a first value, a second value, a third value, and a fourth value, the first value is used to indicate that the payload includes the first segment of the data frame, the second value is used to indicate that the payload includes the middle segment of the data frame, the third value indicates that the payload includes the last segment of the data frame, and the fourth value is used to indicate that the payload includes non-data information. The data frame generally refers to a packet of a specific frame format, such as an Ethernet MAC frame or an IP frame. The specific type of the data frame is not limited in the embodiments of the present application.
[0038] In the embodiments of the present application, the first segment (i.e., the beginning) of the data frame, the last segment (i.e., the end) of the data frame, and the middle segment (i.e., the continuation) of the data frame are directly indicated by the indicator bit, and the data / control is indicated by the synchronization word. Compared with the method in which the block type field is used to indicate the payload format, the start position and the end position of the data frame are separated from the block type field and directly indicated by the indicator bit. This can simplify the complexity of data processing and reduce the complexity and delay of wired transmission.
[0039] In a possible design, when a target code block is analyzed, if the indicator bit of the target code block is a first value, it may be determined that the segment carried within the payload of the target code block is the first segment of a data frame; if the indicator bit of the target code block is a second value, it may be determined that the segment carried within the payload of the target code block is an intermediate segment of a data frame; or if the indicator bit of the target code block is a third value, it may be determined that the segment carried within the payload of the target code block is the last segment of a data frame. In the above design, when each segment of a data frame is transmitted, the value of the indicator bit of the code block of each segment is carried. In this way, the receiving node can determine the position of the segment carried within the code block within the data frame, and thus the received segments can be spliced together to obtain a complete data frame.
[0040] In a possible design, the N segments may have equal lengths.
[0041] In a possible design, the non-data information includes at least one of the following, namely, padding bits, sub-indicator bits, and control information. In the above design, the payload may carry multiple types of control information, Padding, etc., and thus the code block can support complex control information.
[0042] In a possible design, if the bit carried within the payload is a padding bit, the indicator bit is a fourth value.
[0043] In a possible design, the indicator bit is a fourth value, and the payload carries sub - indicator bits. The sub - indicator bits are used to indicate that the payload carries physical layer padding bits, or the sub - indicator bits are used to indicate that the payload carries control information, or the sub - indicator bits are used to indicate that the payload carries a data frame. In the above - mentioned design, the payload may carry multiple types of control information, a complete data frame with a small amount of data, padding, etc., and what is carried within the payload may be further indicated by the sub - indicator bits. Thus, the code block can support complex control information, and the flexibility of indication can be enhanced. Further, the payload supports carrying a complete data frame with a small amount of data. As a result, the transmission overhead of a data frame with a small amount of data is reduced, the insertion of a complete data frame with a small amount of data between segments of the data frame is made possible, and the transmission delay of a complete data frame with a small amount of data is reduced.
[0044] In a possible design, the sub - indicator bits may further indicate the type of control information carried within the payload. In the above - mentioned design, what is carried within the payload may be further indicated by the sub - indicator bits. As a result, the flexibility of indication can be enhanced.
[0045] In a possible design, the type of control information includes at least one of the following, namely, block identification information, transmission positive acknowledgment information, intermittent test information, sleep information, and link retraining information.
[0046] In a possible design, when the payload carries control information, the payload further includes a cyclic redundancy check (CRC) field used for inspection protection. In the above - mentioned design, it is possible to guarantee the reliability of the control information by using the CRC field. Thus, error control can be avoided.
[0047] According to a fourth aspect, an embodiment of the present application provides a line coding method. The method includes receiving and analyzing a target code block, where the target code block includes an indicator bit and a payload, the indicator bit includes a first value and a second value, the first value is used to indicate that the payload includes a segment of a first data frame, the second value is used to indicate that the payload includes non-data information, and when the indicator bit is the second value, the payload includes a sub-indicator bit, and the sub-indicator bit is used to indicate at least one of the following information: that the next code block of the target code block carries the first segment of the first data frame; that the previous code block of the target code block carries the last segment of the first data frame; that the bits carried in the payload of the target code block are physical layer padding bits; that the payload of the target code block carries control information; that the payload of the target code block carries the first data frame; and that the first data frame and at least one second data frame are spliced in the payload of the target code block. A data frame generally refers to a packet of a specific frame format, such as an Ethernet MAC frame or an IP frame. The specific type of data frame is not limited in the embodiments of the present application.
[0048] In an embodiment of the present application, the sub-indicator bit is used to indicate the start or end of a data frame, and as a result, the overhead of the indicator bit can be reduced. In addition, a code block indicating the start of the data frame and a code block indicating the end of the data frame are inserted before the first segment and after the last segment of the data frame, respectively. Compared with the way the block type field indicates the payload format, the sub-indicator bit directly indicates the start or end of the data frame. This can simplify the complexity of data processing and reduce the delay of wired transmission.
[0049] In a possible design, if the next code block of the target code block carries the first segment of the first data frame, the bits carried within the payload are physical layer padding bits, and the sub-indicator bit indicates that the next code block of the target code block carries the first segment of the first data frame. In the above design, one code block may be inserted before the code block carrying the first segment, and the code block may indicate the start of the data frame by using the value of the sub-indicator bit. This can simplify the complexity of data processing and reduce the complexity and delay of wired transmission.
[0050] In a possible design, if the code block before the target code block carries the last segment of the first data frame, the bits carried within the payload are physical layer padding bits, and the sub-indicator bit indicates that the code block before the target code block carries the last segment of the first data frame. In the above design, one code block may be inserted before the code block carrying the last segment, and the code block may indicate the end of the data frame by using the value of the sub-indicator bit. This can simplify the complexity of data processing and reduce the complexity and delay of wired transmission.
[0051] In a possible design, if the bits carried within the payload of the target code block are physical layer padding bits, the sub-indicator bit indicates that the bits carried within the payload of the target code block are physical layer padding bits.
[0052] In a possible design, when the payload of a target code block carries control information, the sub-indicator bit indicates that the payload carries control information. In the above design, the payload may carry multiple types of control information. Therefore, the code block can support complex control information, and the flexibility of indication can be enhanced.
[0053] In a possible design, the sub-control bit further indicates the type of control information. In the above design, the content carried within the payload may be further indicated by the sub-indicator bit, and as a result, the flexibility of indication can be enhanced.
[0054] In a possible design, when the payload of a target code block carries a first data frame, the sub-indicator bit indicates that the payload of the target code block carries the first data frame. According to the above design, the payload supports carrying a complete data frame with a small data amount. As a result, the transmission overhead of a data frame with a small data amount is reduced, the insertion of a complete data frame with a small data amount between segments of the data frame is made possible, and the transmission delay of a complete data frame with a small data amount is reduced.
[0055] In a possible design, when the payload of a target code block carries all or part of the data of a first data frame and all or part of the data of at least one second data frame, the sub-indicator bit indicates that the first data frame and at least one second data frame are concatenated. According to the above design, the payload supports concatenating two or more data frames, and as a result, the flexibility of data transmission can be enhanced.
[0056] In a possible design, the type of control information includes at least one of the following, namely, block identification information, transmission acknowledgement information, intermittent test information, sleep information, and link retraining information.
[0057] In a possible design, when the target code block is analyzed, if the indicator bit of the target code block is the second value and the sub-indicator bit is used to indicate that the next code block of the target code block carries the first segment of the first data frame, the segment carried within the next code block of the target code block may be determined to be the first segment of the first data frame. If the indicator bit of the target code block is the first value, the segment carried within the payload of the target code block may be determined to be the middle segment of the first data frame. Or if the indicator bit of the target code block is the second value and the sub-indicator bit is used to indicate that the previous code block of the target code block carries the last segment of the first data frame, the segment carried within the previous code block of the target code block may be determined to be the last segment of the first data frame.
[0058] In the above design, when each segment of the data frame is transmitted, the value of the indicator bit of the code block of each segment and the values of the sub-indicator bits of the previous and next code blocks are carried. In this way, the receiving node can determine the position of the segment carried within the code block in the data frame, and thus the received segments can be spliced together to obtain a complete data frame.
[0059] In a possible design, the N segments may have equal lengths.
[0060] In a possible design, if the sub-indicator bit indicates that the payload of the target code block carries control information, the payload includes a CRC field used for inspection protection. In the above design, the payload includes a CRC field, as a result, the reliability of the control information is guaranteed, and thus error control can be avoided.
[0061] In a possible design, when the sub-indicator bit indicates that the next code block of the target code block carries the first segment of the first data frame, or when the sub-indicator bit indicates that the previous code block of the target code block carries the last segment of the first data frame, the payload includes a CRC field used for inspection protection. In the above design, the payload includes a CRC field, as a result, the reliability of the code blocks indicating the beginning and end of the data frame is guaranteed, thereby avoiding error indication.
[0062] In a possible design, the sub-indicator bit indicating that the first data frame and at least one second data frame are spliced together includes the sub-indicator bit further indicating the boundary position between the first data frame and at least one second data frame within the payload. According to the above design, the accuracy of data transmission can be improved.
[0063] In a possible design, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the first segment of one second data frame and the first data frame, and the first segment is after the first data frame. According to the above design, splicing between one complete data frame and the first segment of another data frame may be supported.
[0064] In a possible design, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the first segment of one second data frame and the last segment of the first data frame, and the first segment is after the last segment. According to the above design, splicing between the last segment of one data frame and the first segment of another data frame may be supported.
[0065] In a possible design, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the last segment of the first data frame and at least one second data frame, and at least one second data frame is after the last segment. According to the above design, splicing of the last segment of one data frame and another complete data frame may be supported.
[0066] In a possible design, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the first data frame and at least one second data frame, and at least one second data frame is after the first data frame. According to the above design, splicing of one complete data frame and another complete data frame may be supported.
[0067] In a possible design, there is an inter-frame space between two adjacent data frames in the first data frame and at least one second data frame. According to the above design, in order to improve the accuracy of data transmission, a buffer may exist between two spliced data frames.
[0068] According to a fifth aspect, the present application provides a line coding apparatus. The apparatus may be a communication device, or may be a chip or chipset within a communication device. The communication device may be a transmitting node or may be a receiving node. The apparatus may include a processing unit and a transceiver unit. When the apparatus is a communication device, the processing unit may be a processor, and the transceiver unit may be a transceiver. The apparatus may further include a storage module, and the storage module may be a memory. The storage module is configured to store instructions. The processing unit executes the instructions stored in the storage module to perform the corresponding functions according to the first aspect or the corresponding functions according to the second aspect, or to perform the corresponding functions according to the third aspect or the corresponding functions according to the fourth aspect. When the apparatus is a chip or chipset within a communication device, the processing unit may be a processor, and the transceiver unit may be an input / output interface, a pin, a circuit, etc. The processing unit executes the instructions stored in the storage module to perform the corresponding functions according to the first aspect or the corresponding functions according to the second aspect, or to perform the corresponding functions according to the third aspect or the corresponding functions according to the fourth aspect. The storage module may be a storage module (e.g., a register or cache) within the chip or chipset, or may be a storage module (e.g., a read-only memory or a random access memory) that is within the communication device and placed outside the chip or chipset.
[0069] According to a sixth aspect, the present application provides a line coding apparatus. The apparatus includes a processor and may further include a communication interface and a memory. The communication interface is used to transmit information, messages, and / or data between the apparatus and another apparatus. The memory is configured to store computer-executable instructions. When the apparatus is executed, the processor executes the computer-executable instructions stored in the memory such that the apparatus executes a method according to any one of the first aspect or the design of the first aspect, any one of the second aspect or the design of the second aspect, any one of the third aspect or the design of the third aspect, or any one of the fourth aspect or the design of the fourth aspect.
[0070] According to a seventh aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium stores instructions. When the instructions are executed on a computer, the computer is enabled to execute a method according to any one of the first aspect or the design of the first aspect, any one of the second aspect or the design of the second aspect, any one of the third aspect or the design of the third aspect, or any one of the fourth aspect or the design of the fourth aspect.
[0071] According to an eighth aspect, the present application further provides a computer program product including instructions. When the computer program product is executed on a computer, the computer is enabled to execute a method according to any one of the first aspect or the design of the first aspect, any one of the second aspect or the design of the second aspect, any one of the third aspect or the design of the third aspect, or any one of the fourth aspect or the design of the fourth aspect.
[0072] According to a ninth aspect, the present application further provides a communication system. The system includes a transmitting node and a receiving node. The transmitting node may execute the corresponding function according to the first aspect, and the receiving node may execute the corresponding function according to the third aspect.
[0073] According to the tenth aspect, the present application further provides a communication system. The system includes a transmitting node and a receiving node. The transmitting node may perform the corresponding functions according to the second aspect, and the receiving node may perform the corresponding functions according to the fourth aspect.
[0074] According to the eleventh aspect, an embodiment of the present application provides a chip. The chip includes at least one processor and a communication interface. The processor is coupled to a memory and is configured to read a computer program stored in the memory to execute a method according to any one of the first aspect or the design of the first aspect, the second aspect or the design of the second aspect, the third aspect or the design of the third aspect, or the fourth aspect or the design of the fourth aspect of the embodiments of the present application.
[0075] According to the twelfth aspect, an embodiment of the present application provides a chip. The chip includes a communication interface and at least one processor. The processor is executed to execute a method according to any one of the first aspect or the design of the first aspect, the second aspect or the design of the second aspect, the third aspect or the design of the third aspect, or the fourth aspect or the design of the fourth aspect of the embodiments of the present application.
[0076] It should be noted that "coupling" in the embodiments of the present application indicates a direct or indirect combination of two components.
Brief Description of the Drawings
[0077]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Embodiments for Carrying Out the Invention
[0078] In this specification, claims, and the accompanying drawings of the embodiments of this application, the terms "include", "have", and any other variations thereof mean including non-exclusive inclusion. For example, a process, method, system, product, or device that includes a list of steps or units is not necessarily limited to those steps or units, and may include other steps or units that are not explicitly listed or are not specific to such a process, method, system, product, or device.
[0079] Embodiments of this application are applicable to wired high-speed point-to-point transmission, for example, image and control transmission from a camera to a multi-domain controller (MDC) of an autonomous driving platform, and image transmission from an in-vehicle device such as an in-vehicle camera or a cockpit domain controller (CDC) to a large screen.
[0080] For example, the communication device of the embodiments of this application may be a device that can transmit information (such as data frames and control information) to another device, such as an in-vehicle image sensor such as a camera or a lidar, may be an image processing device such as an MDC or a CDC, or may be an image display device such as a large screen. As another example, the communication device of the embodiments of this application may alternatively be another transmission device other than an in-vehicle device.
[0081] In the embodiments of the present application, "at least one" means one or more, and "a plurality of" means two or more. The term "and / or" indicates an associative relationship for explaining related objects, and indicates that there may be three relationships. For example, A and / or B may represent the following cases, that is, the case where only A exists, the case where both A and B exist, and the case where only B exists, and A and B may be singular or plural. The character " / " usually indicates an "or" relationship between related objects. At least one of the following (piece), or a similar expression, refers to any combination of these, including any combination of a single (piece) or a plurality of (pieces). For example, at least one of a, b, or c may indicate a, b, c, a and b, a and c, b and c, or a, b, and c, and a, b, and c may be singular or plural.
[0082] Furthermore, unless otherwise specified, in the embodiments of the present application, ordinal numbers such as "first" and "second" are intended to distinguish a plurality of objects, and are not intended to limit the size, content, order, time series, priority, importance, etc. of a plurality of objects. For example, the first data packet and the second data packet are merely names given for ease of explanation, and the two data packets may be the same data packet or different data packets.
[0083] Hereinafter, the technical features in the embodiments of the present application will be described.
[0084] In wired transmission, in order to encode data and control information, a line coding method such as 8B / 10B is usually used. 8B / 10B can ensure that the amount of 0s is the same as the amount of 1s in the bit stream in order to maintain direct current balance and improve the transmission quality of signals on the cable. However, the overhead is large and reaches 20%.
[0085] As the wired transmission rate increases, it becomes difficult to increase the operating frequency of the wired channel. Low-overhead line codings such as 64B / 66B + scrambling code and 64B / 65B + scrambling code are gradually replacing 8B / 10B and becoming the mainstream of the line coding method. The scrambling code is used for DC balance, and 64B / 66B and 64B / 65B are mainly used to distinguish data and control. Compared with 8B / 10B, 64B / 66B and 64B / 65B may reduce the overhead to 1.5% - 3%.
[0086] The 64B / 66B line code block is similar to the 64B / 65B line code block. The difference is that each 64B / 66B line code block contains a 2-bit synchronization word and a 64-bit payload. When the synchronization word is 01, the 64-bit payload is data information, such as media access control (MAC) data. When the synchronization word is 10, the 64-bit payload contains control information. The other two states 00 and 11 of the synchronization word are not used. When the synchronization word of the code block is 10, that is, when the 64-bit payload of the code block contains control information, the first 8 bits of the 64-bit payload of the code block are the block type field. The 64B / 66B line code block may be shown in FIG. 1.
[0087] Each 64B / 65B line code block contains a 1-bit synchronization word and a 64-bit payload. When the synchronization word is 0, the 64-bit payload is data information, such as MAC data. When the synchronization word is 1, the 64-bit payload contains control information. If the synchronization word of the code block is 1, that is, when the 64-bit payload of the code block contains control information, the first 8 bits of the 64-bit payload of the code block are the block type field. The 64B / 65B line coding may be as shown in FIG. 2.
[0088] In the 64B / 66B line code block shown in FIG. 1 and the 64B / 65B line code block shown in FIG. 2, C indicates control information, D indicates data information, O indicates order, S indicates the start of the data frame, and T indicates the end of the data frame.
[0089] The mapping relationship between the block type field and the payload format in the 64B / 66B line code block is the same as the mapping relationship between the block type field and the payload format in the 64B / 65B line code block.
[0090] Hereinafter, the block type field will be described using the 64B / 66B line code block as an example.
[0091] When the block type field is 0x1e, the following 56 bits are 8 seven-bit sub-blocks, and each seven-bit sub-block carries one piece of control information, such as Padding.
[0092] When the block type field is 0x2d, it indicates that the position of O 4 D 5 D 6 D 7 indicates that the transmitting node has a receiving exception.
[0093] When the block type field is 0x33, D 5 D 6 D 7 is data, and D 5 is shown to be the first segment of the data frame. 0x78 is from D 1 to D 7 is data, and D 1 is shown to be at the beginning of the data frame.
[0094] When the block type field is 0x87, 0x99, or 0xff, this field indicates the last segment of the data frame and indicates the end position of the last segment of the data frame based on the type.
[0095] It should be understood that the value of the block type field may alternatively be another value not shown in Figure 1. Details are not described one by one herein.
[0096] The receiving node uses the value of the block type field to determine the code block whose payload carries S (used to indicate the first segment of the data frame), the code block whose payload is data information, and the code block whose payload carries T (used to indicate the last segment of the data frame), and sequentially extracts the data information carried in the concatenated code blocks to obtain the complete data frame. For example, the transmitting node sequentially transmits code blocks 1 to 7 to the receiving node. The synchronization word of code block 1 is 10, the value of the block type field is 0x78, the synchronization words of code blocks 2 to 6 are 01, the synchronization word of code block 7 is 10, and the value of the block type field is 0xe1. The receiving node, based on the synchronization word and the value of the block type field, determines that D 1 in the payload of code block 1 is the first segment of the data frame, the payloads of code blocks 2 to 6 each carry one segment of the data frame, and D carried in the payload of code block 75 Determine that it is the last segment of the data frame. The receiving node is D carried in the payload of code block 1 1 from D 7 to D carried in the payload of code block 2 0 from D 7 to D carried in the payload of code block 3 0 from D 7 to D carried in the payload of code block 4 0 from D 7 to D carried in the payload of code block 6, 0 from D 7 to D carried in the payload of code block 7, and 0 from D 5 to D may be sequentially concatenated to obtain a data frame.
[0097] In 64B / 66B line coding and 64B / 65B line coding, the indication at the beginning and end of the data frame depends on further analysis of the block type field. Since the synchronization word indicates that the 64-bit payload of the code block contains control information, the payload format of the code block has multiple states and the processing complexity is high. As a result, the delay of wired transmission is long. If the block type field is inaccurate, the start position of the data frame may be lost.
[0098] Based on this, the embodiments of the present application provide a line coding method and apparatus to solve the problems of high processing complexity, long delay, and low accuracy in the processing of data frames in the above-mentioned line coding method. The method and apparatus are based on the same inventive concept. Since the method and the device have the same problem-solving principle, for the implementation of the device and the method, they shall refer to each other and no redundant description will be given. The embodiments of the present application provide a line coding method and apparatus, which may be applied to an in-vehicle network, particularly to an in-vehicle network of an autonomous vehicle, or may be applied to another wired transmission device.
[0099] Hereinafter, embodiments of the present application will be described in detail with reference to the accompanying drawings.
[0100] The present application provides a line coding method, which may be applied to a wired transmission system. As shown in FIG. 3, the method includes the following steps.
[0101] S301: The transmitting node generates a target code block, which includes an indicator bit and a payload, and the indicator bit includes a first value, a second value, a third value, and a fourth value.
[0102] The first value is used to indicate that the payload includes the first segment of the data frame. That is, when the indicator bit is the first value, it may indicate that the data carried in the code block is the start part of the data frame.
[0103] In an embodiment of the present application, the data frame generally refers to a packet of a specific frame format, such as an Ethernet MAC frame or an IP frame. The specific type of the data frame is not limited in the embodiments of the present application.
[0104] The second value is used to indicate that the payload includes the middle segment of the data frame. That is, when the indicator bit is the second value, it may indicate that the data carried in the code block is the middle part of the data frame.
[0105] The third value indicates that the payload includes the last segment of the data frame. That is, when the indicator bit is the third value, it may indicate that the data carried in the code block is the end part of the data frame.
[0106] The fourth value is used to indicate that the payload contains non-data information. That is, when the indicator bit is the fourth value, it may indicate that the code block carries non-data information, such as physical layer padding bits, sub-indicator bits, and control information.
[0107] In a possible implementation, the indicator bit may include 2 bits, and the four values of the 2 bits respectively indicate that the payload contains the first segment of the data frame, the payload contains the middle segment of the data frame, the payload contains the last segment of the data frame, and the payload contains non-data information. For example, as shown in FIG. 4, when the indicator bit is 00, it indicates that the payload contains the middle segment of the data frame. When the indicator bit is 01, it indicates that the payload contains the first segment of the data frame. When the indicator bit is 10, it indicates the last segment of the data frame. When the indicator bit is 11, it indicates that the payload contains non-data information.
[0108] It should be understood that the 2-bit indicator bit is only used as an example for the description in this specification. During a specific implementation, the amount of bits included in the indicator bit may alternatively be another amount, such as 3 bits or 4 bits. This is not particularly limited in this specification. If the amount of bits included in the indicator bit is 3 or more, another value of the indicator bit may be used to indicate other content or may be reserved. This is not particularly limited in this specification.
[0109] In an embodiment of the present application, the amount of bits included in the payload may be Y, and Y is an integer of 1 or more. For example, Y may be 64.
[0110] In the embodiments of the present application, the first segment of the data frame (i.e., the beginning of the data frame), the last segment (i.e., the end of the data frame), and the intermediate segment (i.e., the continuation of the data frame) are directly indicated by indicator bits, and data / control is indicated by a synchronization word. Compared with the way the block type field is used to indicate the payload format, the start position and end position of the data frame are decoupled from the block type field and directly indicated by indicator bits. This can simplify the complexity of data processing and reduce the complexity and delay of wired transmission.
[0111] For ease of explanation, hereinafter, a code block whose payload contains data information is called a data code block, that is, a code block whose indicator bit value is the first value, the second value, or the third value is called a data code block, and a code block whose payload contains non-data information is called a control code block, that is, a code block whose indicator bit value is the fourth value is called a control code block.
[0112] Hereinafter, an example where the target code block is a data code block, that is, the payload of the target code block contains data information, in other words, the indicator bit value of the target code block is the first value, the second value, or the third value, is used to explain the target code block.
[0113] In implementation, when generating the target code block, the sending node may divide the data frame into N segments where N is an integer greater than or equal to 2, and encode the N segments to obtain N data code blocks. One data code block may carry one segment of the data frame. The N data code blocks include the target code block. If the payload of the target code block includes the first segment among the N segments, the indicator bit of the target code block is the first value. If the payload of the target code block includes the nth segment among the N segments, the indicator bit of the target code block is the second value, where n is an integer greater than or equal to 2 and less than N. Or if the payload of the target code block includes the Nth segment among the N segments, the indicator bit of the target code block is the third value.
[0114] For example, when the data frame is segmented, the data frame may be divided into segments of equal length, that is, the data frame is divided into N segments of equal length. For example, the data frame may be divided into N segments of Y bits, where Y bits is the length of the payload.
[0115] To facilitate understanding of the solution, with reference to the code block structure shown in FIG. 4, an example where the indicator bit includes 2 bits and the payload includes 64 bits will be used below to explain the encoding process of the data frame.
[0116] A1: The sending node divides the first data frame into N segments of 64 bits each.
[0117] A2: The transmitting node encodes N segments to obtain N data code blocks. As shown in FIG. 5, the indicator bit value of the first data code block is 01, and the payload carries the first segment of the first data frame. The indicator bit values of the second to the (N - 1)th data code blocks are 00, and the payloads of the second to the (N - 1)th data code blocks each carry the second to the (N - 1)th segments of the first data frame. The indicator bit value of the Nth data code block is 10, and the payload carries the Nth segment of the first data frame.
[0118] It should be noted that the N data code blocks may be transmitted continuously or discontinuously. Specifically, for transmission, a control code block may be interleaved between any two of the N code blocks. For example, as shown in FIG. 6, the control code block may be transmitted between the second data code block and the third data code block. The payload (64B) of the control code block may carry physical layer padding bits, or carry control information, or carry a second data frame. The second data frame is a complete (not segmented) data frame. Optionally, the second data frame and the first data frame may be from different interfaces. For example, the first data frame is from the MAC layer interface, and the second data frame is from the IP layer interface.
[0119] It should be understood that FIG. 6 is only an example for illustration, and the amount of the control code block and the transmission position of the control code block interleaved and transmitted with the data code blocks are not particularly limited.
[0120] The following uses an example where the target code block is a control code block, that is, the payload of the target code block contains non-data information, or in other words, the indicator bit value of the target code block is the fourth value, to explain the target code block.
[0121] In an exemplary description, if the bits carried within the payload of the target code block are physical layer padding bits, the indicator bit may be the fourth value.
[0122] In another exemplary description, if the indicator bit is the fourth value, or if the payload carries non-data information such as physical layer padding bits, control information, or a data frame, the payload of the target code block includes sub-indicator bits. For example, the first X bits of the payload of the target code block are sub-indicator bits. For example, the first 8 bits of the payload are sub-indicator bits.
[0123] The sub-indicator bits may separately indicate that the payload carries physical layer padding bits, that the payload carries control information, and that the payload carries a data frame by using different values.
[0124] If the payload carries physical layer padding bits, the sub-indicator bits may indicate that the payload carries physical layer padding bits. The physical layer padding bits carried by the payload may be used to match the rate, and the receiving node may discard the physical layer padding bits after receiving them.
[0125] If the payload carries control information, the sub-indicator bits may indicate that the payload carries control information.
[0126] Optionally, the sub - indicator bit may further indicate the type of control information carried within the payload. For example, the type of control information may include at least one of the following, namely, block identification information, transmission positive - acknowledgment information, intermittent test information, sleep information, and link re - training information. Different types may be indicated by using different values of the sub - indicator bit.
[0127] The block identification information may be control information of a CRC block (such as a cyclic redundancy check (CRC) block number and whether re - transmission is supported). A CRC block may include block identification information, a plurality of code blocks, and a CRC check. A CRC block may use one code block to carry the control information of the CRC block. For example, the control information of the CRC block may be carried within the payload of the first code block or the last code block of the CRC block, as shown in FIG. 7 for example.
[0128] The transmission positive - acknowledgment information may be used to indicate whether the CRC block is received correctly.
[0129] Intermittent test information is used to control the device to enter or exit the online test mode. By the online test, the device may temporarily interrupt data transmission, transmit an agreed sequence, and perform an interference detection test, a bit error ratio (BER) test, a block error ratio (BLER) test, etc. After the online test is completed, the device may resume data transmission promptly. The intermittent test information may include the following information, namely, the type of intermittent test information, such as intermittent test request information, intermittent test response information, intermittent test start information, and intermittent test end information, and the intermittent test start time that may be carried within the intermittent test information of the intermittent test start type, such as the amount of code blocks or CRC blocks until the intermittent test is started, and the duration of the intermittent test that may be a fixed duration or indicated by a request message, and the end of the online test, such as ending when the time comes or ending when the intermittent test ends. For example, the intermittent test process may be as shown in FIG. 8.
[0130] Sleep information is used to control whether to enter or exit the low power consumption mode. When data communication is not required, the device may enter the low power consumption mode to reduce power consumption. When transmission is required again, the device may exit the low power consumption mode by using wake-up information. The sleep information may include the type of sleep information, such as sleep request, sleep response, sleep start, or wake-up, and the time to enter the low power consumption mode that may be carried within the sleep information of the sleep start type, such as the amount of code blocks or CRC blocks until the low power consumption mode is entered. For example, the sleep process may be as shown in FIG. 9.
[0131] Link retraining information is used to control entry into link retraining. Link quality degrades because the transport channel changes with environmental conditions such as time and temperature. By retraining, the device may obtain better transmission quality. Link retraining information may include the type of link retraining information, e.g., retraining request, retraining response, or retraining start, and the retraining start time, e.g., the amount of code blocks or the amount of CRC blocks until link retraining is started. For example, the link retraining process may be as shown in FIG. 10.
[0132] If the sub - indicator bit indicates that the payload carries a data frame, the payload may carry a complete data frame, i.e., a data frame without segments. It should be understood that the amount of bits of the data frame is less than or equal to the amount of bits included in the payload.
[0133] To facilitate understanding of the solution, an example will be used below with reference to the code block structure shown in FIG. 4, where the indicator bits include 2 bits and the payload includes 64 bits. It is assumed that the sub-indicator bits are the first 8 bits of the payload, and that the 7 values of the 8 bits are each used to indicate that the payload carries physical layer padding bits, that the payload carries a data frame, that the payload carries link retraining information, that the payload carries sleep information, that the payload carries intermittent test information, that the payload carries block identification information, and that the payload carries a transmission confirmation response. For example, as shown in FIG. 11, if the sub-indicator bits are 0x1e, it indicates that the payload carries physical layer padding bits; if the sub-indicator bits are 0x2d, it indicates that the payload carries a data frame; if the sub-indicator bits are 0x33, it indicates that the payload carries link retraining information; if the sub-indicator bits are 0x4b, it indicates that the payload carries sleep information; if the sub-indicator bits are 0x66, it indicates that the payload carries intermittent test information; if the sub-indicator bits are 0x78, it indicates that the payload carries block identification information; or if the sub-indicator bits are 0x87, it indicates that the payload carries a transmission positive response.
[0134] It should be understood that the 8-bit sub-indicator bits are used only as an example for the purposes of the description herein. During a particular implementation, the amount of bits included in the sub-indicator bits may alternatively be another amount, for example, 7 bits or 9 bits. This is not particularly limited herein. If the state value of the sub-indicator bits is 8 or more, another state value of the indicator bits may be used or reserved to indicate other content. This is not particularly limited herein.
[0135] It should be understood that the content indicated by the sub - indicator bit in the embodiments of this application is merely an example for illustration. During a specific implementation, the content indicated by the sub - indicator bit may include all or part of the above - mentioned content. Furthermore, the sub - indicator bit may further indicate other content. Details are not listed one by one in this specification.
[0136] In the embodiments of this application, the payload may carry multiple types of control information, complete data frames with a small amount of data, Padding, etc. The content carried within the payload may be further indicated by the sub - indicator bit. Thus, the code block can support complex control information, and the flexibility of indication can be enhanced. Furthermore, in the embodiments of this application, the payload supports carrying complete data frames with a small amount of data. As a result, the transmission overhead of data frames with a small amount of data is reduced, the insertion of complete data frames with a small amount of data between segments of the data frame is made possible, and the transmission delay of complete data frames with a small amount of data is reduced.
[0137] In some embodiments, when the payload carries control information, that is, when the indicator bit has a fourth value, the payload may further include a CRC field, and the CRC field may be used to perform check protection on the control information. For example, the CRC field may be 8 bits or 16 bits.
[0138] For example, in the code - block structure shown in FIG. 4, an example where the indicator bit includes 2 bits and the payload includes 64 bits is used. Assuming that the sub - indicator bit is the first 8 bits of the payload, as shown in FIG. 12, the CRC field may be the last 8 bits or 16 bits of the payload.
[0139] In the above design, the reliability of the control information can be guaranteed by using the CRC field, and thus, error control can be avoided.
[0140] S302: The transmitting node transmits the target code block. Correspondingly, the receiving node receives the target code block.
[0141] S303: The receiving node analyzes the target code block.
[0142] In implementation, the receiving node may determine the content carried within the payload based on the indicator bit value of the target code block. For details regarding the indicator bit of the target code block and the payload of the target code block, refer to the related description of the target code block above. Details will not be described again in this specification.
[0143] In an example, when the payload carries one segment of a data frame, the receiving node may determine the position of the segment carried within the payload within the data frame based on the indicator bit value. For example, when the indicator bit is the first value, the segment carried within the payload is the first segment of the data frame, i.e., at the beginning of the data frame. When the indicator bit is the second value, the segment carried within the payload is the middle segment of the data frame, i.e., the continuation of the data frame. When the indicator bit is the third value, the segment carried within the payload is the last segment of the data frame, i.e., at the end of the data frame. The receiving node may stitch together the received segments based on the position of the segment carried within the payload within the data frame to obtain the complete data frame.
[0144] In the embodiments of the present application, the first segment of the data frame (i.e., the beginning of the data frame), the last segment (i.e., the end of the data frame), and the intermediate segment (i.e., the continuation of the data frame) are directly indicated by indicator bits, and data / control is indicated by a synchronization word. Compared with the way the block type field is used to indicate the payload format, the start position and end position of the data frame are separated from the block type field and directly indicated by indicator bits. This can simplify the complexity of data processing and reduce the complexity and delay of wired transmission.
[0145] Furthermore, when the indicator bit is a fourth value, the payload may carry multiple types of control information, a complete data frame with a small amount of data, padding, etc. Therefore, the code block can support complex control information, and the flexibility of indication can be enhanced. Furthermore, in the embodiments of the present application, the payload supports carrying a complete data frame with a small amount of data. As a result, the transmission overhead of the data frame with a small amount of data is reduced, the insertion of a complete data frame with a small amount of data between segments of the data frame is enabled, and the transmission delay of the complete data frame with a small amount of data is reduced.
[0146] Furthermore, when the payload carries control information, it is possible to guarantee the reliability of the control information by including a CRC field in the payload. Therefore, error control can be avoided.
[0147] The present application provides another line coding method, and the method may be applied to a wired transmission system. As shown in FIG. 13, the method includes the following steps.
[0148] S1301: The transmitting node generates a target code block, where the target code block includes an indicator bit and a payload. The indicator bit includes a first value and a second value. The first value is used to indicate that the payload includes one segment of the first data frame, and the second value is used to indicate that the payload includes non-data information.
[0149] In the embodiments of the present application, the data frame generally refers to a packet with a specific frame format, such as an Ethernet MAC frame or an IP frame. The specific type of the data frame is not limited in the embodiments of the present application.
[0150] In a possible implementation, the indicator bit may include 1 bit, and the two values of the 1 bit respectively indicate that the payload includes a segment of the first data frame and that the payload includes non-data information. For example, when the indicator bit is 0, it indicates that the payload includes a segment of the first data frame. When the indicator bit is 1, it indicates that the payload includes non-data information.
[0151] It should be understood that the 1-bit indicator bit is only used as an example for the description in this specification. During a specific implementation, the amount of bits included in the indicator bit may alternatively be another amount, such as 2 bits or 5 bits. This is not particularly limited in this specification. When the amount of bits included in the indicator bit is 2 or more, another value of the indicator bit may be used to indicate other content or may be reserved. This is not particularly limited in this specification.
[0152] In the embodiments of the present application, the amount of bits included in the payload may be Y, where Y is an integer greater than or equal to 1. For example, Y may be 64.
[0153] When the indicator bit is at a second value, the payload includes a sub - indicator bit, and the sub - indicator bit is used to indicate at least one of the following information: namely, that the next code block of the target code block carries the first segment of the first data frame, that the previous code block of the target code block carries the last segment of the first data frame, that the bits carried within the payload of the target code block are physical layer padding bits, that the payload of the target code block carries control information, that the payload of the target code block carries the first data frame, and that the first data frame and at least one second data frame are concatenated.
[0154] In an embodiment of the present application, the sub - indicator bit is used to indicate the start or end of a data frame, and as a result, the overhead of the indicator bit can be reduced. Additionally, a code block indicating the start of the data frame and a code block indicating the end of the data frame are inserted before the first segment and after the last segment of the data frame, respectively. Compared with the way the block - type field indicates the payload format, the sub - indicator bit directly indicates the start or end of the data frame. This can simplify the complexity of data processing and reduce the latency of wired transmission.
[0155] For example, when the next code block of the target code block carries the first segment of the first data frame, the bits carried within the payload of the target code block are physical layer padding bits, and the sub - indicator bit indicates that the next code block of the target code block carries the first segment of the first data frame.
[0156] Alternatively, if the code block before the target code block carries the last segment of the first data frame, the sub-indicator bit indicates that the code block before the target code block carries the last segment of the first data frame, and the bit carried within the payload of the target code block is a physical layer padding bit.
[0157] Alternatively, if the bit carried within the payload of the target code block is a physical layer padding bit, the sub-indicator bit indicates that the bit carried within the payload of the target code block is a physical layer padding bit.
[0158] Alternatively, if the payload of the target code block carries control information and the sub-indicator bit indicates that the payload carries control information, the sub-indicator bit may further indicate the type of control information. For details regarding the control information, refer to the relevant description of the control information in step S301. Details will not be described again in this specification.
[0159] Alternatively, if the payload of the target code block carries the first data frame, the sub-indicator bit indicates that the payload of the target code block carries the first data frame.
[0160] Alternatively, if the payload of the target code block carries all or part of the data of the first data frame and all or part of the data of at least one second data frame, the sub-indicator bit indicates that the first data frame and the at least one second data frame are concatenated. In the example, the sub-indicator bit indicates that the first data frame and the at least one second data frame are concatenated, and in particular, may indicate the boundary position between the first data frame and the at least one second data frame within the payload. The positions of the first data frame and the at least one second data frame within the payload may refer to the boundary of the first data frame, i.e., the end position of the first data frame, and the boundary of the at least one second data frame, i.e., the start position and the end position of the at least one second data frame.
[0161] An example where the first data frame and one second data frame are concatenated is used to illustrate the payload of the target code block.
[0162] Example 1: The payload of the target code block includes the first segment of the second data frame and the first data frame, and the first segment is after the first data frame. The first data frame is a complete data frame, i.e., a data frame without segments.
[0163] Example 2: The payload of the target code block includes the first segment of the second data frame and the last segment of the first data frame, and the first segment is after the last segment.
[0164] Example 3: The payload of the target code block includes the last segment of the first data frame and the second data frame, and the second data frame is after the last segment. The second data frame is a complete data frame, i.e., a data frame without segments.
[0165] Example 4: The payload of the target code block includes a first data frame and a second data frame, and the second data frame follows the first data frame. The first data frame and the second data frame are complete data frames, i.e., data frames that do not include segments.
[0166] In a possible implementation, there is an inter-frame space between two adjacent data frames in the first data frame and at least one second data frame. The inter-frame space may have an interframe buffering function. For example, the inter-frame space may be 8-bit padding, and the receiving node may discard the inter-frame space immediately.
[0167] To facilitate understanding of the solution, an example is used where the indicator bit includes 1 bit and the payload includes 64 bits. The sub-indicator bit is the first 8 bits of the payload, and nine 8-bit values are used to indicate that the next code block of the target code block carries the first segment of the first data frame, the previous code block of the target code block carries the last segment of the first data frame, the bits carried within the payload of the target code block are physical layer padding bits, the payload of the target code block carries the first data frame, the payload of the target code block carries link retraining information, the payload of the target code block carries sleep information, the payload of the target code block carries intermittent test information, the payload of the target code block carries block identification information, and the payload of the target code block carries a transmission positive acknowledgment response information, respectively. Assume that the other six 8-bit values are used to indicate the stitching together of the first data frame and at least one second data frame, as well as different stitching positions between the first data frame and at least one second data frame within the payload.
[0168] For example, as shown in FIG. 14, when the sub - indicator bit is 0x1e, it indicates that the payload of the target code block carries the physical layer padding bits; when the sub - indicator bit is 0x2d, it indicates that the payload of the target code block carries the first data frame; when the sub - indicator bit is 0x33, it indicates that the payload of the target code block carries the link retraining information; when the sub - indicator bit is 0x4b, it indicates that the payload of the target code block carries the sleep information; when the sub - indicator bit is 0x66, it indicates that the payload of the target code block carries the intermittent test information; when the sub - indicator bit is 0x78, it indicates that the payload of the target code block carries the block identification information; when the sub - indicator bit is 0x87, it indicates that the payload of the target code block carries the transmission positive response information; when the sub - indicator bit is 0x99, it indicates that the next code block of the target code block carries the first segment of the first data frame; when the sub - indicator bit is 0xAA, it indicates that the previous code block of the target code block carries the last segment of the first data frame; or when the sub - indicator bit is from 0xE1 to 0xE6, it indicates that the first data frame and at least one second data frame are spliced together, and the positions of the first data frame and at least one second data frame in the payload are the 1st byte, 2nd byte, 3rd byte, 4th byte, 5th byte, and 6th byte of the payload respectively, that is, the last segment of the first data frame is 1 to 6 bytes respectively.
[0169] Note that the 8-bit sub-indicator bits are used as an example for the description in this specification. During a particular implementation, the amount of bits included in the sub-indicator bits may alternatively be another amount, for example, 7 bits or 9 bits. This is not particularly limited in this specification. When the state value of the sub-indicator bits is 11 or more, another state value of the indicator bits may be used or reserved to indicate other content. This is not particularly limited in this specification.
[0170] It should be understood that the content indicated by the sub-indicator bits in the embodiments of this application is merely an example for explanation. During a particular implementation, the content indicated by the sub-indicator bits may include all or part of the above-mentioned content. Furthermore, the sub-indicator bits may further indicate other content. Details cannot be listed one by one in this specification.
[0171] For ease of explanation, hereinafter, a code block whose payload contains data information is called a data code block, that is, a code block whose indicator bit value is the first value is called a data code block, and a code block whose payload contains non-data information is called a control code block, that is, a code block whose indicator bit value is the second value is called a control code block.
[0172] In an implementation, when generating a target code block, the transmitting node may divide the first data frame into N segments, where N is an integer greater than or equal to 2, and encode N data blocks to obtain N + 2 code blocks. The N + 2 code blocks include the target code block. When the target code block is the first code block among the N + 2 code blocks, the indicator bit of the target code block is the second value, and the sub - indicator bit is used to indicate that the next code block of the target code block carries the first segment of the first data frame. When the target code block is the nth code block among the N + 2 code blocks, the indicator bit of the target code block is the first value, where n is an integer greater than or equal to 2 and less than N + 2, or when the target code block is the (N + 2)th code block among the N + 2 code blocks, the indicator bit of the target code block is the second value, and the sub - indicator bit is used to indicate that the previous code block of the target code block carries the last segment of the first data frame.
[0173] For example, when a data frame is segmented, the data frame may be divided into segments of equal length, i.e., the data frame is divided into N segments of equal length. For example, the data frame may be divided into N segments of Y bits, where Y bits is the length of the payload.
[0174] To facilitate understanding of the solution, referring to the code block structure shown in FIG. 14, assuming that the payload includes 64 bits, the encoding process of the data frame will be described below using an example.
[0175] B1: The transmitting node divides data frame 1 into N segments of 64 bits.
[0176] B2: The transmitting node encodes N segments to obtain N+2 code blocks. As shown in FIG. 15, the indicator bit value of the first code block is 1, the value of the sub-indicator bit is 0x99, the payload carries the padding bits of the physical layer, and the indicator bit values from the second data code block to the (N-1)th data code block are 0. The payloads from the second data code block to the (N+1)th data code block each carry the segments from the first segment to the Nth segment of data frame 1. The indicator bit value of the (N+2)th data code block is 1, the value of the sub-indicator bit is 0xAA, and the payload carries the padding bits of the physical layer.
[0177] Note that the N+2 code blocks may be transmitted continuously or discontinuously. Specifically, as shown in FIG. 16, for transmission, a control code block may be interleaved between any two of the N+2 code blocks. The payload of the control code block may carry the padding bits of the physical layer, or may carry control information, or may carry a second data frame. The second data frame is a complete (non-segmented) data frame. Optionally, the second data frame and the first data frame may be from different interfaces. For example, the first data frame may be from the MAC layer interface and the second data frame may be from the IP layer interface.
[0178] It should be understood that FIG. 16 is only an example for illustration and does not particularly limit the amount of other code blocks carrying control information and the transmission positions of other code blocks.
[0179] In the above design, in order to indicate the beginning and end of the data frame, one code block is inserted before the first segment of the data frame and one code block is inserted after the last segment of the data frame. As a result, the receiving node may simply directly determine the beginning and end of the data frame. Compared with the way the synchronization field is used to indicate data / control and then the block type field is used to indicate the payload format, this simplifies the complexity of data processing and reduces the complexity and delay of wired transmission.
[0180] For example, if the sub-indicator bit indicates that the payload of the target code block carries control information, i.e., when the payload carries control information, the payload may include a CRC field, and the CRC field is used to perform check protection on the control information.
[0181] If the sub-indicator bit indicates that the next code block of the target code block carries the first segment of the first data frame, or the sub-indicator bit indicates that the previous code block of the target code block carries the last segment of the first data frame, or the sub-indicator bit indicates that the payload of the target code block carries physical layer padding bits, the payload may also include a CRC field.
[0182] For example, the CRC field may be 8 bits or 16 bits.
[0183] For example, in the code block structure shown in FIG. 14, assuming that the payload includes 64 bits and the sub-indicator bit is the first 8 bits of the payload, as shown in FIG. 17 or FIG. 18, the CRC field may be the last 8 bits or 16 bits of the payload.
[0184] In the above design, the reliability of control information can be guaranteed by using the CRC field, and thus error control can be avoided.
[0185] S1302: The transmitting node transmits the target code block. Correspondingly, the receiving node receives the target code block.
[0186] S1303: The receiving node analyzes the target code block.
[0187] In implementation, the receiving node may determine the content carried in the payload based on the indicator bit value and the indicator sub-bit of the target code block. For details regarding the indicator bit, payload, and sub-indicator bit of the target code block, refer to the relevant description of the target code block in S1301. Details will not be described again in this specification.
[0188] In an example, when the payload of the first code block carries one segment of a data frame, the receiving node may determine the position of the segment carried within the payload of the first code block within the data frame based on the indicator bit values and sub-indicator bit values of the second code block before the first code block and the third code block after the first code block. For example, if the indicator bit of the second code block is a second value and the sub-indicator bit indicates that the next code block of the code block carries the first segment of the data frame, the segment carried within the payload of the first code block is the first segment of the data frame, i.e., the beginning of the data frame. If the indicator bit of the third code block is a second value and the sub-indicator bit indicates that the previous code block of the code block carries the last segment of the data frame, the segment carried within the payload of the first code block is the last segment of the data frame, i.e., the end of the data frame. If the indicator bits of both the second code block and the third code block are a first value, the segment carried within the payload of the first code block is the middle segment of the data frame, i.e., the continuation of the data frame. The receiving node may stitch together the received segments based on the position of the segment carried within the payload of the first code block within the data frame to obtain the complete data frame.
[0189] In an embodiment of the present application, the sub-indicator bit is used to indicate the start or end of a data frame, and as a result, the overhead of the indicator bit can be reduced. In addition, a code block indicating the start of the data frame and a code block indicating the end of the data frame are inserted before the first segment and after the last segment of the data frame, respectively. Compared with the way the block type field indicates the payload format, the sub-indicator bit directly indicates the start or end of the data frame. This can simplify the complexity of data processing and reduce the delay of wired transmission.
[0190] Furthermore, when the indicator bit is a second value, the payload may carry multiple types of control information, a complete data frame with a small amount of data, padding, etc. Therefore, the code block can support complex control information, and the flexibility of indication can be enhanced. In addition, in an embodiment of the present application, the payload supports carrying a complete data frame with a small amount of data, and as a result, the transmission overhead of the data frame with a small amount of data is reduced. Also, in an embodiment of the present application, the payload supports stitching together two or more data frames, and as a result, the flexibility of data transmission can be enhanced.
[0191] Furthermore, it is possible to guarantee the reliability of the control information by including a CRC field in the payload, and thus error control can be avoided.
[0192] Based on the same technical concept as the embodiment of the method, the embodiment of the present application provides a communication device. The structure of the device may be shown in FIG. 19. The device includes a processing unit 1901 and a transceiver unit 1902.
[0193] In an implementation, the communication device may be specifically configured to implement the method executed by the transmitting node in the embodiments from FIG. 3 to FIG. 12. The device may be a transmitting node, or may be a component configured to execute the functions of the relevant method in a chip, a chipset, or a chip within the transmitting node. The processing unit 1901 is configured to generate a target code block, the target code block includes an indicator bit and a payload, the indicator bit includes a first value, a second value, a third value, and a fourth value, the first value is used to indicate that the payload includes the first segment of the data frame, the second value is used to indicate that the payload includes the middle segment of the data frame, the third value indicates that the payload includes the last segment of the data frame, the fourth value is used to indicate that the payload includes non-data information, and the transceiver unit 1902 is configured to transmit the target code block.
[0194] In an embodiment, the processing unit 1901 is specifically configured to divide the data frame into N segments, where N is an integer greater than or equal to 2, and encode the N segments to obtain N code blocks, the N code blocks include the target code block, if the payload of the target code block includes the first segment of the N segments, the indicator bit of the target code block is the first value, if the payload of the target code block includes the nth segment of the N segments, the indicator bit of the target code block is the second value, n is an integer greater than or equal to 2 and less than N, or if the payload of the target code block includes the Nth segment of the N segments, the indicator bit of the target code block is the third value.
[0195] For example, the non-data information includes at least one of the following, namely, padding bits, sub-indicator bits, and control information.
[0196] Optionally, if the bit carried within the payload is a padding bit, the indicator bit is a fourth value.
[0197] Optionally, the sub - indicator bit is used to indicate that the payload carries physical layer padding bits, or the sub - indicator bit is used to indicate that the payload carries control information, or the sub - indicator bit is used to indicate that the payload carries a data frame.
[0198] For example, the type of control information includes at least one of the following, namely, block identification information, transmission positive acknowledgment information, intermittent test information, sleep information, and link retraining information.
[0199] In an exemplary description, if the payload carries control information, the payload further includes a CRC field used for inspection protection.
[0200] In another implementation, the communication device may be specifically configured to implement the method executed by the transmitting node in the embodiments of FIGS. 13 to 18. The device may be the transmitting node itself, or a chip, chipset, or part of a chip within the transmitting node configured to execute the functions of the related method. The processing unit 1901 is configured to generate a target code block, the target code block includes an indicator bit and a payload, the indicator bit includes a first value and a second value, the first value is used to indicate that the payload includes one segment of a first data frame, the second value is used to indicate that the payload includes non - data information, and when the indicator bit is the second value, the payload includes a sub - indicator bit.
[0201] The sub - indicator bit is the following information, namely, that the next code block of the target code block carries the first segment of the first data frame, The code block before the target code block carries the last segment of the first data frame, The bits carried within the payload of the target code block are physical layer padding bits, The payload of the target code block carries control information, The payload of the target code block carries the first data frame, and It is used to indicate at least one of the first data frame and at least one second data frame being stitched together in the payload of the target code block.
[0202] The transceiver unit 1902 is configured to transmit the target code block.
[0203] For example, if the next code block of the target code block carries the first segment of the first data frame, the bits carried within the payload are physical layer padding bits, and the sub - indicator bit indicates that the next code block of the target code block carries the first segment of the first data frame.
[0204] Alternatively, if the code block before the target code block carries the last segment of the first data frame, the bits carried within the payload are physical layer padding bits, and the sub - indicator bit indicates that the code block before the target code block carries the last segment of the first data frame.
[0205] Alternatively, if the bits carried within the payload of the target code block are physical layer padding bits, the sub - indicator bit indicates that the bits carried within the payload of the target code block are physical layer padding bits.
[0206] Alternatively, if the payload of the target code block carries control information, the sub-indicator bit indicates that the payload carries control information. Optionally, the sub-control bit further indicates the type of control information.
[0207] Alternatively, if the payload of the target code block carries a first data frame, the sub-indicator bit indicates that the payload of the target code block carries the first data frame.
[0208] Alternatively, if the payload of the target code block carries all or part of the data of the first data frame and all or part of the data of at least one second data frame, the sub-indicator bit indicates that the first data frame and at least one second data frame are concatenated.
[0209] Optionally, the type of control information includes at least one of the following, namely, block identification information, transmission positive acknowledgment information, intermittent test information, sleep information, and link retraining information.
[0210] In an embodiment, assuming that N is an integer greater than or equal to 2, the processing unit 1901 is specifically configured to divide a first data frame into N segments and encode N data blocks to obtain N + 2 code blocks. The N + 2 code blocks include a target code block. When the target code block is the first code block among the N + 2 code blocks, the indicator bit of the target code block is a second value, and the sub - indicator bit is used to indicate that the next code block of the target code block carries the first segment of the first data frame. When the target code block is the nth code block among the N + 2 code blocks, the indicator bit of the target code block is a first value, where n is an integer greater than or equal to 2 and less than N + 2. Or when the target code block is the (N + 2)th code block among the N + 2 code blocks, the indicator bit of the target code block is a second value, and the sub - indicator bit is used to indicate that the previous code block of the target code block carries the last segment of the first data frame.
[0211] For example, when the sub - indicator bit indicates the type of control information included in the payload of the target code block, the payload includes a CRC field used for inspection protection, and / or when the sub - indicator bit indicates that the next code block of the target code block carries the first segment of the first data frame, or when the sub - indicator bit indicates that the previous code block of the target code block carries the last segment of the first data frame, the payload includes a CRC field used for inspection protection.
[0212] Optionally, indicating that the first data frame and at least one second data frame are stitched together by the sub - indicator bit includes further indicating, by the sub - indicator bit, the boundary position between the first data frame and the at least one second data frame within the payload.
[0213] In an exemplary description, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the first segment of one second data frame and the first data frame, and the first segment is after the first data frame.
[0214] Alternatively, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the first segment of one second data frame and the last segment of the first data frame, and the first segment is after the last segment.
[0215] Alternatively, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the last segment of the first data frame and at least one second data frame, and at least one second data frame is after the last segment.
[0216] Alternatively, all or part of the data within the first data frame and all or part of the data within at least one second data frame include the first data frame and at least one second data frame, and at least one second data frame is after the first data frame.
[0217] Optionally, there is an inter-frame space between two adjacent data frames in the first data frame and at least one second data frame.
[0218] In another implementation, the communication device may be specifically configured to implement the method executed by the receiving node in the embodiments from FIGS. 3 to 12. The device may be the receiving node itself, or may be a chip, chipset, or part of a chip within the receiving node configured to execute the functions of the related method. The transceiver unit 1902 is configured to receive a target code block, the target code block includes an indicator bit and a payload, the indicator bit includes a first value, a second value, a third value, and a fourth value, the first value is used to indicate that the payload includes the first segment of the data frame, the second value is used to indicate that the payload includes the middle segment of the data frame, the third value indicates that the payload includes the last segment of the data frame, and the fourth value is used to indicate that the payload includes non-data information. The processing unit 1901 is configured to analyze the target code block.
[0219] In an embodiment, when the indicator bit of the target code block is the first value, the processing unit 1901 is specifically configured to determine that the segment carried in the payload of the target code block is the first segment of the data frame, or when the indicator bit of the target code block is the second value, determine that the segment carried in the payload of the target code block is the middle segment of the data frame, and when the indicator bit of the target code block is the third value, determine that the segment carried in the payload of the target code block is the last segment of the data frame.
[0220] For example, the non-data information includes at least one of the following, namely, padding bits, sub-indicator bits, and control information.
[0221] Optionally, when the bit carried in the payload is a padding bit, the indicator bit is the fourth value.
[0222] Optionally, the sub - indicator bit is used to indicate that the payload carries physical layer padding bits, or the sub - indicator bit is used to indicate that the payload carries control information, or the sub - indicator bit is used to indicate that the payload carries a data frame.
[0223] For example, the type of control information includes at least one of the following, namely, block identification information, transmission positive acknowledgment information, intermittent test information, sleep information, and link retraining information.
[0224] In an exemplary description, when the payload carries control information, the payload further includes a CRC field used for inspection protection.
[0225] In yet another implementation, the communication device may be particularly configured to implement the method executed by the receiving node in the embodiments of FIGS. 13 to 18. The device may be the receiving node itself, or a chip, chipset, or part of a chip within the receiving node configured to execute the functions of the related method. The transceiver unit 1902 is configured to receive a target code block, the target code block includes an indicator bit and a payload, the indicator bit includes a first value and a second value, the first value is used to indicate that the payload includes one segment of a first data frame, the second value is used to indicate that the payload includes non - data information, and when the indicator bit is the second value, the payload includes a sub - indicator bit.
[0226] The sub - indicator bit is the following information, namely, that the next code block of the target code block carries the first segment of the first data frame, that the previous code block of the target code block carries the last segment of the first data frame, The bits carried within the payload of the target code block are the physical layer padding bits, the payload of the target code block carries control information, the payload of the target code block carries a first data frame, and is used to indicate at least one of that the first data frame and at least one second data frame are stitched together in the payload of the target code block.
[0227] The processing unit 1901 is configured to analyze the target code block.
[0228] For example, if the next code block of the target code block carries the first segment of the first data frame, the bits carried within the payload are the physical layer padding bits, and the sub-indicator bits indicate that the next code block of the target code block carries the first segment of the first data frame.
[0229] Alternatively, if the previous code block of the target code block carries the last segment of the first data frame, the bits carried within the payload are the physical layer padding bits, and the sub-indicator bits indicate that the previous code block of the target code block carries the last segment of the first data frame.
[0230] Alternatively, if the bits carried within the payload of the target code block are the physical layer padding bits, the sub-indicator bits indicate that the bits carried within the payload of the target code block are the physical layer padding bits.
[0231] Alternatively, if the payload of the target code block carries control information, the sub-indicator bits indicate that the payload carries control information. Optionally, sub-control bits further indicate the type of control information.
[0232] Alternatively, if the payload of the target code block carries the first data frame, the sub-indicator bit indicates that the payload of the target code block carries the first data frame.
[0233] Alternatively, if the payload of the target code block carries all or part of the data of the first data frame and all or part of the data of at least one second data frame, the sub-indicator bit indicates that the first data frame and at least one second data frame are concatenated.
[0234] Optionally, the type of control information includes at least one of the following, namely, block identification information, transmission positive response information, intermittent test information, sleep information, and link re-training information.
[0235] In an embodiment, the processing unit 1901 determines that the segment carried within the next code block of the target code block is the first segment of the first data frame when the indicator bit of the target code block is the second value and the sub-indicator bit is used to indicate that the next code block of the target code block carries the first segment of the first data frame, determines that the segment carried within the payload of the target code block is the middle segment of the first data frame when the indicator bit of the target code block is the first value, or determines that the segment carried within the previous code block of the target code block is the last segment of the first data frame when the indicator bit of the target code block is the second value and the sub-indicator bit is used to indicate that the previous code block of the target code block carries the last segment of the first data frame, and is specifically configured as such.
[0236] For example, if the sub - indicator bit indicates the type of control information included in the payload of the target code block, the payload includes a CRC field used for inspection protection, and / or if the sub - indicator bit indicates that the next code block of the target code block carries the first segment of the first data frame, or if the sub - indicator bit indicates that the previous code block of the target code block carries the last segment of the first data frame, the payload includes a CRC field used for inspection protection.
[0237] Optionally, indicating that the first data frame and at least one second data frame are stitched together by the sub - indicator bit includes further indicating, by the sub - indicator bit, the boundary position between the first data frame and the at least one second data frame within the payload.
[0238] In an exemplary illustration, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the first segment of one second data frame and the first data frame, and the first segment is after the first data frame.
[0239] Alternatively, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the first segment of one second data frame and the last segment of the first data frame, and the first segment is after the last segment.
[0240] Alternatively, all or part of the data of the first data frame and all or part of the data of at least one second data frame include the last segment of the first data frame and at least one second data frame, and the at least one second data frame is after the last segment.
[0241] Alternatively, all or part of the data in the first data frame and all or part of the data in at least one second data frame are included in the first data frame and at least one second data frame, and at least one second data frame is after the first data frame.
[0242] Optionally, there is an inter-frame space between two adjacent data frames in the first data frame and at least one second data frame.
[0243] The division into modules in the embodiments of this application is for example only and is only a division into logical functions, and there may be other divisions during actual implementation. In addition, the functional modules of the embodiments of this application may be integrated into one processor, or each of the modules may exist physically independently, or two or more modules may be integrated into one module. The integrated module may be implemented in the form of hardware or in the form of a software functional module. It will be understood that for the functions or implementations of the modules in the embodiments of this application, reference may be further made to the relevant descriptions of the method embodiments.
[0244] In a possible way, the communication device may be as shown in FIG. 20. The device may be a transmitting node or a chip within the transmitting node. The device may include a processor 2001, a communication interface 2002, and a memory 2003. The processing unit 1901 may be the processor 2001. The transceiver unit 1902 may be the communication interface 2002.
[0245] The processor 2001 may be a CPU, a digital processing unit, etc. The communication interface 2002 may be a transceiver, an interface circuit such as a transceiver circuit, a transceiver chip, etc. The apparatus further includes a memory 2003 configured to store a program executed by the processor 2001. The memory 2003 may be a non-volatile memory, for example, a hard disk drive (HDD) or a solid-state drive (SSD), or may be a volatile memory, for example, a random access memory (RAM). The memory 2003 can carry or store the expected program code in the form of an instruction structure or a data structure, and is any other medium that can be accessed by a computer, but is not limited thereto.
[0246] The processor 2001 is configured to execute the program code stored in the memory 2003 and is particularly configured to execute the actions of the processing unit 1901 described above. Details are not described again herein in this application. The communication interface 2002 is particularly configured to execute the actions of the transceiver unit 1902. Details are not described again herein in this application.
[0247] The specific connection medium between the communication interface 2002, the processor 2001, and the memory 2003 is not limited in the embodiments of the present application. In the embodiments of the present application, the memory 2003, the processor 2001, and the communication interface 2002 are connected by using the bus 2004 in FIG. 20. The bus is represented by using a thick line in FIG. 20. The method of connection between other components is only an example for explanation and is not limited thereto. The bus may include an address bus, a data bus, a control bus, etc. For the sake of easy expression, in FIG. 20, there is only one thick line for representing the bus, but this does not mean that there is only one bus or only one type of bus.
[0248] The embodiments of the present application further provide a communication system including a communication device configured to implement the functions of the transmission node in the embodiments from FIG. 3 to FIG. 12 and a communication device configured to implement the functions of the reception node in the embodiments from FIG. 3 to FIG. 12.
[0249] The embodiments of the present application further provide a communication system including a communication device configured to implement the functions of the transmission node in the embodiments from FIG. 13 to FIG. 18 and a communication device configured to implement the functions of the reception node in the embodiments from FIG. 13 to FIG. 18.
[0250] The embodiments of the present application further provide a computer-readable storage medium configured to store computer software instructions that need to be executed by the above-mentioned processor, and the computer software instructions include a program that needs to be executed by the above-mentioned processor.
[0251] Those skilled in the art should understand that the embodiments of the present application may be provided as a method, a system, or a computer program product. Therefore, the present application may use forms of embodiments that are solely hardware embodiments, solely software embodiments, or embodiments in combination of software and hardware. Furthermore, the present application may use the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer-usable program code.
[0252] The present application is described with reference to the flowcharts and / or block diagrams of the method, device (system), and computer program product according to the present application. It should be understood that computer program instructions may be used to implement each process and / or each block in the flowchart and / or block diagram, and combinations of processes and / or blocks in the flowchart and / or block diagram. The computer program instructions may be provided to a processor of a general-purpose computer, a dedicated computer, an embedded processor, or another programmable data processing device to generate a machine for generating an apparatus for implementing the specific functions of one or more procedures in the flowchart and / or one or more blocks in the block diagram.
[0253] Alternatively, the computer program instructions may be stored in a computer-readable memory that can indicate a computer or another programmable data processing device to act in a specific manner so as to generate a product including an instruction device. The instruction device implements the specific functions of one or more procedures in the flowchart and / or one or more blocks in the block diagram.
[0254] Computer program instructions may alternatively be loaded onto a computer or another programmable data processing device so that a series of operations and steps are executed on the computer or another programmable device to generate processing implemented by the computer. Thus, the instructions executed on the computer or another programmable device provide steps for implementing the specific functions of one or more procedures of the flowchart and / or one or more blocks of the block diagram.
[0255] It is obvious that those skilled in the art can make various modifications and changes to this application without departing from the scope of this application. This application is intended to include these modifications and changes on the condition that these modifications and changes of this application fall within the scope of protection defined by the appended claims and their equivalent technologies.
Explanation of Signs
[0256] 1901 Processing Unit 1902 Transceiver Unit 2001 Processor 2002 Communication Interface 2003 Memory 2004 Bus
Claims
1. 1. A line coding method, comprising: generating a target code block, the target code block comprising indicator bits and a payload, the indicator bits comprising a first value, a second value, a third value, and a fourth value, the first value being used to indicate that the payload comprises a first segment of a data frame, the second value being used to indicate that the payload comprises a middle segment of the data frame, the third value being used to indicate that the payload comprises a last segment of the data frame, and the fourth value being used to indicate that the payload comprises non-data information; and transmitting the target code block.
2. generating a target code block, dividing the data frame into N segments, where N is an integer greater than or equal to 2; and encoding the N segments to obtain N code blocks, wherein the N code blocks include the target code block and the payload of the target code block includes a first segment of the N segments, the indicator bit of the target code block is the first value, or the indicator bit of the target code block is the second value if the payload of the target code block includes an nth segment of the N segments, n being an integer greater than or equal to 2 and less than N, or the indicator bit of the target code block is the third value if the payload of the target code block includes an Nth segment of the N segments.
3. 2. The method of claim 1, wherein the non-data information includes at least one of the following: padding bits, sub-indicator bits, and control information.
4. 4. The method of claim 3, wherein if the bits carried in the payload are the padding bits, the indicator bits are the fourth value.
5. the sub-indicator bits are used to indicate that the payload carries physical layer padding bits, the sub-indicator bits are used to indicate that the payload carries the control information, or The method of claim 3 , wherein the sub-indicator bit is used to indicate that the payload carries the data frame.
6. 6. The method of claim 5, wherein the types of control information include at least one of the following: block identification information, transmission acknowledgment information, intermittent test information, sleep information, and link retraining information.
7. 7. The method of claim 5 or 6, wherein if the payload carries the control information, the payload further comprises a Cyclic Redundancy Check (CRC) field used for check protection.
8. 1. A line coding method, comprising: generating a target code block, the target code block comprising indicator bits and a payload, the indicator bits comprising a first value and a second value, the first value being used to indicate that the payload comprises a segment of a first data frame, the second value being used to indicate that the payload comprises non-data information, and when the indicator bits are at the second value, the payload comprises sub-indicator bits, the sub-indicator bits representing the following information: a code block next to the target code block carrying a first segment of the first data frame; the code block preceding the target code block carries a last segment of the first data frame; the bits carried within the payload of the target code block are physical layer padding bits; the payload of the target code block carries control information; the payload of the target code block carries the first data frame; and used to indicate at least one of that the first data frame and at least one second data frame are spliced in the payload of the target code block; and transmitting the target code block.
9. if the next code block of the target code block carries the first segment of the first data frame, the bits carried in the payload are physical layer padding bits, and the sub-indicator bits indicate that the next code block of the target code block carries the first segment of the first data frame; if the previous code block of the target code block carries the last segment of the first data frame, the bits carried in the payload are physical layer padding bits, and the sub-indicator bits indicate that the previous code block of the target code block carries the last segment of the first data frame; if the bits carried within the payload of the target code block are physical layer padding bits, the sub-indicator bits indicate that the bits carried within the payload of the target code block are physical layer padding bits; if the payload of the target code block carries the control information, the sub-indicator bit indicates that the payload of the target code block carries the control information; if the payload of the target code block carries the first data frame, the sub-indicator bit indicates that the payload of the target code block carries the first data frame; or 9. The method of claim 8, wherein if the payload of the target code block carries all or a portion of the data of the first data frame and all or a portion of the data of the at least one second data frame, the sub-indicator bit indicates that the first data frame and the at least one second data frame are spliced.
10. The method of claim 8 or 9, wherein the types of control information include at least one of the following: block identification information, transmission acknowledgment information, intermittent test information, sleep information, and link retraining information.
11. generating a target code block, dividing the first data frame into N segments, where N is an integer greater than or equal to 2; 11. The method of claim 8, further comprising: encoding N data blocks to obtain N+2 code blocks, the N+2 code blocks including the target code block, wherein if the target code block is a first code block of the N+2 code blocks, the indicator bit of the target code block is the second value and the sub-indicator bit is used to indicate that the next code block of the target code block carries the first segment of the first data frame; and if the target code block is an n-th code block of the N+2 code blocks, the indicator bit of the target code block is the first value, n being an integer greater than or equal to 2 and less than N+2, or if the target code block is an (N+2)-th code block of the N+2 code blocks, the indicator bit of the target code block is the second value and the sub-indicator bit is used to indicate that the previous code block of the target code block carries the last segment of the first data frame.
12. if the sub-indicator bits indicate that the payload of the target code block carries the control information, the payload includes a cyclic redundancy check (CRC) field used for check protection; and / or 12. The method of claim 8, wherein the payload includes a CRC field used for check protection if the sub-indicator bits indicate that the next code block of the target code block carries the first segment of the first data frame or if the sub-indicator bits indicate that the previous code block of the target code block carries the last segment of the first data frame.
13. 13. The method of claim 8, wherein the sub-indicator bits indicate that the first data frame and the at least one second data frame are spliced, the sub-indicator bits further indicating a boundary location of the first data frame and the at least one second data frame within the payload.
14. All or a portion of the data of the first data frame and all or a portion of the data of the at least one second data frame a first segment of a second data frame and the first data frame, the first segment being after the first data frame; the first segment of a second data frame and the last segment of the first data frame, the first segment being after the last segment; the last segment of the first data frame and the at least one second data frame, the at least one second data frame being after the last segment; or 10. The method of claim 9, comprising the first data frame and the at least one second data frame, the at least one second data frame being subsequent to the first data frame.
15. 15. The method according to any one of claims 8 to 14, wherein there is an interframe space between two adjacent data frames in the first data frame and the at least one second data frame.
16. 1. A line coding method, comprising: receiving a target code block, the target code block including indicator bits and a payload, the indicator bits including a first value, a second value, a third value, and a fourth value, the first value being used to indicate that the payload includes a first segment of a data frame, the second value being used to indicate that the payload includes a middle segment of the data frame, the third value being used to indicate that the payload includes a last segment of the data frame, and the fourth value being used to indicate that the payload includes non-data information; and parsing the target code block.
17. The step of analyzing the target code block comprises: determining that a segment carried within the payload of the target code block is the first segment of the data frame if the indicator bit of the target code block is the first value; determining that a segment carried within the payload of the target code block is the intermediate segment of the data frame if the indicator bit of the target code block is the second value; or 17. The method of claim 16, further comprising determining that the segment carried within the payload of the target code block is the last segment of the data frame if the indicator bit of the target code block is the third value.
18. 1. A line coding method, comprising: receiving a target code block, the target code block comprising indicator bits and a payload, the indicator bits comprising a first value and a second value, the first value being used to indicate that the payload comprises a segment of a first data frame, the second value being used to indicate that the payload comprises non-data information, and when the indicator bits are at the second value, the payload comprises sub-indicator bits, the sub-indicator bits representing the following information: a code block next to the target code block carrying a first segment of the first data frame; the code block preceding the target code block carries a last segment of the first data frame; the bits carried within the payload of the target code block are physical layer padding bits; the payload of the target code block carries control information; the payload of the target code block carries the first data frame; and used to indicate at least one of that the first data frame and at least one second data frame are spliced in the payload of the target code block; and parsing the target code block.
19. The step of analyzing the target code block comprises: determining that the segment carried in the next code block of the target code block is the first segment of the first data frame if the indicator bit of the target code block is the second value and the sub-indicator bit is used to indicate that the next code block of the target code block carries the first segment of the first data frame; determining that the segment carried within the payload of the target code block is an intermediate segment of the first data frame if the indicator bit of the target code block is the first value; or 19. The method of claim 18, further comprising: determining that the segment carried in the previous code block of the target code block is the last segment of the first data frame if the indicator bit of the target code block is the second value and the sub-indicator bit is used to indicate that the previous code block of the target code block carries the last segment of the first data frame.
20. 1. A communication device, comprising: a processing unit configured to generate a target code block, the target code block including indicator bits and a payload, the indicator bits including a first value, a second value, a third value, and a fourth value, the first value being used to indicate that the payload includes a first segment of a data frame, the second value being used to indicate that the payload includes a middle segment of the data frame, the third value being used to indicate that the payload includes a last segment of the data frame, and the fourth value being used to indicate that the payload includes non-data information; and a transceiver unit configured to transmit the target code block.
21. The processing unit comprises: dividing the data frame into N segments, where N is an integer greater than or equal to 2; 21. The apparatus of claim 20, specifically configured for: encoding the N segments to obtain N code blocks, wherein the N code blocks include the target code block and the payload of the target code block includes a first segment of the N segments, the indicator bit of the target code block is the first value, or the indicator bit of the target code block is the second value if the payload of the target code block includes an nth segment of the N segments, n being an integer greater than or equal to 2 and less than N, or the indicator bit of the target code block is the third value if the payload of the target code block includes the Nth segment of the N segments.
22. 21. The apparatus of claim 20, wherein the non-data information includes at least one of the following: padding bits, sub-indicator bits, and control information.
23. 23. The apparatus of claim 22, wherein the indicator bits are the fourth value if the bits carried within the payload are the padding bits.
24. the sub-indicator bits are used to indicate that the payload carries physical layer padding bits, the sub-indicator bits are used to indicate that the payload carries the control information, or 23. The apparatus of claim 22, wherein the sub-indicator bit is used to indicate that the payload carries the data frame.
25. 25. The apparatus of claim 24, wherein the types of control information include at least one of the following: block identification information, transmission acknowledgment information, intermittent test information, sleep information, and link retraining information.
26. 26. The apparatus of claim 24 or 25, wherein if the payload carries the control information, the payload further comprises a Cyclic Redundancy Check (CRC) field used for check protection.
27. 1. A communication device, comprising:
1. A processing unit configured to generate a target code block, the target code block comprising an indicator bit and a payload, the indicator bit comprising a first value and a second value, the first value being used to indicate that the payload comprises a segment of a first data frame, the second value being used to indicate that the payload comprises non-data information, and when the indicator bit is the second value, the payload comprises sub-indicator bits, the sub-indicator bits representing the following information: a code block next to the target code block carrying a first segment of the first data frame; the code block preceding the target code block carries a last segment of the first data frame; the bits carried within the payload of the target code block are physical layer padding bits; the payload of the target code block carries control information; the payload of the target code block carries the first data frame; and a processing unit adapted to indicate at least one of the first data frame and at least one second data frame being spliced in the payload of the target code block; and a transceiver unit configured to transmit the target code block.
28. if the next code block of the target code block carries the first segment of the first data frame, the bits carried in the payload are physical layer padding bits, and the sub-indicator bits indicate that the next code block of the target code block carries the first segment of the first data frame; if the previous code block of the target code block carries the last segment of the first data frame, the bits carried in the payload are physical layer padding bits, and the sub-indicator bits indicate that the previous code block of the target code block carries the last segment of the first data frame; if the bits carried within the payload of the target code block are physical layer padding bits, the sub-indicator bits indicate that the bits carried within the payload of the target code block are physical layer padding bits; if the payload of the target code block carries the control information, the sub-indicator bit indicates that the payload of the target code block carries the control information; if the payload of the target code block carries the first data frame, the sub-indicator bit indicates that the payload of the target code block carries the first data frame; or 28. The apparatus of claim 27, wherein if the payload of the target code block carries all or a portion of the data of the first data frame and all or a portion of the data of the at least one second data frame, the sub-indicator bit indicates that the first data frame and the at least one second data frame are spliced.
29. 29. The apparatus of claim 27 or 28, wherein the types of control information include at least one of the following: block identification information, transmission acknowledgment information, intermittent test information, sleep information, and link retraining information.
30. The processing unit comprises: Dividing the first data frame into N segments, where N is an integer greater than or equal to 2; 30. The apparatus of claim 27, further comprising: encoding N data blocks to obtain N+2 code blocks, the N+2 code blocks including the target code block, wherein if the target code block is a first code block of the N+2 code blocks, the indicator bit of the target code block is the second value and the sub-indicator bit is used to indicate that the next code block of the target code block carries the first segment of the first data frame; and if the target code block is an n-th code block of the N+2 code blocks, the indicator bit of the target code block is the first value, n being an integer greater than or equal to 2 and less than N+2, or if the target code block is an (N+2)-th code block of the N+2 code blocks, the indicator bit of the target code block is the second value and the sub-indicator bit is used to indicate that the previous code block of the target code block carries the last segment of the first data frame.
31. if the sub-indicator bits indicate that the payload of the target code block carries the control information, the payload includes a cyclic redundancy check (CRC) field used for check protection; and / or 31. The apparatus of claim 27, wherein the payload includes a CRC field used for check protection if the sub-indicator bits indicate that the next code block of the target code block carries the first segment of the first data frame or if the sub-indicator bits indicate that the previous code block of the target code block carries the last segment of the first data frame.
32. 32. The apparatus of claim 27, wherein the sub-indicator bits indicating that the first data frame and the at least one second data frame are spliced comprises: the sub-indicator bits further indicating a boundary location of the first data frame and the at least one second data frame within the payload.
33. all or a portion of the data of the first data frame and all or a portion of the data of the at least one second data frame are combined into a first segment of a second data frame and the first data frame, the first segment being after the first data frame; the first segment of a second data frame and the last segment of the first data frame, the first segment being after the last segment; the last segment of the first data frame and the at least one second data frame, the at least one second data frame being after the last segment; or 30. The apparatus of claim 28, wherein the first data frame and the at least one second data frame include the first data frame and the at least one second data frame that are subsequent to the first data frame.
34. 34. The apparatus of any one of claims 27 to 33, wherein there is an interframe space between two adjacent data frames in the first data frame and the at least one second data frame.
35. 1. A communication device, comprising: a transceiver unit configured to receive a target code block, the target code block including indicator bits and a payload, the indicator bits including a first value, a second value, a third value, and a fourth value, the first value being used to indicate that the payload includes a first segment of a data frame, the second value being used to indicate that the payload includes a middle segment of the data frame, the third value being used to indicate that the payload includes a last segment of the data frame, and the fourth value being used to indicate that the payload includes non-data information; a processing unit configured to analyze the target code block.
36. The processing unit comprises: determining that a segment carried within the payload of the target code block is the first segment of the data frame if the indicator bit of the target code block is the first value; determining that the segment carried within the payload of the target code block is the intermediate segment of the data frame if the indicator bit of the target code block is the second value; or 36. The apparatus of claim 35, specifically configured to determine that a segment carried within the payload of the target code block is the last segment of the data frame if the indicator bit of the target code block is the third value.
37. 1. A communication device, comprising:
1. A transceiver unit configured to receive a target code block, the target code block comprising indicator bits and a payload, the indicator bits comprising a first value and a second value, the first value being used to indicate that the payload comprises a segment of a first data frame and the second value being used to indicate that the payload comprises non-data information, and when the indicator bits are at the second value, the payload comprises sub-indicator bits, the sub-indicator bits representing the following information: a code block next to the target code block carrying a first segment of the first data frame; the code block preceding the target code block carries a last segment of the first data frame; the bits carried within the payload of the target code block are physical layer padding bits; the payload of the target code block carries control information; the payload of the target code block carries the first data frame; and a transceiver unit used to indicate at least one of that the first data frame and at least one second data frame are spliced in the payload of the target code block; a processing unit configured to analyze the target code block.
38. The processing unit comprises: determining that the segment carried in the next code block of the target code block is the first segment of the first data frame if the indicator bit of the target code block is the second value and the sub-indicator bit is used to indicate that the next code block of the target code block carries the first segment of the first data frame; determining that the segment carried within the payload of the target code block is an intermediate segment of the first data frame if the indicator bit of the target code block is the first value; or 38. The apparatus of claim 37, further comprising: a first indicator bit for determining that a segment carried in the previous code block of the target code block is the last segment of the first data frame when the indicator bit of the target code block is the second value and the sub-indicator bit is used to indicate that the previous code block of the target code block carries the last segment of the first data frame.
39. A computer readable storage medium storing a program or instructions, which when read and executed by one or more processors performs the method of any one of claims 1 to 15, or which when read and executed by one or more processors performs the method of any one of claims 16 to 19.
40. A computer program product, which when executed on a device enables the device to perform the method of any one of claims 1 to 7, or enables the device to perform the method of any one of claims 8 to 15, or enables the device to perform the method of claim 16 or 17, or enables the device to perform the method of claim 18 or 19.
Citation Information
Patent Citations
Method and apparatus for packet segmentation and concatenation signaling in communication system
JP2013153514A
Data transmission method, transmitter and receiver
JP2018523409A