Data link control method and device for dynamically adjusting sending length
By pre-stored multi-bandwidth transmission length information in Wi-Fi devices and using hardware logic to control the data handling boundaries, the transmission failure problem caused by channel environment changes is solved, the transmission success rate and transmission efficiency are improved, and resource consumption is reduced.
Patent Information
- Application Number
- CN202510680776.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-26
- Publication Date
- 2025-08-15
AI Technical Summary
In Wi-Fi devices, dynamic changes in the channel environment cause AMPDU transmission failure, resulting in waste of resources and reduced transmission efficiency, and it is difficult for the prior art to accurately adjust the transmission length to adapt to channel changes.
By pre-stored multi-bandwidth transmission length information in the PPDU descriptor data, dynamically adjust the transmission length, ensure that the prefetched data covers all possible scenarios, and use hardware logic to control the data handling boundaries to avoid software intervention.
It improves the transmission success rate, reduces resource consumption, adapts to existing Wi-Fi standards, reduces latency and resource waste, and ensures transmission efficiency.
Smart Images

Figure CN120499862A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technology, and in particular to a data link control method and device for dynamically adjusting a transmission length. Background Art
[0002] During Wi-Fi device operation, wireless channel quality changes dynamically, affected by a variety of factors, including environmental interference, physical obstructions, and transmission distance. At the software level, when attaching AMPDU (Aggregate MAC Protocol Data Unit) data to the transmission link, it is impossible to accurately predict the channel environment conditions at the sender at the time the AMPDU is actually transmitted. If the transmission process is interrupted or fails due to a mismatch between the channel environment and the preset AMPDU data length, it not only wastes the transmission window resources that have been contested, reduces transmission efficiency and stability, but also incurs additional power consumption.
[0003] Currently, some technical solutions primarily assess current channel quality through various means and adjust the aggregation level of AMPDUs accordingly to improve transmission success rates. However, under extreme environmental conditions, there may still be discrepancies between the pre-determined channel conditions and the actual channel environment at the time of transmission, which may still lead to transmission failures. Other technical solutions require both communicating parties to use specific methods to exchange information or rely on upper-layer software to perform calculations using statistical methods. These methods inevitably introduce additional system resource overhead, affecting overall system performance. Summary of the Invention
[0004] The object of the present invention is to provide a data link control method and device for dynamically adjusting the transmission length to improve the transmission success rate while ensuring low resource consumption.
[0005] In a first aspect, the present invention provides a data link control method for dynamically adjusting the transmission length, which is applied to a transmitting end of a Wi-Fi device; the method comprises: After competing for the sending window, the data prefetching process of the PPDU to be sent is started; During the data prefetch process, when the actual transmission bandwidth is obtained, the target transmission length corresponding to the actual transmission bandwidth is determined based on the multi-bandwidth transmission length information in the PPDU descriptor data of the PPDU to be transmitted; wherein the multi-bandwidth transmission length information is aligned with the MPDU granularity data, and the multi-bandwidth transmission length information includes the transmission lengths corresponding to the multiple transmission bandwidths; After the actual transmission starts, the target data of a data volume corresponding to the target transmission length is obtained, and the target data is sent using the actual transmission bandwidth.
[0006] In an optional embodiment, the above method further includes: When constructing a data linked list of AMPDUs in a to-be-sent PPDU, determining multi-bandwidth transmission length information based on the frame length of each MPDU in the AMPDU and the maximum transmission length corresponding to the preset multiple transmission bandwidths; In the process of generating the PPDU to be sent, the multi-bandwidth transmission length information is written into the PPDU descriptor data of the PPDU to be sent.
[0007] In an optional implementation manner, the transmission length corresponding to each transmission bandwidth in the multi-bandwidth transmission length information is a cumulative frame length of the MPDU that is less than or equal to a maximum value of the corresponding maximum transmission lengths.
[0008] In an optional embodiment, after determining the multi-bandwidth transmission length information based on the frame length of each MPDU in the AMPDU and the maximum transmission length corresponding to the preset multiple transmission bandwidths, the method further includes: Determine the data transmission end point corresponding to each transmission bandwidth according to the multi-bandwidth transmission length information; In the corresponding MPDU descriptor data of the AMPDU data link table, the end point flag corresponding to each transmission bandwidth is set.
[0009] In an optional embodiment, obtaining target data having a data volume corresponding to a target sending length includes: Determine whether the amount of current data pre-fetched has reached the target sending length; If the amount of current data reaches the target sending length, the data transfer operation is terminated, and the data in the current data corresponding to the target sending length is determined as the target data.
[0010] In an optional embodiment, an end point flag corresponding to each transmission bandwidth is set in the corresponding MPDU descriptor data of the data linked list of the AMPDU in the PPDU to be transmitted; and determining whether the amount of current data completed by prefetching reaches the target transmission length includes: Determine whether the MPDU descriptor data of the current data contains the target end point flag corresponding to the target transmission length; If the target end point flag is included, it is determined that the amount of current data reaches the target sending length.
[0011] In an optional embodiment, the above method further includes: During the data transfer process, a flag signal is recorded in a register. The flag signal is used to indicate that the end point flag corresponding to the corresponding transmission bandwidth has been detected and the data transfer of the corresponding MPDU has been completed. Determine whether the MPDU descriptor data of the current data contains the target end point flag corresponding to the target send length, including: It is determined whether the current flag signal recorded in the register contains the target flag signal corresponding to the target end point flag.
[0012] In a second aspect, the present invention provides a data link control device for dynamically adjusting the transmission length, which is applied to a transmitting end of a Wi-Fi device; the device includes: The data prefetch module is used to start the data prefetch process of the PPDU to be sent after competing for the sending window; a length determination module configured to, during a data prefetch process, determine, when an actual transmission bandwidth is obtained, a target transmission length corresponding to the actual transmission bandwidth based on multi-bandwidth transmission length information in the PPDU descriptor data of the PPDU to be transmitted; wherein the multi-bandwidth transmission length information is aligned with the MPDU granularity data and includes transmission lengths corresponding to multiple transmission bandwidths; The data sending module is used to obtain target data of a data volume corresponding to the target sending length after the actual sending starts, and send the target data using the actual sending bandwidth.
[0013] In a third aspect, the present invention provides an electronic device comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the processor executes the computer program, the method of any one of the aforementioned embodiments is implemented.
[0014] In a fourth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the method of any one of the aforementioned embodiments is executed.
[0015] The data link control method and apparatus for dynamically adjusting the transmission length provided by the present invention are applied to the transmitting end of a Wi-Fi device. After competing for a transmission window, a data prefetch process for a PPDU to be transmitted is initiated. During the data prefetch process, when the actual transmission bandwidth is obtained, a target transmission length corresponding to the actual transmission bandwidth is determined based on multi-bandwidth transmission length information in the PPDU descriptor data of the PPDU to be transmitted. The multi-bandwidth transmission length information is aligned with MPDU granularity data and includes transmission lengths corresponding to multiple transmission bandwidths. After the actual transmission begins, target data corresponding to the target transmission length is obtained, and the target data is transmitted using the actual transmission bandwidth. By pre-storing multi-bandwidth send length information aligned with MPDU granularity data in the PPDU descriptor data, it is ensured that pre-fetched data covers all possible scenarios, allowing the send length to be dynamically adjusted based on the actual send bandwidth. This approach does not require modifying the communication protocol or relying on specific interaction mechanisms, and can be adapted to existing Wi-Fi standards. Even in poor channel conditions, transmission efficiency can be guaranteed by sending partial data, reducing window waste. It relies entirely on hardware logic and PPDU descriptor data, requiring no software intervention, reducing latency and resource consumption, thereby improving the send success rate while ensuring low resource consumption. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the specific embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0017] Figure 1 A schematic flow chart of a data link control method for dynamically adjusting the transmission length provided by an embodiment of the present invention; Figure 2 A schematic diagram of a data linked list of an AMPDU provided in an embodiment of the present invention; Figure 3 A timing diagram of a first data transmission process provided by an embodiment of the present invention; Figure 4 A timing diagram of the second data transmission process provided by an embodiment of the present invention; Figure 5 A timing diagram of a third data transmission process provided by an embodiment of the present invention; Figure 6 A schematic flow chart of another data link control method for dynamically adjusting the transmission length provided by an embodiment of the present invention; Figure 7A timing diagram of a DMA control state during a data transmission process provided by an embodiment of the present invention; Figure 8 A schematic structural diagram of a data link control device for dynamically adjusting the transmission length provided by an embodiment of the present invention; Figure 9 A schematic structural diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0018] The technical solutions of the present invention are described clearly and completely below with reference to the embodiments. It is obvious that the embodiments described are only a portion of the embodiments of the present invention, not all of them. All other embodiments derived by persons of ordinary skill in the art based on the embodiments of the present invention without creative effort are also within the scope of protection of the present invention.
[0019] In actual operation, to avoid data interruptions during high-speed data transmission, the DMA (Direct Memory Access) module in Wi-Fi device hardware must perform data prefetching based on the Desc (Description) link within a period of time before actually sending data. The bandwidth information used for data transmission is typically determined in advance by the transmitter through air interface channel monitoring or dynamic bandwidth technology through RTS-CTS (Request to Send - Clear to Send) negotiation. Therefore, there is a certain lag between the time when the DMA starts data prefetching and when the DMA begins. Because the transmission bandwidth directly affects the effective length of the transmitted data, designing a data link control method that not only meets the DMA's data prefetch time requirements but also dynamically adjusts the transmission data length based on the actual transmission bandwidth is crucial for improving Wi-Fi device transmission efficiency and reducing overhead. Therefore, embodiments of the present invention provide a data link control method and apparatus for dynamically adjusting the transmission length. This method, through a multi-bandwidth prefetching mechanism based on a Desc linked list and dynamic adjustment of the transmission length, enables control of DMA prefetching and real-time bandwidth matching. Desc is metadata used to describe the frame structure and transmission parameters in PPDU and MPDU. It is usually used to identify information such as the frame type, length, and rate.
[0020] To facilitate understanding of this embodiment, a data link control method for dynamically adjusting the transmission length disclosed in an embodiment of the present invention is first introduced in detail.
[0021] The embodiment of the present invention provides a data link control method for dynamically adjusting the transmission length, which is applied to the transmitting end of a Wi-Fi device, which may be a STA (Station) accessing a Wi-Fi network. Figure 1 FIG. 1 is a flow chart of a data link control method for dynamically adjusting the transmission length, wherein the method mainly includes the following steps S110 to S130: Step S110: After competing for the sending window, the data pre-fetching process of the PPDU to be sent is started.
[0022] At the transmitting end, the MAC (Medium Access Control) layer first encapsulates the data to be transmitted into an MPDU (MAC Protocol Data Unit), which is then aggregated into an AMPDU. The aggregated AMPDU enters the PHY (Physical Layer) and generates a PPDU (PLCP Protocol Data Unit). The PPDU represents the format of the physical layer data packet, consisting of a preamble and data fields. The MPDU represents the format of the MAC layer data packet, generated by the MAC layer and consisting of a MAC header, data section, and trailer, used for data transmission on a wireless network. The AMPDU aggregates multiple MPDUs into a larger unit, and each MPDU frame has its own header and trailer. The MAC layer, a sublayer of the data link layer, manages how devices on a wireless network share the transmission medium to ensure orderly data packet transmission.
[0023] When multiple STAs share the same wireless channel, they must compete for a transmit window before sending data. After competing for a transmit window, the transmitter's DMA can prefetch data at an appropriate time based on design requirements before sending the PPDU. DMA is a technology that allows hardware devices to directly access system memory without the direct involvement of the CPU (Central Processing Unit). In Wi-Fi devices, DMA allows the MAC layer to directly read or write data from memory, making data transmission more efficient, especially when processing large amounts of data.
[0024] Step S120: During the data prefetch process, when the actual transmission bandwidth is obtained, a target transmission length corresponding to the actual transmission bandwidth is determined based on the multi-bandwidth transmission length information in the PPDU descriptor data of the PPDU to be transmitted; wherein the multi-bandwidth transmission length information is aligned with the MPDU granularity data, and the multi-bandwidth transmission length information includes transmission lengths corresponding to multiple transmission bandwidths.
[0025] The multi-bandwidth transmission length information is pre-stored by the transmitting end's software in the PPDU descriptor data. Based on this, the method further includes: when constructing a data linked list of AMPDUs in the PPDU to be transmitted, determining the multi-bandwidth transmission length information based on the frame length of each MPDU in the AMPDU and the maximum transmission length corresponding to multiple preset transmission bandwidths; and when generating the PPDU to be transmitted, writing the multi-bandwidth transmission length information into the PPDU descriptor data of the PPDU to be transmitted. Pre-storing the transmission lengths for various bandwidth conditions (i.e., the multi-bandwidth transmission length information) in Desc ensures that DMA prefetched data covers all possible scenarios, thus implementing a multi-bandwidth pre-storage mechanism.
[0026] The maximum send lengths corresponding to the aforementioned multiple send bandwidths are calculated by software. Optionally, to maximize send bandwidth utilization while aligning with MPDU granularity, the send length corresponding to each send bandwidth in the aforementioned multiple-bandwidth send length information is the cumulative MPDU frame length that is less than or equal to the maximum of the corresponding maximum send lengths. For example, if the maximum send length corresponding to a 40M bandwidth is 596, the size (i.e., frame length) of the first MPDU is 300, the size of the second MPDU is 200, and the size of the third MPDU is 100, then the send length corresponding to the 40M bandwidth is 500 (corresponding to the cumulative frame length of the first two MPDUs).
[0027] When the time reaches the actual sending moment and the final sending bandwidth condition is determined, the appropriate sending length can be obtained as the final target sending length based on the pre-stored multi-bandwidth sending length information.
[0028] Furthermore, after determining the multi-bandwidth transmission length information, the method further includes: determining the data transmission end point corresponding to each transmission bandwidth based on the multi-bandwidth transmission length information; and setting the end point flag corresponding to each transmission bandwidth in the corresponding MPDU descriptor data in the AMPDU data linked list. The "last flag" (i.e., the end point flag) in the MPDU desc facilitates precise control of DMA data transfer boundaries.
[0029] Step S130: After the actual transmission starts, target data of a data volume corresponding to the target transmission length is acquired, and the target data is transmitted using the actual transmission bandwidth.
[0030] When actual transmission begins, the hardware on the transmitting end automatically checks the current DMA data acquisition status to transmit target data that matches the actual transmission bandwidth. In some possible embodiments, obtaining the target data corresponding to the target transmission length may include: determining whether the amount of pre-fetched current data reaches the target transmission length; if the amount of current data does not reach the target transmission length, continuing the DMA data transfer operation; if the amount of current data reaches the target transmission length, terminating the DMA data transfer operation and determining the data corresponding to the target transmission length in the current data as the target data.
[0031] In one possible implementation, hardware can monitor the relationship between the current data length and the target send length to determine whether DMA should continue to transfer data. Specifically, if the current data length does not reach the target send length, DMA continues to transfer data; if the current data length reaches the target send length, DMA stops transferring data, aborting the data transfer operation. This approach eliminates the need to add a "last" flag to the MPDU Desc, reducing the workload on the sending software.
[0032] In another possible implementation, the corresponding MPDU descriptor data in the data linked list of the AMPDU in the PPDU to be transmitted contains an end point flag corresponding to each transmission bandwidth. It is then determined whether the MPDU descriptor data of the current data contains the target end point flag corresponding to the target transmission length. If the target end point flag is contained, it is determined that the data volume of the current data has reached the target transmission length. If the target end point flag is not contained, it is determined that the data volume of the current data has not reached the target transmission length. The target end point flag can be used to precisely control the DMA data transfer boundary.
[0033] To reduce software algorithm overhead, this embodiment also provides hardware logic for implementing a control flow that matches DMA prefetching with real-time bandwidth. When implemented in hardware, this control flow only requires a small number of registers to record whether the last flags for different transmission bandwidths in the MPDU descriptor have been detected and the corresponding MPDU data transfer has completed. If completed, a flag signal (i.e., a flag signal) is generated in the register. After transmission begins, the DMA operation is then terminated based on the actual transmission bandwidth and the recorded flag signal, requiring minimal changes to the original DMA logic. Based on this, the method further includes: during data transfer, recording a flag signal in a register, which indicates that the end point flag corresponding to the corresponding transmission bandwidth has been detected and the corresponding MPDU data transfer has completed. Determining whether the MPDU descriptor data of the current data contains a target end point flag corresponding to the target transmission length can be accomplished by determining whether the current flag signal recorded in the register contains a target flag signal corresponding to the target end point flag. If the current flag signal contains the target flag signal, the data volume of the current data is determined to have reached the target transmission length; if the current flag signal does not contain the target flag signal, the data volume of the current data is determined to have not reached the target transmission length. This pure hardware implementation avoids software algorithm overhead, has fast response speed and low power consumption.
[0034] The data link control method for dynamically adjusting the transmission length provided by embodiments of the present invention ensures that prefetched data covers all possible scenarios by pre-storing multi-bandwidth transmission length information aligned with MPDU granularity data in PPDU descriptor data. This allows for dynamic adjustment of the transmission length based on the actual transmission bandwidth. This method does not require modification of the communication protocol or reliance on specific interaction mechanisms and is adaptable to existing Wi-Fi standards. Even in poor channel conditions, partial data transmission can ensure transmission efficiency and reduce window waste. It has strong compatibility and high reliability, and relies entirely on hardware logic and PPDU descriptor data, eliminating the need for software intervention. This reduces latency and resource consumption, thereby improving the transmission success rate while ensuring low resource consumption.
[0035] For ease of understanding, refer to Figures 2 to 7 The data link control method for dynamically adjusting the transmission length is introduced in detail.
[0036] The data link table of AMPDU is as follows Figure 2 As shown, when constructing the data link table of AMPDU, the sending length under different sending bandwidth conditions is carried in PPDU Desc, such as Figure 2 The "bandwidth 1 transmission length, bandwidth 1 transmission length... bandwidth n transmission length" in the MPDU are aligned with the MPDU granularity data; the last flag of the corresponding bandwidth is set in different MPDUs in MPDU Desc, such as Figure 2 "Bandwidth 1 last flag, bandwidth 2 last flag, etc. Bandwidth n last flag" in the
[0037] based on Figure 2 In the linked list structure shown, DMA can select an appropriate time point to pre-fetch data according to design requirements before sending PPDU. When the time reaches the actual sending moment and the final sending bandwidth conditions are determined, the appropriate sending length can be obtained as the final target sending length based on the pre-stored multi-bandwidth sending length information.
[0038] When the actual transmission begins, the hardware automatically checks the current DMA data acquisition status, which is mainly divided into the following three types: 1) If the number of MPDUs currently acquired by DMA has not reached the target transmission length corresponding to the actual transmission bandwidth, that is, the MPDU data at the last mark position corresponding to the actual transmission bandwidth has not been acquired, the data transfer operation will continue until the MPDU data at the corresponding last mark position is acquired, and the acquisition is completed. Figure 3 As shown, at the start of sending, the actual sending bandwidth is determined to be bandwidth 2, and the length corresponding to MPDU1 to MPDU4 is the final sending length; at the start of sending, MPDU3 is obtained, and MPDU4 corresponding to the last flag of bandwidth 2 is not obtained, then DMA continues to fetch data.
[0039] 2) If the MPDU data currently obtained by DMA has exceeded the last flag corresponding to the actual transmission bandwidth condition, the DMA data transfer operation is terminated and the redundant data is cleared after the transmission is completed. Figure 4 As shown, at the start of sending, the actual sending bandwidth is determined to be bandwidth 1, and the length corresponding to MPDU1 to MPDU2 is the final sending length; when MPDU3 is obtained at the start of sending, it has exceeded the MPDU2 corresponding to the last flag of bandwidth 1, so DMA data acquisition is terminated.
[0040] 3) If the last flag of the matching MPDU is not detected, DMA will continue to obtain data until the end of the linked list in the default way. Figure 5 As shown in the figure, at the start of sending, the actual sending bandwidth is determined to be bandwidth 3, and there is no bandwidth 3 last flag until the end of the linked list. Therefore, the final sending length is the entire linked list; at the start of sending, MPDU3 is obtained, but the bandwidth 3 last flag is not obtained, so DMA continues to fetch data until the end of the linked list.
[0041] The workflow of DMA obtaining MPDU data is as follows Figure 6As shown in the figure, after competing for the sending window, DMA starts to prefetch data; after the sending bandwidth is determined, it is determined whether the Desc of the currently prefetched MPDU contains the actual sending bandwidth last flag; if so (that is, it contains the actual sending bandwidth last flag), DMA stops fetching data; if not (that is, it does not contain the actual sending bandwidth last flag), DMA continues to fetch the next MPDU data, and then determines whether all MPDU data on the entire PPDU chain has been obtained; if not (that is, not all MPDU data has been obtained), the step of determining whether the Desc of the currently prefetched MPDU contains the actual sending bandwidth last flag is re-executed; if so (that is, all MPDU data has been obtained), DMA ends data fetching.
[0042] Figure 6 The entire transmission process shown is fully controlled by hardware. Software only needs to ensure that the appropriate transmission length and last flag are configured for different transmission bandwidths when generating the Desc linked list. As long as there is available bandwidth, partial data can be transmitted. After the transmission is completed, the software uses the Block_Ack (block acknowledgment) frame sent by the receiver to confirm the number of the MPDU that was not successfully transmitted. The software can then remap it when generating the PPDU linked list for subsequent transmissions, preventing data loss. The Block_Ack frame is a mechanism used by the receiver in wireless LAN communications to acknowledge multiple data frames at once. This allows the receiver to confirm multiple data frames at once, avoiding the frequent transmission of ACK (Acknowledgment) frames, significantly reducing the number of acknowledgment frames on the channel and the probability of channel collisions and interference.
[0043] When implementing the above control flow in hardware, only a few registers are needed to record whether the last flags for different bandwidths in the MPDU descriptor have been detected and the corresponding MPDU data transfer has completed. If completed, the registers generate a flag signal. After transmission begins, the actual transmission bandwidth and the recorded flag signal are used to determine whether to terminate the DMA operation. This requires minimal changes to the original DMA logic. Figure 7 The working sequence diagram of sending using bandwidth 1 is shown as follows: Figure 7 As shown, DMA first detects the last flag of bandwidth 1, then the corresponding flag of the MPDU data corresponding to the last flag of bandwidth 1 is set, and then the last flag of bandwidth 2 is detected. After that, data is sent and it is determined that bandwidth 1 will be used. At this time, the flag of bandwidth 1 has taken effect, meeting the sending requirements, and DMA transfer operation is required after termination.
[0044] The embodiments of the present invention include the following key points: 1. Dynamic adjustment of hardware drivers: This approach completely relies on hardware logic and the Desc list, eliminating the need for software intervention and reducing latency and resource consumption.
[0045] 2. Multi-bandwidth pre-storage mechanism: Pre-store the send lengths for various bandwidth conditions in Desc to ensure that DMA prefetched data covers all possible scenarios.
[0046] 3. Flag control: Use the "last flag" in the MPDU Desc to accurately control the DMA data transfer boundary.
[0047] The embodiments of the present invention have the following advantages: 1. High efficiency and low power consumption: Pure hardware implementation avoids software algorithm overhead, resulting in fast response and low power consumption.
[0048] 2. Strong compatibility: Adapts to existing Wi-Fi standards without modifying communication protocols or relying on specific interaction mechanisms.
[0049] 3. High reliability: Even in poor channel conditions, transmission efficiency can be guaranteed by sending partial data, reducing window waste.
[0050] Corresponding to the above-mentioned data link control method for dynamically adjusting the transmission length, an embodiment of the present invention further provides a data link control device for dynamically adjusting the transmission length, which is applied to the transmitting end of a Wi-Fi device. Figure 8 The structure diagram of a data link control device for dynamically adjusting the transmission length is shown, and the device includes: The data prefetch module 801 is used to start the data prefetch process of the PPDU to be sent after competing for the sending window; The length determination module 802 is configured to, during the data prefetch process, determine a target transmission length corresponding to the actual transmission bandwidth based on the multi-bandwidth transmission length information in the PPDU descriptor data of the PPDU to be transmitted when the actual transmission bandwidth is obtained; wherein the multi-bandwidth transmission length information is aligned with the MPDU granularity data and includes transmission lengths corresponding to multiple transmission bandwidths; The data sending module 803 is configured to obtain target data of a data volume corresponding to the target sending length after the actual sending starts, and send the target data using the actual sending bandwidth.
[0051] The data link control device for dynamically adjusting the transmission length provided by embodiments of the present invention ensures that prefetched data covers all possible scenarios by pre-storing multi-bandwidth transmission length information aligned with MPDU granularity data in PPDU descriptor data. This allows for dynamic adjustment of the transmission length based on the actual transmission bandwidth. This approach does not require modifying the communication protocol or relying on specific interaction mechanisms, and is adaptable to existing Wi-Fi standards. Even in poor channel conditions, transmission efficiency can be guaranteed by sending partial data, reducing window waste. Furthermore, the device relies entirely on hardware logic and PPDU descriptor data, eliminating the need for software intervention. This reduces latency and resource consumption, thereby improving the transmission success rate while ensuring low resource consumption.
[0052] Furthermore, the above device also includes: A first determining module is configured to determine multi-bandwidth transmission length information according to a frame length of each MPDU in the AMPDU and a maximum transmission length corresponding to a plurality of preset transmission bandwidths when constructing a data linked list of AMPDUs in the PPDU to be transmitted; The information writing module is used to write the multi-bandwidth transmission length information into the PPDU descriptor data of the PPDU to be sent during the process of generating the PPDU to be sent.
[0053] Furthermore, the transmission length corresponding to each transmission bandwidth in the multi-bandwidth transmission length information is a cumulative frame length of the MPDU that is less than or equal to a maximum value of the corresponding maximum transmission lengths.
[0054] Furthermore, the above device also includes: A second determining module is configured to determine a data transmission end point corresponding to each transmission bandwidth according to the multi-bandwidth transmission length information; The flag setting module is used to set the end point flag corresponding to each transmission bandwidth in the corresponding MPDU descriptor data of the AMPDU data link table.
[0055] Furthermore, the above-mentioned data sending module 803 is specifically used to: determine whether the data volume of the current data completed by pre-fetching reaches the target sending length; if the data volume of the current data reaches the target sending length, terminate the data transfer operation, and determine the data in the current data corresponding to the target sending length as the target data.
[0056] Furthermore, the corresponding MPDU descriptor data of the data linked list of the AMPDU in the PPDU to be sent is provided with an end point flag corresponding to each transmission bandwidth; the data sending module 803 is further used to: determine whether the MPDU descriptor data of the current data contains a target end point flag corresponding to the target transmission length; if the target end point flag is contained, determine that the data volume of the current data reaches the target transmission length.
[0057] Furthermore, the apparatus further includes an information recording module configured to: during data transfer, record a flag signal via a register, the flag signal being used to indicate that an end point flag corresponding to a corresponding transmission bandwidth has been detected and data transfer of the corresponding MPDU has been completed; The data sending module 803 is further configured to determine whether the current flag signal recorded in the register includes a target flag signal corresponding to the target end point flag.
[0058] The device provided in this embodiment has the same implementation principle and technical effects as those of the aforementioned method embodiment. For the sake of brief description, for matters not mentioned in the device embodiment, reference may be made to the corresponding contents in the aforementioned method embodiment.
[0059] like Figure 9 As shown, an embodiment of the present invention provides an electronic device 900, including: a processor 901, a memory 902 and a bus, the memory 902 stores a computer program that can be run on the processor 901, when the electronic device 900 is running, the processor 901 and the memory 902 communicate through the bus, and the processor 901 executes the computer program to implement the above-mentioned data link control method for dynamically adjusting the transmission length.
[0060] Specifically, the memory 902 and processor 901 can be general-purpose memories and processors, which are not specifically limited here.
[0061] An embodiment of the present invention further provides a computer-readable storage medium storing a computer program that, when executed by a processor, executes the data link control method for dynamically adjusting the transmission length described in the preceding method embodiment. The computer-readable storage medium includes various media capable of storing program code, such as a USB flash drive, a mobile hard drive, a read-only memory (ROM), RAM, a magnetic disk, or an optical disk.
[0062] The term "and / or" herein simply describes an association relationship between associated objects, indicating that three relationships can exist. For example, "A and / or B" can represent the existence of three situations: A alone, A and B simultaneously, and B alone. Furthermore, the term "at least one" herein refers to any combination of at least two of any one or more of a plurality of items. For example, "at least one of A, B, and C" can represent any one or more elements selected from the set consisting of A, B, and C.
[0063] In all examples shown and described herein, any specific values should be interpreted as merely exemplary and not limiting, and thus other examples of the exemplary embodiments may have different values.
[0064] The flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions and operations of the devices, methods and computer program products according to multiple embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of the code, and the module, program segment or part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.
[0065] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of modules is only a logical function division. There may be other division methods in actual implementation. For example, multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interface, the indirect coupling or communication connection of the device or module can be electrical, mechanical or other forms.
[0066] Modules described as separate components may or may not be physically separate, and components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed across multiple network modules. Some or all of these modules may be selected to achieve the purpose of this embodiment based on actual needs.
[0067] In addition, each functional module in each embodiment of the present invention may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
[0068] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A data link control method for dynamically adjusting the transmission length, characterized in that: Applied to a transmitting end of a Wi-Fi device; the method comprises: After competing for the sending window, the data prefetching process of the PPDU to be sent is started; During the data prefetching process, when the actual transmission bandwidth is obtained, determining a target transmission length corresponding to the actual transmission bandwidth according to the multi-bandwidth transmission length information in the PPDU descriptor data of the PPDU to be transmitted; wherein the multi-bandwidth transmission length information is aligned with the MPDU granularity data, and the multi-bandwidth transmission length information includes transmission lengths corresponding to multiple transmission bandwidths; After the actual transmission starts, target data of a data volume corresponding to the target transmission length is acquired, and the target data is transmitted using the actual transmission bandwidth.
2. The method according to claim 1, characterized in that The method further comprises: When constructing a data linked list of AMPDUs in the to-be-sent PPDU, determining the multi-bandwidth transmission length information according to a frame length of each MPDU in the AMPDU and a maximum transmission length corresponding to a plurality of preset transmission bandwidths; In the process of generating the PPDU to be sent, the multi-bandwidth transmission length information is written into the PPDU descriptor data of the PPDU to be sent.
3. The method according to claim 2, characterized in that The transmission length corresponding to each transmission bandwidth in the multi-bandwidth transmission length information is a cumulative frame length of the MPDU that is less than or equal to the maximum value of the corresponding maximum transmission lengths.
4. The method according to claim 2, characterized in that After determining the multi-bandwidth transmission length information based on the frame length of each MPDU in the AMPDU and the maximum transmission length corresponding to the preset multiple transmission bandwidths, the method further includes: Determining a data transmission end point corresponding to each transmission bandwidth according to the multi-bandwidth transmission length information; In the corresponding MPDU descriptor data of the AMPDU data linked table, an end point flag corresponding to each of the transmission bandwidths is set.
5. The method according to claim 1, wherein The acquiring target data having a data volume corresponding to the target sending length includes: Determine whether the amount of current data pre-fetched reaches the target sending length; If the data volume of the current data reaches the target sending length, the data transfer operation is terminated, and the data in the current data corresponding to the target sending length is determined as the target data.
6. The method according to claim 5, characterized in that The corresponding MPDU descriptor data of the data linked list of the AMPDU in the PPDU to be sent is provided with an end point flag corresponding to each of the transmission bandwidths; The determining whether the amount of the current data pre-fetched reaches the target sending length includes: Determining whether the MPDU descriptor data of the current data includes a target end point flag corresponding to the target transmission length; If the target end point flag is included, it is determined that the data volume of the current data reaches the target sending length.
7. The method according to claim 6, characterized in that The method further comprises: During the data transfer process, a flag signal is recorded in a register, where the flag signal is used to indicate that an end point flag corresponding to the corresponding transmission bandwidth has been detected and that data transfer of the corresponding MPDU has been completed; The determining whether the MPDU descriptor data of the current data includes a target end point flag corresponding to the target sending length includes: It is determined whether the current flag signal recorded in the register includes a target flag signal corresponding to the target end point flag.
8. A data link control device for dynamically adjusting the transmission length, characterized in that: Applicable to the transmitting end of a Wi-Fi device; the device includes: The data prefetch module is used to start the data prefetch process of the PPDU to be sent after competing for the sending window; a length determination module, configured to, during a data prefetch process, determine, when an actual transmission bandwidth is acquired, a target transmission length corresponding to the actual transmission bandwidth based on multi-bandwidth transmission length information in the PPDU descriptor data of the PPDU to be transmitted; wherein the multi-bandwidth transmission length information is aligned with the MPDU granularity data and includes transmission lengths corresponding to multiple transmission bandwidths; The data sending module is used to obtain target data of a data volume corresponding to the target sending length after the actual sending starts, and send the target data using the actual sending bandwidth.
9. An electronic device comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, wherein: When the processor executes the computer program, the method according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is executed.
Citation Information
Cited By
Data transmission method and system and wireless local area network communication system
CN121568161A
Data transmission method, system and wireless local area network communication system
CN121568161B