Data transmission method and system
By monitoring channel quality in real time and dynamically adjusting data packet size and verification strategies, the efficiency problem of traditional data transmission methods in complex channel environments is solved, achieving efficient data packet transmission.
Patent Information
- Application Number
- CN202510819662.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-19
- Publication Date
- 2025-10-24
- Estimated Expiration
- 2045-06-19
AI Technical Summary
Existing end-to-end data transmission methods are difficult to dynamically adjust in complex and ever-changing channel environments, resulting in high retransmission overhead in high bit error rate environments and wasted resources due to protocol overhead in low bit error rate environments.
By monitoring channel quality in real time, dynamically adjusting data packet size and verification strategy, the original data packet is split into smaller data packets, and the size of the smaller data packets is adjusted according to the received bit error rate. An adaptive packet splitting algorithm and an intelligent buffer management module are used for data transmission.
It effectively solves the problems of large retransmission overhead in high bit error rate environments and wasted protocol overhead in low bit error rate environments in traditional transmission methods, and improves channel resource utilization efficiency and data transmission efficiency.
Smart Images

Figure CN120342969B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data transmission, and particularly relates to a data transmission method and system based on real-time channel quality monitoring and dynamic data packet adjustment. BACKGROUND
[0002] With the continuous development of wireless communication technology, emerging application fields such as unmanned vehicles and through-the-earth communication have increasingly high requirements for data transmission. However, the existing end-to-end data transmission mainly adopts two fixed-size data packet transmission methods: one is large data packet transmission, and the other is small data packet transmission. These traditional methods have obvious limitations in actual application and are difficult to adapt to complex and changeable channel environments, as follows:
[0003] The main defect of the large data packet transmission method is its rigid adaptability, which cannot be dynamically adjusted according to the channel quality. When the channel quality deteriorates, even a single-bit error will cause the entire large data packet to be completely retransmitted, which will cause serious bandwidth waste in a high error rate environment. Although the fixed small data packet transmission method alleviates the retransmission problem to some extent, it introduces a new efficiency bottleneck, that is, each small data packet needs to carry complete protocol header information. In a low error rate environment, the protocol overhead wastes resources and seriously restricts the channel utilization efficiency, especially in a high-speed network environment, frequent small packet transmission will cause the channel time to be used for transmitting control information rather than payload.
[0004] In order to solve these problems, it is urgent to optimize the transmission performance through an innovative dynamic adjustment mechanism. Some improvement schemes have been proposed in the prior art, such as adaptive transmission strategies based on channel quality, data packet retransmission control, etc. However, these schemes often lack real-time monitoring and feedback mechanisms for changes in channel conditions, making it difficult to dynamically adjust the transmission strategy according to the actual network environment. In addition, the existing retransmission mechanism cannot dynamically adapt to changes in link state, or simply adjusts the redundancy of automatic retransmission messages according to a certain prediction algorithm, making it difficult to effectively cope with complex and changeable channel environments. Therefore, it is particularly important to develop a dynamic data packet adjustment mechanism that can monitor channel indicators such as error rate in real time and intelligently adjust the data packet size and verification strategy. SUMMARY
[0005] The technical problem solved by the present application is to provide a data transmission method that can be dynamically adjusted according to the channel quality, avoiding the problems of large retransmission overhead in a high error rate environment and protocol overhead waste of resources in a low error rate environment.
[0006] To achieve the above object, the technical scheme adopted by the present application is:
[0007] A data transmission method, comprising the following steps:
[0008] Step 1: at the data sending end, split the original TLP data packet to be sent into several small TLP data packets;
[0009] Step 2: sequentially transmit each small TLP data packet from the data sending end to the data receiving end;
[0010] Step 3: at the data receiving end, receive each small TLP data packet and perform verification, if all the small TLP data packets split from the original TLP data packet are received and verified, then recombine each small TLP data packet to obtain a recombined TLP data packet;
[0011] In the step 3, in the process of receiving and verifying the small TLP data packet, the receiving error rate within a set time is counted and fed back to the data sending end; in the step 1, when the receiving error rate fed back by the data receiving end is not received, the original TLP data packet is split according to the set splitting mode; after the receiving error rate fed back by the data receiving end is received, the next original TLP data packet is split according to the receiving error rate, the larger the receiving error rate is, the smaller the byte number of the small TLP data packet after splitting is, and the smaller the receiving error rate is, the larger the byte number of the small TLP data packet after splitting is.
[0012] A preferred embodiment is that in the step 1, the value range of the receiving error rate is divided into n intervals in advance, each interval corresponds to a preset byte number of the small TLP data packet, n is a positive integer greater than 1, then after the receiving error rate fed back by the data receiving end is received, the byte number of the corresponding small TLP data packet is determined according to the interval where the receiving error rate is located, and the original TLP data packet is split.
[0013] Further, in the step 1, the value range of the receiving error rate is divided into n intervals from large to small, then the byte number of the small TLP data packet preset in the mth interval is 2 m-1 a, m is an integer and 1≤m≤n, a is a positive integer; the byte number of the small TLP data packet preset in the nth interval is 2 n-1 a is less than or equal to the byte number of the original TLP data packet.
[0014] Based on one embodiment of the application, in the step 1, when the receiving error rate fed back by the data receiving end is not received, the byte number of the small TLP data packet split from the original TLP data packet is a.
[0015] Preferably, at the data receiving end, when the reassembly of a reassembled TLP data packet is completed or a small TLP data packet is received, the time counting is started and the receiving error rate within the set time is calculated.
[0016] Further preferably, after the time counting is started, the number of check errors of the small TLP data packet within the set time is calculated, and then the receiving error rate is obtained according to the number of check errors.
[0017] According to an embodiment of the present application, the small TLP data packet comprises a serial number and a check code, and in step 3, at the data receiving end, the serial number check and the check code check are performed on the small TLP data packet, when the small TLP data packet fails to pass the check, the data receiving end stops receiving the small TLP data packet and feeds back check information to the data sending end, and the data sending end re-sends the unreceived small TLP data packet to the data receiving end according to the check information.
[0018] Further, the check information comprises the serial number of the small TLP data packet that has been received and passed the check at the data receiving end, and then the data sending end clears the small TLP data packet that has been received and passed the check at the data receiving end according to the check information and sends the unreceived small TLP data packet.
[0019] The present application also provides a data transmission system which can dynamically adjust according to the channel quality, avoid the problem of large retransmission overhead in high error rate environment and waste of resources in protocol overhead in low error rate environment, and the scheme is as follows:
[0020] A data transmission system comprises a data sending end device and a data receiving end device, the data sending end device comprises a bit error rate detection module, an adaptive unpacking algorithm module, a data packet splitting module and an intelligent buffer management module; the bit error rate detection module is used to obtain the receiving bit error rate fed back by the data receiving end device and transmit it to the adaptive unpacking algorithm module, the adaptive algorithm module is used to determine the splitting mode of the original TLP data packet; the data packet splitting module is used to split the original TLP data packet to be sent into several small TLP data packets according to the splitting mode determined by the adaptive algorithm module, and the intelligent buffer management module is used to transmit the small TLP data packets to the data receiving end device; in the adaptive algorithm module, when the receiving bit error rate fed back by the data receiving end device is not received, the original TLP data packet is split according to the set splitting mode; after receiving the receiving bit error rate fed back by the data receiving end device, the splitting mode of the next original TLP data packet is determined according to the receiving bit error rate, the larger the receiving bit error rate, the smaller the byte number of the small TLP data packet after splitting, and the smaller the receiving bit error rate, the larger the byte number of the small TLP data packet after splitting; the bit error rate detection module is connected with the data receiving end device, the adaptive unpacking algorithm module is connected with the bit error rate detection module, the original TLP data packet is connected with the data packet splitting module and the adaptive unpacking algorithm module, and the intelligent buffer management module is connected with the bit error rate detection module and the data packet splitting module.
[0021] The data receiving end device comprises a data packet receiving module, a data packet recombination module, a bit error rate information statistical module and a control data packet construction module, the data packet receiving module is used to receive and verify the small TLP data packets sent by the data sending end device and transmit the verified small TLP data packets to the data packet recombination module, the data packet recombination module is used to receive the verified small TLP data packets and recombine each small TLP data packet to obtain a recombined TLP data packet, the bit error rate information statistical module is used to calculate the information required for receiving bit error rate in the process of receiving and verifying the small TLP data packets and transmit it to the bit error rate information statistical module, and the bit error rate information statistical module is used to calculate the receiving bit error rate within a set time and feed back to the data sending end device after being constructed as a control data packet; the data packet receiving module is connected with the data sending end device, the data packet recombination module is connected with the data packet receiving module, the bit error rate information statistical module is connected with the data packet recombination module, and the control data packet construction module is connected with the data packet receiving module and the bit error rate information statistical module.
[0022] Preferably, the error rate information counting module comprises a timer and a check error counter, the timer is used to count the set time, the check error counter is used to count the number of check errors of the small TLP data packet in the set time, the timer is connected with the data packet recombination module, the check error counter is connected with the timer, and the construction control data packet module is connected with the check error counter.
[0023] Further preferably, the timer starts counting when the recombination of one of the recombined TLP data packets is completed or one of the small TLP data packets is received.
[0024] In one embodiment, in the adaptive disassembly algorithm module, n intervals are divided according to the value range of the received error rate, and the byte number of the small TLP data packet corresponding to each interval is preset, n is a positive integer greater than 1, then after receiving the received error rate fed back by the data receiving end device, the adaptive disassembly algorithm module determines the byte number of the small TLP data packet corresponding to the interval where the received error rate is located, and the data packet disassembly module disassembles the next original TLP data packet according to the byte number of the small TLP data packet determined by the adaptive disassembly algorithm module.
[0025] Further, in the adaptive disassembly algorithm module, n intervals are divided according to the value range of the received error rate from large to small, and the byte number of the small TLP data packet corresponding to the mth interval is preset. m-1 a, m is an integer and 1≤m≤n, a is a positive integer; the byte number of the small TLP data packet corresponding to the nth interval is preset. n-1 a is less than or equal to the byte number of the original TLP data packet.
[0026] Further, in the adaptive disassembly algorithm module, when the received error rate fed back by the data receiving end device is not received, the byte number of the small TLP data packet obtained by disassembling the original TLP data packet is a.
[0027] In a preferred embodiment, the small TLP data packet includes a serial number and a check code. In the data receiving end device, the data packet receiving module performs serial number check and check code check on the small TLP data packet. When the small TLP data packet fails the check, the data packet receiving module stops receiving the small TLP data packet and sends the check information to the construction control data packet module. The construction control data packet module constructs the check information into a control data packet and feeds it back to the data sending end device; in the data sending end device, the bit error rate detection module sends the check information to the intelligent buffer management module. The intelligent buffer management module resends the small TLP data packet that was not received to the data receiving end device based on the check information.
[0028] Furthermore, the verification information includes the serial number of the small TLP data packet that has been received and verified by the data receiving end device. Then, in the data sending end device, the bit error rate detection module clears the small TLP data packet that has been received and verified by the data receiving end device based on the verification information and sends the small TLP data packet that has not been received.
[0029] Due to the application of the above technical solution, the present invention has the following advantages compared with the prior art:
[0030] 1. This invention intelligently adjusts packet size and verification strategies by monitoring channel metrics like bit error rate in real time, effectively addressing the high retransmission overhead and bandwidth waste associated with traditional fixed-size packet transmission in high-bit error rate environments. This solution automatically splits packets into smaller ones and adds verification when the bit error rate is high, significantly reducing the amount of retransmitted data and improving channel resource utilization efficiency.
[0031] 2. When channel quality is good, this invention splits packets into larger packets and optimizes verification overhead, effectively overcoming the shortcomings of traditional small data packet transmission methods, which waste resources due to protocol overhead in low bit error rate environments, and improving channel utilization efficiency. By rationally adjusting packet size and verification strategies, it effectively reduces the control information transmission overhead caused by frequent small packet transmission, improving overall data transmission efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Attachment Figure 1 It is a principle block diagram of the data sending end device in the data transmission system of the present invention.
[0033] Attachment Figure 2 It is a principle block diagram of a data receiving end device in the data transmission system of the present invention. DETAILED DESCRIPTION
[0034] The present invention will be further described below with reference to the embodiments shown in the accompanying drawings.
[0035] Embodiment one: a data transmission method, comprising the following steps:
[0036] Step 1: at the data sending end, split the original TLP data packet to be sent into several small TLP data packets.
[0037] In this step 1, the splitting method of the original TLP data packet needs to be determined, that is, how many bytes of small TLP data packets the original TLP data packet is split into. In general, the original TLP data is split evenly.
[0038] There are two schemes to determine the splitting method of the original TLP data packet: one scheme is to split the original TLP data packet according to the pre-set splitting method, and the other scheme is to split the original TLP data packet according to the reception error rate of the communication channel. The application scenarios of the two schemes are different. When the reception error rate of the communication channel is not known, the original TLP data packet can be split according to the pre-set splitting method, and when the reception error rate of the communication channel is known, the original TLP data packet can be split according to the reception error rate of the communication channel. The reception error rate of the communication channel can be obtained by the data receiving end.
[0039] The split small TLP data packet includes a sequence number and a check code (such as a CRC check code) for the receiving end to check and recombine.
[0040] Step 2: the data sending end transmits each small TLP data packet to the data receiving end in turn.
[0041] Step 3: at the data receiving end, receive each small TLP data packet and perform verification. If all the small TLP data packets split from the original TLP data are received and verified, the small TLP data packets are recombined to obtain a recombined TLP data packet, thereby completing the data packet transmission process.
[0042] In the process of receiving and verifying the small TLP data packet, the reception error rate within a set time is counted and fed back to the data sending end, so that the data sending end can determine the splitting method of the original TLP data packet. Further, in step 1, when the reception error rate fed back by the data receiving end is not received, the original TLP data packet is split according to the set splitting method; after receiving the reception error rate fed back by the data receiving end, the next original TLP data packet is split according to the reception error rate. The splitting method of the same original TLP data packet is unchanged in the initial transmission stage and the subsequent retransmission stage.
[0043] After receiving the feedback of the data receiving end, the principle of determining the original TLP packet splitting mode in step 1 is: the greater the receiving error rate, the smaller the byte number of the small TLP packet after splitting, and the smaller the receiving error rate, the greater the byte number of the small TLP packet after splitting.
[0044] In the embodiment, the value range of the receiving error rate is divided into n (n is a positive integer greater than 1) intervals in advance, and each interval corresponds to the byte number of the preset small TLP packet. Then, after receiving the feedback of the data receiving end, the byte number of the corresponding small TLP packet is determined according to the interval of the receiving error rate, and the original TLP packet is split. The determination scheme of this splitting mode is simple and easy to implement. Further, the value range of the receiving error rate is divided into n intervals from large to small, and the byte number of the preset small TLP packet corresponding to the mth (m is an integer and 1≤m≤n) interval is 2 m-1 a (a is a positive integer, usually a is a power of 2), that is, the byte number of the small TLP packet corresponding to different receiving error rates changes in a multiple relationship. And the byte number of the preset small TLP packet corresponding to the nth interval is 2 n-1 a is less than or equal to the byte number of the original TLP packet.
[0045] A specific example is: the value range of the receiving error rate is divided into four intervals from large to small, which can be equally divided, and the byte number of the small TLP packet corresponding to the four intervals is 128 bytes, 256 bytes, 512 bytes and 1024 bytes. When the value of the receiving error rate is in the largest interval (the error rate is particularly large), the original TLP packet is split into multiple 128-byte small TLP packets for transmission, reducing the amount of retransmission and improving the transmission speed. When the value of the receiving error rate is in the smallest interval (the error rate is particularly small), the original TLP packet is split into multiple 1024-byte small TLP packets for transmission, reducing the consumption of sequence number and CRC check. For the interval with the smallest value of the receiving error rate, the byte number of the corresponding small TLP packet can be set to equal to the byte number of the original TLP packet, that is, at this time, the original TLP packet is not split but directly transmitted.
[0046] For the case where the receiving error rate of the data receiving end is not received, for example, when the data is transmitted for the first time, the byte number of the small TLP packet obtained by splitting the original TLP packet is set to a, that is, the original TLP packet is split in the smallest fragmentation mode, which prioritizes transmission reliability (sacrificing part of the efficiency) and quickly detects the actual receiving error rate through the first transmission.
[0047] To realize the splitting scheme of the original TLP data packet, the data receiving end needs to count the receiving error rate within a set time, and the following scheme can be used: at the data receiving end, after completing the recombination of a recombined TLP data packet or receiving a small TLP data packet, the time is started and the receiving error rate within the set time is counted. Specifically, after starting the time, the number of check errors of the small TLP data packet within the set time is counted, and then the receiving error rate is obtained according to the number of check errors. The calculation of the receiving error rate can be based on the existing calculation method. The set time can be set as needed, for example, set to 2 minutes, and then the number of check errors is counted within 2 minutes to obtain the information of the receiving error rate.
[0048] In step 3, the data receiving end receives each small TLP data packet until a recombined TLP data packet is obtained, which includes the following process: at the data receiving end, the small TLP data packet transmitted by the data sending end is received. After receiving each small TLP data packet, the sequence number and check code of the small TLP data packet are checked. For the small TLP data packet that passes the double verification, it is put into the sequence of the data packet to be recombined, and when the small TLP data packet does not pass the check, the data receiving end stops receiving the current and subsequent small TLP data packets and feeds back the check information to the data sending end, that is, as long as the check error is detected, the data sending end is requested to perform data retransmission. The check information fed back includes the sequence number of the small TLP data packet that has been received and checked by the data receiving end, and then the data sending end re-sends the small TLP data packet that has not been received according to the check information. The specific method can be that the data sending end clears the small TLP data packet that has been received and checked by the data receiving end according to the check information and sends the small TLP data packet that has not been received. The data receiving end receives each small TLP data packet again and checks it. If the situation of not passing the check occurs again, new check information is sent to the data sending end, and the retransmission of the small TLP data packet is performed again until each small TLP data packet split from the original TLP data packet is transmitted, and then the recombination of the small TLP data packet is performed.
[0049] It can be seen that in the above method, the information sent by the data receiving end to the data sending end includes the following two kinds: one is the receiving error rate, which is used by the data sending end to determine the splitting scheme of the original TLP data packet, and the other is the sequence number of the small TLP data packet that has passed the check, which is used by the data sending end to screen the small TLP data packet that needs to be retransmitted. The information sent by the data receiving end to the data sending end can be collectively referred to as control data packet.
[0050] By the above scheme, real-time monitoring of channel indicators such as bit error rate is realized, and the data packet size and checking strategy are intelligently adjusted, thereby effectively solving the problems of large retransmission overhead and waste of bandwidth of the traditional fixed-size data packet transmission mode in a high bit error rate environment, and the problems of waste of protocol overhead resources caused by frequent small packet transmission in a low bit error rate environment. The scheme can significantly reduce the amount of retransmitted data and improve the utilization efficiency of channel resources when the bit error rate is high; it can improve the utilization efficiency of the channel and effectively reduce the transmission overhead of control information caused by frequent small packet transmission, thereby improving the overall efficiency of data transmission when the bit error rate is low. At the same time, the data receiving end realizes comprehensive monitoring and evaluation of the channel quality through the CRC error checking and counting mechanism, ensuring that the sending end obtains the most accurate channel state information, thereby realizing more accurate transmission strategy adjustment and improving the intelligent level of data transmission.
[0051] Embodiment two: a data transmission system comprising a data sending end device and a data receiving end device. The data sending end device is used to transmit data to the data receiving end device and receive information fed back by the data receiving end device, and the data receiving end device is used to receive data sent by the data sending end device and feed back information required by the data sending end device.
[0052] As shown in the accompanying drawings, Figure 1 the data sending end device comprises a bit error rate detection module, an adaptive packet splitting algorithm module, a data packet splitting module (i.e., a module for splitting an original TLP into small TLPs), and an intelligent buffer management module. The bit error rate detection module is connected to the data receiving end device, the adaptive packet splitting algorithm module is connected to the bit error rate detection module, the original TLP data packet is connected to the data packet splitting module, and the data packet splitting module is connected to the adaptive packet splitting algorithm module, and the intelligent buffer management module is connected to the bit error rate detection module and the data packet splitting module.
[0053] The bit error rate detection module is used to obtain the received bit error rate fed back by the data receiving end device and transmit it to the adaptive packet splitting algorithm module. The adaptive algorithm module is used to determine the splitting mode of the original TLP data packet. The data packet splitting module is used to split the original TLP data packet to be sent into a plurality of small TLP data packets according to the splitting mode determined by the adaptive algorithm module. The intelligent buffer management module is used to transmit the small TLP data packets to the data receiving end device.
[0054] In the adaptive algorithm module, when the data receiving end device does not feed back the receiving error rate, the original TLP data packet is split according to the preset splitting mode; after receiving the receiving error rate fed back by the data receiving end device, the splitting mode of the next original TLP data packet is determined according to the receiving error rate, and the larger the receiving error rate is, the smaller the byte number of the small TLP data packet after splitting is, and the smaller the receiving error rate is, the larger the byte number of the small TLP data packet after splitting is.
[0055] In a preferred scheme, in the adaptive packet splitting algorithm module, n (n is a positive integer greater than 1) intervals formed by dividing the value range of the receiving error rate are preset, and each interval corresponds to a preset byte number of the small TLP data packet; after receiving the receiving error rate fed back by the data receiving end device, the adaptive packet splitting algorithm module determines the byte number of the corresponding small TLP data packet according to the interval in which the receiving error rate is located, and then the packet splitting module splits the next original TLP data packet according to the byte number of the small TLP data packet determined by the adaptive packet splitting algorithm module.
[0056] For example, in the adaptive packet splitting algorithm module, n intervals formed by dividing the value range of the receiving error rate from large to small are preset, and the byte number of the small TLP data packet corresponding to the mth (m is an integer and 1≤m≤n) interval is 2 m-1 a (a is a positive integer, usually a power of 2). Among them, the byte number of the small TLP data packet corresponding to the nth interval is 2 n-1 a is less than or equal to the byte number of the original TLP data packet.
[0057] In this embodiment, in the adaptive packet splitting algorithm module, the value range of the receiving error rate is equally divided into four intervals from large to small, and the byte numbers of the small TLP data packets corresponding to the four intervals are 128 bytes, 256 bytes, 512 bytes and 1024 bytes respectively. When the value of the receiving error rate is in the largest interval (the error rate is particularly large), the original TLP data packet is split into multiple 128-byte small TLP data packets for transmission, reducing the amount of retransmission and improving the transmission speed. When the value of the receiving error rate is in the smallest interval (the error rate is particularly small), the original TLP data packet is split into multiple 1024-byte small TLP data packets for transmission, reducing the consumption of sequence number and CRC check. For the interval with the smallest value of the receiving error rate, the byte number of the corresponding small TLP data packet can be set to be equal to the byte number of the original TLP data packet, that is, at this time, the original TLP data packet is not split but directly transmitted.
[0058] In the adaptive unpacking algorithm module, when the receiving bit error rate feedback from the data receiving device is not received, for example, when data is transmitted for the first time, the number of bytes of the small TLP data packets obtained by splitting the original TLP data packet is a, that is, the original TLP data packet is split in the minimum fragmentation manner, giving priority to ensuring transmission reliability (at the expense of some efficiency), and quickly detecting the actual receiving bit error rate through the first transmission.
[0059] As attached Figure 2 As shown, the data receiving device includes a data packet receiving module, a data packet reassembly module (i.e., a small TLP reassembly module), a bit error rate information statistics module, and a data packet construction control module. The data packet receiving module is connected to the data transmitting device, the data packet reassembly module is connected to the data packet receiving module, the bit error rate information statistics module is connected to the data packet reassembly module, and the data packet construction control module is connected to the data packet receiving module and the bit error rate information statistics module, respectively.
[0060] The data packet receiving module is used to receive and verify the small TLP data packets sent by the data sending end device and transmit the verified small TLP data packets to the data packet reassembly module. The data packet reassembly module is used to receive the verified small TLP data packets and reassemble each small TLP data packet to obtain a reassembled TLP data packet. The bit error rate information statistics module is used to statistically calculate the information required for the reception bit error rate in the process of receiving and verifying the small TLP data packets and transmit it to the bit error rate information statistics module. The bit error rate information statistics module is used to count the reception bit error rate within a set time and construct it into a control data packet and then feed it back to the data sending end device.
[0061] Furthermore, the bit error rate information statistics module includes a timer and a check error counter. The timer is connected to the data packet reassembly module, the check error counter is connected to the timer, and the control data packet construction module is connected to the check error counter. The timer is used to count according to the set time. When the reassembly of a reassembled TLP data packet is completed or a small TLP data packet is received, the timer starts counting. The check error counter is used to count the number of check errors of the small TLP data packet within the set time. When the set time is reached, the control data packet construction module starts working, constructs a control data packet including the received bit error rate and transmits it to the data sending end device, waiting for the data sending end device to respond. The data sending end device changes the splitting method based on the received bit error rate and the next original TLP data packet to be transmitted and maintains the splitting method for a period of time until the received bit error rate feedback from the data receiving end device is received again, and then the splitting method is changed accordingly.
[0062] The small TLP data packet split by the data packet splitting module of the data sending end device includes a sequence number and a check code. In the data receiving end device, the sequence number check and the check code check are performed on the small TLP data packet in the data packet receiving module. When the small TLP data packet fails to pass the check, the data packet receiving module stops receiving the small TLP data packet and sends the check information to the control data packet constructing module. The control data packet constructing module feeds back the control data packet constructed from the check information to the data sending end device. That is, as long as the check error is detected, the data sending end device is requested to perform data retransmission, and the count of the check error counter is increased by 1. In the data sending end device, the error rate detection module sends the check information to the intelligent buffer management module. The intelligent buffer management module re-sends the small TLP data packet not received by the data receiving end device according to the check information. Specifically, the check information includes the sequence number of the small TLP data packet received and passed the check by the data receiving end device. In the data sending end device, the error rate detection module clears the small TLP data packet received and passed the check by the data receiving end device and sends the small TLP data packet not received according to the check information. After no retransmission, one-time or multiple-time retransmission, each small TLP data packet split from the original TLP data packet is transmitted, and then the recombination of the small TLP data packet is performed.
[0063] The above embodiments are only for illustrating the technical concept and characteristics of the present application, and the purpose is to enable those skilled in the art to understand the content of the present application and implement it, and cannot limit the protection scope of the present application. Any equivalent changes or modifications made according to the spirit and essence of the present application shall be covered within the protection scope of the present application.
Claims
1. A method of data transmission, characterized by: The data transmission method comprises the following steps: Step 1: at the data sending end, split the original TLP data packet to be sent into a plurality of small TLP data packets; Step 2: sequentially transmit each small TLP data packet from the data sending end to the data receiving end; Step 3: at the data receiving end, receive each small TLP data packet and perform verification, if all the small TLP data packets split from the original TLP data packet are received and verified, recombine each small TLP data packet to obtain a recombined TLP data packet; In the step 3, in the process of receiving and verifying the small TLP data packet, the reception error rate within a set time is counted and fed back to the data sending end; in the step 1, when the reception error rate fed back by the data receiving end is not received, the original TLP data packet is split according to the set splitting mode; after the reception error rate fed back by the data receiving end is received, the next original TLP data packet is split according to the reception error rate, the larger the reception error rate, the smaller the byte number of the small TLP data packet after splitting, and the smaller the reception error rate, the larger the byte number of the small TLP data packet after splitting; The small TLP data packet comprises a sequence number and a check code, and in the step 3, the small TLP data packet is subjected to sequence number verification and check code verification at the data receiving end, when the small TLP data packet fails to pass the verification, the data receiving end stops receiving the current and subsequent small TLP data packets and feeds back verification information to the data sending end, and the data sending end re-sends the unreceived small TLP data packet to the data receiving end according to the verification information; At the data receiving end, when the recombination of one recombined TLP data packet is completed or one small TLP data packet is received, the time counting and the reception error rate within a set time are started, after the time counting is started, the number of verification errors of the small TLP data packet within the set time is counted, and then the reception error rate is obtained according to the number of verification errors.
2. The data transmission method of claim 1, wherein: In the step 1, the value range of the reception error rate is divided into n intervals in advance, each interval corresponds to a preset byte number of the small TLP data packet, n is a positive integer greater than 1, and after the reception error rate fed back by the data receiving end is received, the byte number of the corresponding small TLP data packet is determined according to the interval of the reception error rate, and the original TLP data packet is split.
3. The data transmission method of claim 2, wherein: In step 1, the range of the received bit error rate is divided into n intervals from large to small in advance, and the number of bytes of the preset small TLP data packet corresponding to the mth interval is 2 m-1 a, m are integers and 1≤m≤n, a is a positive integer; the nth interval corresponds to the number of bytes of the preset small TLP data packet 2 n-1 a is less than or equal to the number of bytes of the original TLP data packet.
4. The data transmission method of claim 3, wherein: In the step 1, when the reception error rate fed back by the data receiving end is not received, the byte number of the small TLP data packet obtained by splitting the original TLP data packet is a.
5. The data transmission method of claim 1, wherein: The verification information comprises the sequence number of the small TLP data packet received and verified by the data receiving end, and the data sending end clears the small TLP data packet received and verified by the data receiving end according to the verification information and sends the unreceived small TLP data packet.
6. A data transmission system comprising a data transmitting end device and a data receiving end device, characterized in that: The data sending end device comprises: The error rate detection module is configured to acquire the receiving error rate fed back by the data receiving end device and transmit the receiving error rate to the adaptive unpacking algorithm module; The adaptive unpacking algorithm module is configured to determine a splitting mode for splitting the original TLP data packet; The data packet splitting module is configured to split the original TLP data packet to be sent into a plurality of small TLP data packets according to the splitting mode determined by the adaptive unpacking algorithm module; The intelligent buffer management module is configured to transmit the small TLP data packets to the data receiving end device. In the adaptive unpacking algorithm module, when the receiving error rate fed back by the data receiving end device is not received, the original TLP data packet is split according to the set splitting mode; after the receiving error rate fed back by the data receiving end device is received, the splitting mode of the next original TLP data packet is determined according to the receiving error rate, the larger the receiving error rate is, the smaller the byte number of the small TLP data packet after splitting is, and the smaller the receiving error rate is, the larger the byte number of the small TLP data packet after splitting is; The data receiving end device comprises: The data packet receiving module is configured to receive and check the small TLP data packets sent by the data sending end device and transmit the small TLP data packets passing the check to the data packet recombination module; The data packet recombination module is configured to receive the small TLP data packets passing the check and recombine the small TLP data packets to obtain a recombined TLP data packet; The error rate information statistical module is configured to calculate the information required for calculating the receiving error rate in the process of receiving and checking the small TLP data packets and transmit the information to the error rate information statistical module; The control data packet construction module is configured to calculate the receiving error rate within the set time and construct the receiving error rate into a control data packet and then feed back the control data packet to the data sending end device; The error rate information statistical module comprises a timer and a check error counter, the timer is configured to time according to the set time, the timer starts timing when the recombination of one recombined TLP data packet is completed or one small TLP data packet is received, and the check error counter is configured to count the number of check errors of the small TLP data packets within the set time, and then obtain the receiving error rate according to the number of check errors; The small TLP data packet comprises a serial number and a check code, in the data receiving end device, the data packet receiving module checks the small TLP data packet according to the serial number and the check code, when the small TLP data packet does not pass the check, the data packet receiving module stops receiving the current and subsequent small TLP data packets and sends check information to the control data packet construction module, the control data packet construction module constructs the check information into a control data packet and then feeds back the control data packet to the data sending end device; in the data sending end device, the error rate detection module sends the check information to the intelligent buffer management module, and the intelligent buffer management module re-sends the small TLP data packets not received to the data receiving end device according to the check information.
7. The data transmission system of claim 6, wherein: The adaptive unpacking algorithm module has n intervals formed by dividing the value range of the receiving error rate, and each interval corresponds to a preset byte number of the small TLP data packet, and n is a positive integer greater than 1. After receiving the receiving error rate fed back by the data receiving end device, the adaptive unpacking algorithm module determines the byte number of the small TLP data packet corresponding to the interval in which the receiving error rate is located, and the data packet splitting module splits the next original TLP data packet according to the byte number of the small TLP data packet determined by the adaptive unpacking algorithm module.
8. The data transmission system according to claim 7, wherein: The adaptive unpacking algorithm module has n intervals formed by dividing the value range of the received error rate from large to small, and the mth interval corresponds to the preset byte number of the small TLP data packet , m is an integer and 1≤m≤n, a is a positive integer; the nth interval corresponds to the preset byte number of the small TLP data packet , which is less than or equal to the byte number of the original TLP data packet.
9. The data transmission system of claim 8, wherein: In the adaptive unpacking algorithm module, when the receiving error rate fed back by the data receiving end device is not received, the byte number of the small TLP data packet obtained by splitting the original TLP data packet is a.
10. The data transmission system of claim 6, wherein: The check information includes the sequence number of the small TLP data packet that has been received and checked by the data receiving end device. In the data sending end device, the error rate detection module removes the small TLP data packet that has been received and checked by the data receiving end device according to the check information and sends the small TLP data packet that has not been received.
Citation Information
Patent Citations
Unmanned vehicle data transmission method based on QoS evaluation
CN115396946A
A method for improving transmission efficiency of wireless network channel
CN1567736A