Data transmission methods, master devices, wireless network communication technology chips
By having the master device determine the number of data frames aggregated and negotiate the threshold, the problem of throughput limitation due to storage space in wireless communication devices is solved, achieving efficient data transmission and storage optimization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-29
- Publication Date
- 2026-04-03
AI Technical Summary
Wireless communication devices determine the number of data frames to aggregate based on the size of the storage space, resulting in limited throughput and excessive storage requirements.
The number of data frames to be aggregated is determined by the master device, and a threshold is set by negotiating with the wireless communication device and the data receiving device. The master device first transmits attribute information and quantity information, and then transmits data frames to the wireless communication device in sequence for aggregation. The aggregated data frames are stored in the first-in-first-out buffer.
It reduces reliance on storage space in wireless communication devices, increases throughput, reduces equipment costs, and enhances market competitiveness.
Smart Images

Figure CN115426682B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a data transmission method, a host device, and a wireless network communication technology chip. Background Technology
[0002] In a wireless local area network (WLAN), the master device and the wireless communication device communicate via a bus. The master device generates data frames and transmits them to the wireless communication device via the bus. The Wi-Fi (Wireless Fidelity) chip operates within the wireless communication device, which provides a data path to transmit the data frames provided by the master device to the data receiving device.
[0003] To improve throughput, the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard uses A-MPDU (Aggregation Mac Protocol Data Unit) transmission. This means that the wireless communication device encapsulates the data frames provided by the master device into MPDUs (MAC Protocol Data Units), aggregates multiple MPDUs into a single A-MPDU, and then transmits the aggregated A-MPDU to the data receiving device.
[0004] Currently, the number of data frames aggregated is typically determined by the wireless communication device. The wireless communication device aggregates the received data frames into an A-MPDU when the number of data frames received from the master device reaches the determined aggregation number. This method of determining the aggregation number has two drawbacks: First, the storage space of the wireless communication device is limited, and the determined aggregation number depends on its storage space. Since the number of data frames aggregated directly affects throughput, an aggregation number determined based on the storage space of the wireless communication device severely limits throughput. Second, the wireless communication device only aggregates data frames when the number of received data frames reaches the aggregation number, thus requiring a large amount of storage space to store the data frames. These drawbacks demonstrate that the way the wireless communication device determines the aggregation number makes data transmission heavily dependent on the size of the wireless communication device's storage space. Summary of the Invention
[0005] In view of this, this application proposes a data transmission method, a master device, and a wireless network communication technology chip, aiming to reduce the storage space requirements of wireless communication devices for data transmission.
[0006] To achieve the above objectives, this application mainly provides the following technical solutions:
[0007] In a first aspect, this application provides a data transmission method applied to a master device, the data transmission method comprising the following steps:
[0008] The attribute information corresponding to the first number of data frames and the quantity information carrying the first number are transmitted to the wireless communication device, wherein the first number is not greater than a first threshold, and the first threshold is determined by negotiation between the wireless communication device and the data receiving device.
[0009] The first number of data frames are transmitted to the wireless communication device so that the wireless communication device can aggregate the data frames based on the attribute information and the first number carried by the quantity information.
[0010] The data transmission method provided in this application embodiment, when data frame transmission is required, firstly transmits the attribute information corresponding to a first number of data frames, along with quantity information carrying the first number, to the wireless communication device. Then, it transmits the first number of data frames to the wireless communication device so that the wireless communication device can aggregate the data frames based on the attribute information and the first number carried by the quantity information. It is evident that the first number of data frames required to aggregate one A-MPDU in the scheme provided in this application embodiment is determined by the master device, and the setting of the first number is only related to a first threshold negotiated between the wireless communication device and the data receiving device, and is unrelated to the size of the storage space in the wireless communication device. Furthermore, after transmitting the quantity information carrying the first number and the attribute information corresponding to all data frames to the wireless communication device, the wireless communication device has already obtained the necessary information for aggregating the A-MPDU. Therefore, after transmitting the quantity information and the attribute information corresponding to all data frames to the wireless communication device, the master device immediately transmits the first number of data frames to the wireless communication device so that the wireless communication device can aggregate the data frames based on the quantity information and attribute information. It is evident that the scheme provided in this application embodiment not only allows for flexible setting of the first number based on data transmission requirements but also reduces the dependence of data transmission on the storage space size of the wireless communication device.
[0011] In some embodiments, transmitting the first number of data frames to the wireless communication device includes: transmitting the data frames sequentially to the data transmission module of the master device based on the transmission order corresponding to the first number of data frames, wherein the data transmission module includes a plurality of first buffer spaces for caching data frames; for each data frame transmitted to the data transmission module: allocating a corresponding first buffer space for the data frame and storing the data frame in the allocated first buffer space; wherein the first buffer space allocated to the data frame is an idle first buffer space, and the previous first buffer space adjacent to it is currently occupied, and the next first buffer space connected to it is currently idle; when the transmission conditions are met, transmitting the data frames stored in the first buffer space to the wireless communication device.
[0012] In some embodiments, transmitting data frames cached in the first buffer space to the wireless communication device includes: detecting whether the first buffer space allocated to each target data frame is a contiguous first buffer space, wherein the target data frame is a data frame transmitted to the data transmission module before the transmission conditions are met, and the target data frame is a data frame among the first number of data frames; if not, adjusting the first buffer space allocated to each target data frame so that each target data frame is stored in a contiguous first buffer space; and transmitting the target data frames to the wireless communication device according to the transmission order of the first buffer spaces corresponding to each target data frame.
[0013] In some embodiments, before sequentially transmitting the data frames to the data transmission module of the master device based on the transmission order corresponding to the first number of data frames, the method further includes: caching the first number of data frames in a second cache space in the master device, wherein the second cache space is used to cache data frames; sequentially transmitting the data frames to the data transmission module of the master device based on the transmission order corresponding to the first number of data frames includes: sequentially reading data frames from the second cache space corresponding to each data frame based on the transmission order corresponding to the first number of data frames, and transmitting them to the data transmission module.
[0014] In some embodiments, after transmitting the first number of data frames to the wireless communication device, the method further includes: after each data frame is transmitted to the wireless communication device, performing the following steps: counting the total number of data frames transmitted to the wireless communication device; and when the total number reaches a second threshold, releasing the second buffer space corresponding to the data frame.
[0015] In some embodiments, after transmitting the first number of data frames to the wireless communication device, the method further includes: after each data frame is transmitted to the wireless communication device, performing the following: when the duration of the data frame transmission to the wireless communication device reaches a target duration, releasing the second buffer space corresponding to the data frame.
[0016] In some embodiments, transmitting attribute information corresponding to a first number of data frames and quantity information carrying the first number of data frames to the wireless communication device includes: transmitting the attribute information and the quantity information to the wireless communication device based on the priority corresponding to the first number of data frames.
[0017] In some embodiments, after transmitting the first number of data frames to the wireless communication device, the method further includes: if the wireless communication device sends a retransmission notification for the first data frame, retransmission processing of the first data frame is required after all the first number of data frames have been transmitted to the wireless communication device, wherein the first data frame is the data frame among the first number of data frames that needs to be retransmitted to the wireless communication device.
[0018] In some embodiments, retransmitting the first data frame includes: transmitting attribute information of all first data frames and total quantity information carrying the total number of first data frames to the wireless communication device; transmitting the first data frames to the wireless communication device so that the wireless communication device can perform aggregation processing on the first data frames based on the first quantity and the total quantity information.
[0019] In some embodiments, retransmission processing of the first data frame includes: when there are other data frames to be transmitted with the same priority as the first data frame, both the data frames to be transmitted with the same priority as the first data frame and the first data frame are selected as data frames to be selected; and determining a first number of data frames from the data frames to be selected.
[0020] In some embodiments, before assigning attribute information corresponding to the first number of data frames and quantity information carrying the first number, the method further includes: determining the total number of data frames to be transmitted with the same priority; and setting the first number based on the total number and the first threshold.
[0021] Secondly, this application provides a data transmission method applied to a wireless network communication technology chip in a wireless communication device. The data transmission method includes the following steps:
[0022] Based on the attribute information corresponding to a first number of data frames and the quantity information carrying the first number, the data frames transmitted by the master device are aggregated and the aggregated data frames are stored in a first-in-first-out (FIFO) buffer. The attribute information and the quantity information are provided by the master device, and the first number is not greater than a first threshold, which is determined by negotiation between the wireless communication device and the data receiving device. The data frames in the FIFO buffer are then transmitted to the data receiving device.
[0023] The data transmission method provided in this application, when data frame transmission is required, firstly wirelessly receives quantity information carrying a first quantity and attribute information corresponding to the first quantity of data frames transmitted by the master device. Then, based on the first quantity and attribute information, the data frames transmitted by the master device are aggregated, and the aggregated data frames are stored in a first-in-first-out (FIFO) buffer. Finally, the data frames in the FIFO buffer are transmitted to the data receiving device. It can be seen that in the scheme provided by this application embodiment, the first quantity of data frames required to aggregate one A-MPDU is determined by the master device, and the wireless network communication technology chip in the wireless communication device can perform aggregation processing based on the first quantity determined by the master device. Furthermore, since the wireless communication device transmits the aggregated data frames to the data receiving device at a certain transmission rate, the aggregated data frames may not be transmitted in a timely manner. Therefore, after obtaining the aggregated data frames, they are stored in a FIFO buffer. The existence of a FIFO (First-In, First-Out) buffer allows the wireless network communication chip in a wireless communication device to aggregate data frames without waiting for the initial number of data frames to be stored in its storage space. Instead, as data frames arrive, the chip aggregates the received data frames based on the initial number and attribute information sent by the master device, and stores the aggregated data frames in the FIFO buffer. Data is then promptly retrieved from the FIFO buffer and output to the data receiving device. Therefore, the FIFO buffer reduces the storage space required in wireless communication devices, thereby lowering costs and enhancing their market competitiveness.
[0024] In some embodiments, based on the attribute information corresponding to a first number of data frames and the quantity information carrying the first number, the data frames transmitted by the master device are aggregated, including: for each data frame received: detecting whether the data frame has been received completely based on the data length in the corresponding attribute information; if completed, adding a physical layer header to the data frame to obtain an aggregated data frame, wherein the physical layer header is used to aggregate the first number of data frames.
[0025] In some embodiments, after adding a physical layer header to the data frame to obtain the aggregated data frame, the method further includes: determining whether the total number of currently received data frames has reached the first number; if so, determining that the aggregation processing for the first number of data frames has ended.
[0026] In some embodiments, storing the aggregated data frame in a first-in-first-out (FIFO) buffer includes: allocating a corresponding cache space for the aggregated data frame in the FIFO buffer, and caching the aggregated data frame in the allocated cache space; wherein the cache space allocated for the data frame is a free cache space, and the adjacent previous cache space is currently occupied.
[0027] In some embodiments, allocating corresponding cache space for the aggregated data frame in the first-in-first-out (FIFO) buffer includes: selecting a FIFO buffer, wherein the priority of the selected FIFO buffer is the same as the priority carried by the attribute information; and allocating corresponding cache space for the aggregated data frame in the selected FIFO buffer.
[0028] In some embodiments, after transmitting the data frame of the first-in-first-out buffer to the data receiving device, the method further includes: upon receiving a retransmission notification for the first data frame from the data receiving device, transmitting the retransmission notification to the master device, wherein the first data frame is the data frame among the first number of data frames that needs to be retransmitted to the wireless communication device.
[0029] In some embodiments, after transmitting the data frames of the first-in-first-out buffer to the data receiving device, the method further includes: upon receiving a transmission completion notification from the data receiving device, transmitting to the master device a notification that the first number of data frames have been successfully transmitted to the data receiving device.
[0030] Thirdly, this application provides a main device, which includes:
[0031] The first transmission unit is used to transmit attribute information corresponding to a first number of data frames and quantity information carrying the first number to the wireless communication device, wherein the first number is not greater than a first threshold, and the first threshold is determined by negotiation between the wireless communication device and the data receiving device.
[0032] The second transmission unit is used to transmit the first number of data frames to the wireless communication device, so that the wireless communication device can aggregate the data frames based on the attribute information and the first number carried by the quantity information.
[0033] Fourthly, this application provides a wireless network communication technology chip, which includes:
[0034] An aggregation unit is configured to aggregate data frames transmitted by a master device based on attribute information corresponding to a first number of data frames and quantity information carrying the first number of data frames, and store the aggregated data frames in a first-in-first-out buffer; wherein the attribute information and the quantity information are provided by the master device, and the first number is not greater than a first threshold, the first threshold being determined through negotiation between the wireless communication device and the data receiving device;
[0035] The third transmission unit is used to transmit the data frames of the first-in-first-out buffer to the data receiving device.
[0036] Fifthly, this application provides a data transmission system, which includes: a main device according to the third aspect and a wireless communication device using a wireless network communication technology chip according to the fourth aspect.
[0037] Sixthly, this application provides a computer-readable storage medium, the storage medium including a stored program, wherein, when the program is running, it controls the device where the storage medium is located to execute the data transmission method of the first aspect, and / or execute the data transmission method of the second aspect.
[0038] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description
[0039] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0040] Figure 1 One of the flowcharts of the data transmission method provided in the embodiments of this application is shown;
[0041] Figure 2 This illustration shows a schematic diagram of the specific process of transmitting a first number of data frames to a wireless communication device according to an embodiment of this application;
[0042] Figure 3 A second flowchart of the data transmission method provided in an embodiment of this application is shown;
[0043] Figure 4 This application shows one of the structural schematic diagrams of the main device provided in an embodiment;
[0044] Figure 5 This is a second schematic diagram of the main device provided in an embodiment of this application;
[0045] Figure 6 This paper shows one of the structural schematic diagrams of the wireless network communication technology chip provided in an embodiment of this application;
[0046] Figure 7 This is a second schematic diagram of the structure of the wireless network communication technology chip provided in an embodiment of this application;
[0047] Figure 8 A schematic diagram of the data transmission system provided in an embodiment of this application is shown. Detailed Implementation
[0048] Exemplary embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
[0049] In a wireless local area network (WLAN), the master device and the wireless communication device communicate via a bus. The master device generates data frames and transmits them to the wireless communication device via the bus. The Wi-Fi chip operates within the wireless communication device, which provides a data path to transmit the data frames provided by the master device to the data receiving device.
[0050] The specific types of the aforementioned main device, wireless communication device, and data receiving device are not limited in this application embodiment, but are related to specific application scenarios. For example, in an IoT camera scenario, the main device is a camera, the wireless communication device is a wireless network card, and the data receiving device is a router. Furthermore, the specific configurations of the main device, wireless communication device, and data receiving device are not specifically limited in this application embodiment, and can be selected based on business requirements. The main device is a device equipped with an embedded chip or CPU, wherein the CPU can be an ARM running Linux, and the embedded chip is a RISC-V embedded chip. The main device runs WPA / CFG80211. The wireless communication device is equipped with an 80211 MAC. The bus between the main device and the wireless communication device can be any of the following: SDIO bus, USB bus, or SPI bus.
[0051] To improve throughput, the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard uses A-MPDU transmission, which means that the wireless communication device encapsulates the data frames provided by the master device into MPDUs, and then aggregates multiple MPDUs into a single A-MPDU before transmitting the aggregated A-MPDU to the data receiving device.
[0052] Currently, the number of data frames aggregated is typically determined by the wireless communication device. The wireless communication device aggregates the received data frames into an A-MPDU when the number of data frames received from the master device reaches the determined aggregation number. This method of determining the aggregation number has two drawbacks: First, the storage space of the wireless communication device is limited, and the determined aggregation number depends on its storage space. Since the number of data frames aggregated directly affects throughput, an aggregation number determined based on the storage space of the wireless communication device severely limits throughput. Second, the wireless communication device only aggregates data frames when the number of received data frames reaches the aggregation number, thus requiring a large amount of storage space in the wireless communication device to store the data frames. These drawbacks demonstrate that the method by which the wireless communication device determines the aggregation number makes data transmission heavily dependent on the size of the wireless communication device's storage space.
[0053] To overcome the aforementioned deficiencies, embodiments of this application provide a data transmission method, a master device, and a wireless network communication technology chip. In the data transmission method, master device, and wireless network communication technology chip provided in this application, the number of data frames aggregated is no longer determined by the wireless communication device, but rather by the master device. Furthermore, the wireless communication device does not need to wait for all data frames of the aggregated number to be stored in its storage space before performing aggregation processing. Instead, as data frames are received, the device aggregates the received data frames according to the aggregation number determined by the master device and the attribute information of the data frames to be transmitted. The device can then store the aggregated data frames in a first-in-first-out (FIFO) buffer, promptly retrieve data frames from the FIFO buffer, and output them to the data receiving device.
[0054] The data transmission method, main device, and wireless network communication technology chip provided in the embodiments of this application will be described in detail below.
[0055] like Figure 1 As shown, this application embodiment provides a data transmission method applied to a master device. The data transmission method mainly includes the following steps 101 to 102:
[0056] 101. Transmit the attribute information corresponding to the first number of data frames and the quantity information carrying the first number to the wireless communication device, wherein the first number is not greater than a first threshold, and the first threshold is determined by negotiation between the wireless communication device and the data receiving device.
[0057] The first quantity is the number of data frames aggregated, which limits the total number of data frames required to aggregate one A-MPDU. The first quantity is determined by the master device; therefore, the master device needs to determine the first quantity before step 101. The size of the first quantity determines the throughput. To obtain a larger throughput, the first quantity can be set larger, but the first quantity cannot exceed a first threshold. The first threshold is determined through negotiation between the wireless communication device and the data receiving device.
[0058] The specific process for determining the first quantity is as follows: determine the total number of data frames to be transmitted with the same priority; and set the first quantity based on the total number and the first threshold.
[0059] The specific process of determining the first quantity reveals that it is related to the following two factors:
[0060] Factor 1, the first threshold. The first threshold is a value negotiated between the wireless communication device and the data receiving device, which is an upper limit for a certain number. The number of data frames in each communication between the wireless communication device and the data receiving device is limited. Exceeding this number may cause communication abnormalities. Therefore, the wireless communication device and the data receiving device need to negotiate a maximum number, and this negotiated value can be used as the first threshold.
[0061] The process of negotiating the first threshold between the wireless communication device and the data receiving device can be as follows: The wireless communication device acts as the aggregation requester, and the data receiving device acts as the aggregation responder. The aggregation requester first sends an aggregation request ("addba req") to request the establishment of an aggregation path, carrying the aggregation number in the request. The aggregation responder replies with an aggregation response ("addba response"), specifying whether the aggregation number has been successfully negotiated. If the aggregation response indicates successful aggregation, the aggregation path is established, and the first threshold is the successfully negotiated aggregation number; subsequent data frames can be transmitted based on this first threshold. If the aggregation response indicates unsuccessful aggregation, the aggregation requester modifies the aggregation number and resends the aggregation request to establish the aggregation path, carrying the new aggregation number. The process is then adjusted according to the aggregation response from the aggregation responder. This process is repeated until the first threshold is successfully negotiated.
[0062] Factor two: the total number of data frames to be transmitted with the same priority. Data frames of different priorities cannot be aggregated into a single A-MPDU for transmission. All data frames involved in an A-MPDU should be of the same priority. Therefore, it is necessary to count the total number of data frames to be transmitted with the same priority, and determine the first quantity that satisfies that priority based on the total quantity and a first threshold, so as to transmit data frames of that priority with the most appropriate throughput under the first quantity.
[0063] Here, priority corresponds to the data type of the data frame. For example, data frames to be transmitted with the same priority are all data frames of the type "VIDEO".
[0064] It is evident that the determination of the first quantity depends only on the "total number of data frames to be transmitted with the same priority" and the "first threshold," and is unrelated to the size of the storage space in the wireless communication device. After determining the two factors, "total number of data frames to be transmitted with the same priority" and the "first threshold," the first quantity can be set based on these two factors. The principle for setting the first quantity based on the total number and the first threshold is to transmit data frames at the most appropriate throughput under the first quantity.
[0065] The specific method for setting the first quantity based on the total amount and the first threshold includes: when the total amount is not greater than the first threshold, setting the total amount as the first quantity; when the total amount is greater than the first threshold, splitting data frames to be transmitted with the same priority into at least two parts, with the number of data frames to be transmitted in each part not exceeding the first threshold, and determining the number of data frames in the part that needs to be transmitted at the moment as the first quantity.
[0066] After setting the initial quantity, it is necessary to determine the initial quantity of data frames. After determining the initial quantity of data frames, it is necessary to cache these data frames in the second cache space of the master device for easy management. The second cache space is used to cache data frames.
[0067] In order for the wireless communication device to know the number of data frames required to aggregate an A-MPDU, and which data frames are needed to aggregate an A-MPDU, it is necessary to transmit the attribute information corresponding to the first number of data frames, along with quantity information, to the wireless communication device. The attribute information includes the name, data length, and priority (ac information) of each identified data frame. The quantity information carries the first quantity to inform the wireless communication device of the number of data frames required to aggregate an A-MPDU.
[0068] The specific process of transmitting the attribute information corresponding to the first number of data frames and the quantity information carrying the first number of data frames to the wireless communication device includes: transmitting the attribute information and quantity information to the wireless communication device based on the priority corresponding to the first number of data frames.
[0069] The master device may have multiple data frames of different priorities that need to be transmitted to the wireless communication device at the same time. The transmission order of data frames with different priorities is different. Therefore, it is necessary to determine the transmission order of the data frames based on their priorities, and then transmit the quantity information and attribute information of all data frames to the wireless communication device according to the determined transmission order.
[0070] 102. Transmit a first number of data frames to a wireless communication device so that the wireless communication device can aggregate the data frames based on the first number carried by the attribute information and quantity information.
[0071] After transmitting the quantity information and the attribute information corresponding to all data frames to the wireless communication device, it indicates that the wireless communication device has obtained the necessary information required for the aggregation A-MPDU. Therefore, after transmitting the quantity information and the attribute information corresponding to all data frames to the wireless communication device, the master device immediately transmits the first number of data frames to the wireless communication device.
[0072] The specific process of transmitting the first number of data frames to the wireless communication device includes the following steps 102A to 102C:
[0073] 102A. Based on the transmission order corresponding to the first number of data frames, data frames are transmitted sequentially to the data transmission module of the master device, wherein the data transmission module includes multiple first buffer spaces for caching data frames.
[0074] The master device connects to the wireless communication device via a data transmission module, and data frames are transmitted to the wireless communication device through the data transmission module. The specific type of the data transmission module is not limited in this embodiment. For example, the data transmission module is a USB module.
[0075] After determining the first number of data frames, these data frames may not be transmitted to the data transmission module in a timely manner. To facilitate the management of these data frames, after determining the first number of data frames, before sequentially transmitting them to the data transmission module of the main device according to their corresponding transmission order, the first number of data frames need to be cached in a second buffer space within the main device. This second buffer space is used to cache the data frames. Therefore, the specific process of sequentially transmitting data frames to the data transmission module of the main device according to the transmission order of the first number of data frames is as follows: based on the transmission order of the first number of data frames, data frames are sequentially read from the second buffer space corresponding to each data frame and transmitted to the data transmission module.
[0076] 102B. For each data frame transmitted to the data transmission module: allocate a corresponding first buffer space for the data frame and store the data frame in the allocated first buffer space; wherein, the first buffer space allocated for the data frame is an idle first buffer space, and the previous first buffer space adjacent to it is currently occupied, and the next first buffer space connected to it is currently idle.
[0077] To reduce the number of first buffer spaces in the data transmission module, the data transmission module can maintain a packet sending table. The packet sending table records whether each first buffer space in the data transmission module is currently idle or occupied. Data frames are only transmitted to the data transmission module when the packet sending table determines that there is an idle first buffer space. When the data transmission module receives a data frame, it allocates the corresponding first buffer space for the data frame and stores the data frame in the allocated first buffer space. By maintaining a packet sending table, not only can the number of first buffer spaces be reduced, but also the loss of data frames due to insufficient idle first buffer space can be avoided.
[0078] To reduce data transmission frequency, the data transmission module only transmits its stored data frames to the wireless communication device when transmission conditions are met. Therefore, after a data frame is transmitted to the data transmission module, it is not immediately transmitted to the wireless communication device. Thus, a corresponding first buffer space needs to be allocated for each data frame transmitted to the data transmission module, and the data frame is stored in the allocated first buffer space. To avoid data frame loss, data frames are only transmitted to the data transmission module when the data transmission module is idle, and the first buffer space allocated to the data frame is in an idle state, with the adjacent first buffer space currently occupied and the next adjacent first buffer space currently idle.
[0079] 102C. When the transmission conditions are met, the data frames stored in the first buffer space are transmitted to the wireless communication device.
[0080] To reduce data transmission frequency, the data transmission module only transmits its stored data frames to the wireless communication device when transmission conditions are met. The methods for determining whether transmission conditions are met include the following two: First, when all first buffer spaces in the data transmission module are occupied, the transmission conditions are met. Second, when a second consecutive number of first buffer spaces in the data transmission module are occupied, the transmission conditions are met.
[0081] When the transmission conditions are met, the data frame stored in the first buffer space is transmitted to the wireless communication device. The specific process of transmitting the data frame stored in the first buffer space to the wireless communication device includes the following steps 102C1 to 102C3:
[0082] 102C1. Detect whether the first buffer space allocated to each target data frame is a contiguous first buffer space; if not, proceed to step 102C2; if yes, proceed to step 102C3.
[0083] The target data frame is the data frame transmitted to the data transmission module before the transmission conditions are met, and the target data frame is a data frame in the first number of data frames. When transmitting the data frames in the first number of data frames to the data transmission module, there may be interference from other data frames. Therefore, in order to avoid transmitting the data frames that cause interference together with the data frames in the first number of data frames to the wireless communication device, it is necessary to detect whether the first buffer space allocated to each target data frame is a contiguous first buffer space.
[0084] If it is detected that the first buffer space allocated to each target data frame is not a continuous first buffer space, it indicates that there is interference from other data frames during the transmission of each target data frame, so step 102C2 is executed.
[0085] If it is detected that the first buffer space allocated to each target data frame is a continuous first buffer space, it means that there is no interference from other data frames during the transmission of each target data frame, so step 102C3 is executed.
[0086] 102C2. Adjust the first buffer space allocated to each target data frame so that each target data frame is stored in a contiguous first buffer space.
[0087] If it is detected that the first buffer space allocated to each target data frame is not a contiguous first buffer space, it indicates that interference from other data frames exists during the transmission of each target data frame. To eliminate interfering data frames, the first buffer space allocated to each target data frame is adjusted so that each target data frame is stored in a contiguous first buffer space.
[0088] 102C3. Transmit the target data frames to the wireless communication device according to the transmission order of the first buffer space corresponding to each target data frame.
[0089] To transmit target data frames to a wireless communication device, the same header needs to be added to the target data frames. The header depends on the specific transmission protocol between the master device and the wireless communication device, and this embodiment does not impose any specific limitations. The same header is added to the target data frames, and the target data frames with the same header are transmitted to the wireless communication device according to the transmission order of the first buffer space corresponding to each target data frame.
[0090] The following is based on Figure 2 To illustrate the specific process of transmitting the first number of data frames to the wireless communication device, let's take an example:
[0091] Figure 2The diagram shows four data frames T0 that have been transmitted to the data transmission module out of the first number of data frames. These four data frames T0 are the target data frames. Each data frame T0 is stored in a corresponding first buffer space. Figure 2 The cell corresponding to data frame T0 represents the corresponding first buffer space. Figure 2 Line segment a represents the process of detecting whether the first buffer space allocated to the four data frames T0 is a contiguous first buffer space. It is found that due to the presence of other data frames T1, the first buffer space allocated to the four data frames T0 is not contiguous. Therefore, the process proceeds to the step corresponding to line segment b, "adjusting the first buffer space allocated to each target data frame." After adjustment, the four data frames T0 are stored in a contiguous first buffer space. The process then proceeds to the step corresponding to line segment c, "transmitting the four data frames T0 with the same header added to them to the wireless communication device according to the transmission order of the first buffer spaces corresponding to the four data frames T0."
[0092] Figure 2 In this table, A represents the packet sending table maintained by the data transmission module. When four data frames T0 are transmitted to the wireless communication device, the first buffer space corresponding to these four data frames T0 is released. Data frames are only transmitted to the data transmission module when there is free first buffer space recorded in the packet sending table. The corresponding first buffer space is then allocated to the data frame, and the data frame is stored in the allocated first buffer space. Figure 2 Line segment d in the diagram represents the process of storing newly transmitted data frames in the released first buffer space. Further, after transmitting the first number of data frames to the wireless communication device in step 102, the data transmission method applied to the master device further includes the following step: if the wireless communication device sends a retransmission notification for the first data frame, after all the first number of data frames have been transmitted to the wireless communication device, the first data frame needs to be retransmitted, wherein the first data frame is the data frame among the first number of data frames that needs to be retransmitted to the wireless communication device.
[0093] After a wireless communication device sends a data frame to a data receiving device, if the data receiving device successfully receives the data frame, it will send a successful reception response back to the wireless communication device. Data frames for which the wireless communication device does not receive a successful reception response are considered unsuccessfully transmitted data frames to the data receiving device; these are defined as the first data frame. Since the wireless communication device transmits data frames to the data receiving device through a first-in-first-out (FIFO) buffer, a data frame that has been transmitted to the data receiving device will not be present in the FIFO buffer. Therefore, the wireless communication device needs to send a retransmission notification for the first data frame to the master device, so that the master device can retransmit the first data frame back to the wireless communication device, and the wireless communication device can then retransmit the first data frame back to the data receiving device.
[0094] The methods for retransmitting the first data frame include the following two:
[0095] The first method involves transmitting the attribute information of all first data frames and the total amount information of the first data frames to a wireless communication device; transmitting the first data frames to the wireless communication device so that the wireless communication device can perform aggregation processing on the first data frames based on the first quantity and total amount information.
[0096] Since the first data frame is the data frame that needs to be retransmitted from the first number of data frames, the number of the first number of frames will not exceed the first number. Therefore, the total amount information of the first data frames and the attribute information of all the first data frames will be transmitted to the wireless communication device. Immediately after transmitting the total amount information and the attribute information of the first data frames, the first data frames will be transmitted to the wireless communication device so that the wireless communication device can perform aggregation processing on the first data frames based on the total amount information and attribute information, and then transmit them to the data receiving device after aggregation processing.
[0097] The second method involves, when there are other data frames to be transmitted with the same priority as the first data frame, both the data frames to be transmitted with the same priority as the first data frame and the first data frame are used as data frames to be selected; and a first number of data frames are determined from the data frames to be selected.
[0098] To fully utilize the channel between the wireless communication data and the data receiving device, when there are other data frames with the same priority as the first data frame to be transmitted, both the data frames with the same priority as the first data frame and the first data frame are considered as candidate data frames. A first number of data frames are then determined from these candidate data frames. Information carrying the first number of data frames, along with the attribute information corresponding to the determined first number of data frames, is transmitted to the wireless communication device so that the wireless communication device can perform aggregation processing on the data frames based on the number and attribute information.
[0099] Furthermore, since the number of second buffer spaces used to store data frames in the master device is limited, it is necessary to release the second buffer space in a timely manner to store new data frames to be transmitted to the wireless communication device. Therefore, after transmitting the first number of data frames to the wireless communication device in step 102 above, the data transmission method applied to the master device also includes a scheme for releasing the second buffer space. This scheme for releasing the second buffer space includes the following two methods:
[0100] The first method involves performing the following steps after each data frame is transmitted to the wireless communication device: counting the total number of data frames transmitted to the wireless communication device; and releasing the second buffer space corresponding to the data frame when the total number reaches a second threshold.
[0101] After each data frame is transmitted to the wireless communication device, the total number of data frames transmitted to the wireless communication device is counted. When the total number reaches a second threshold, it indicates that the data frame has been successfully transmitted to the data receiving device with a high probability, and therefore the second buffer space corresponding to the data frame is released. If the total number does not reach the second threshold, it indicates that the data frame may not have been successfully transmitted to the data receiving device. In order to be able to retrieve the data frame in the event of a retransmission, the second buffer space corresponding to the data frame is not released, so that the data frame continues to be stored in its corresponding second buffer space.
[0102] The value of the second threshold can be determined based on business needs, and this embodiment does not impose a specific limitation. For example, the second threshold is 64.
[0103] The second method involves executing the following after each data frame is transmitted to the wireless communication device: when the transmission time of the data frame to the wireless communication device reaches the target duration, the second buffer space corresponding to the data frame is released.
[0104] After each data frame is transmitted to the wireless communication device, the transmission time to the wireless communication device is statistically analyzed. When the statistically analyzed time reaches the target time, it indicates that the data frame has been successfully transmitted to the data receiving device with a high probability, and therefore the second buffer space corresponding to the data frame is released. When the statistically analyzed time does not reach the target time, it indicates that the data frame may not have been successfully transmitted to the data receiving device. Therefore, in order to be able to retrieve the data frame in the event of a retransmission, the second buffer space corresponding to the data frame is not released, and the data frame continues to be stored in its corresponding second buffer space.
[0105] The target duration can be determined based on business needs, and this embodiment does not impose a specific limitation. For example, the target duration is 1 second.
[0106] The data transmission method provided in this application embodiment, when data frame transmission is required, firstly transmits the attribute information corresponding to a first number of data frames, along with quantity information carrying the first number, to the wireless communication device. Then, it transmits the first number of data frames to the wireless communication device so that the wireless communication device can aggregate the data frames based on the attribute information and the first number carried by the quantity information. It is evident that the first number of data frames required to aggregate one A-MPDU in the scheme provided in this application embodiment is determined by the master device, and the setting of the first number is only related to a first threshold negotiated between the wireless communication device and the data receiving device, and is unrelated to the size of the storage space in the wireless communication device. Furthermore, after transmitting the quantity information carrying the first number and the attribute information corresponding to all data frames to the wireless communication device, the wireless communication device has already obtained the necessary information for aggregating the A-MPDU. Therefore, after transmitting the quantity information and the attribute information corresponding to all data frames to the wireless communication device, the master device immediately transmits the first number of data frames to the wireless communication device so that the wireless communication device can aggregate the data frames based on the quantity information and attribute information. It is evident that the scheme provided in this application embodiment not only allows for flexible setting of the first number based on data transmission requirements but also reduces the dependence of data transmission on the storage space size of the wireless communication device.
[0107] like Figure 3 As shown in the figure, this application provides a data transmission method, which is applied to the wireless network communication technology chip of a wireless communication device. The data transmission method mainly includes the following steps:
[0108] 201. Based on the attribute information corresponding to the first number of data frames and the quantity information carrying the first number, the data frames transmitted by the master device are aggregated and the aggregated data frames are stored in the first-in-first-out buffer; wherein, the attribute information and quantity information are provided by the master device, and the first number is not greater than a first threshold, the first threshold being determined by negotiation between the wireless communication device and the data receiving device.
[0109] In order to enable the wireless network communication technology chip to know the number of data frames required to aggregate an A-MPDU, and which data frames are needed to aggregate an A-MPDU, the wireless communication device receives quantity information carrying a first quantity and attribute information corresponding to the first quantity of data frames transmitted by the master device.
[0110] The first quantity is the number of data frames aggregated, which limits the total number of data frames required to aggregate one A-MPDU. The first quantity can be flexibly determined by the master device based on its own data transmission needs, and is limited only by a first threshold, independent of the storage space size in the wireless communication device. The first quantity is not greater than the first threshold, which is a value negotiated between the wireless communication device and the data receiving device, and is the upper limit for setting the first quantity. For a detailed explanation of the process of negotiating the first threshold between the wireless communication device and the data receiving device, please refer to step 101 above.
[0111] The attribute information is used to inform the wireless network communication technology chip which data frames are needed to aggregate an A-MPDU. The attribute information includes the name, data length, and priority (ac information) of each data frame in the initial number of data frames.
[0112] After the wireless communication device obtains the quantity information and the attribute information corresponding to the first quantity of data frames, it indicates that the wireless network communication technology chip has obtained the necessary information for aggregating A-MPDU. Therefore, when the master device transmits data frames to the wireless communication device, the wireless network communication technology chip performs aggregation processing on the data frames transmitted by the master device based on the first quantity carried by the attribute information and quantity information.
[0113] The specific process of aggregating data frames transmitted by the master device based on the attribute information corresponding to the first number of data frames and the quantity information carrying the first number of data frames includes: for each data frame received: detect whether the data frame has been received completely based on the data length in the corresponding attribute information; if it has been received completely, add a physical layer message header to the data frame to obtain the aggregated data frame, wherein the physical layer message header is used to aggregate the first number of data frames.
[0114] Upon receiving each data frame, the system determines whether it belongs to the first set of data frames based on the data frame name in the received attribute information. If it does, aggregation processing is required for that data frame. The system then checks whether the data frame reception is complete based on the data length carried in the corresponding attribute information. When the data frame reception is confirmed to be complete based on the data length carried in the corresponding attribute information, a physical layer header is added to the data frame, resulting in the aggregated data frame. The physical layer header is used to aggregate the first set of data frames and identifies which A-MPDU the data frame is aggregated into.
[0115] The first quantity limits the total number of data frames required to aggregate one A-MPDU. To ensure that the number in the A-MPDU is the first quantity, after adding a physical layer header to the data frame to obtain the aggregated data frame, it is determined whether the total number of data frames received has reached the first quantity. If it has, the aggregation processing for the first quantity of data frames is considered complete. If it has not, it means that the aggregation processing for the first quantity of data frames is not yet complete, and there are still data frames that have not been aggregated. Therefore, the reception of data frames transmitted by the master device continues.
[0116] Since wireless communication devices transmit aggregated data frames to data receiving devices at a certain transmission rate, the aggregated data frames may not be transmitted in time. Therefore, after obtaining the aggregated data frames, it is necessary to store them in a first-in-first-out buffer.
[0117] The purpose of a first-in, first-out (FIFO) buffer is to minimize the buffer space required to store data frames that have not yet been transmitted to the receiving device in a timely manner. The size of the FIFO buffer is only sufficient to store data frames that have not yet been sent to the receiving device.
[0118] The specific process of storing the aggregated data frame into the first-in-first-out (FIFO) buffer includes: allocating corresponding buffer space for the aggregated data frame in the FIFO buffer, and caching the aggregated data frame into the allocated buffer space; wherein the buffer space allocated to the data frame is a free buffer space, and the adjacent buffer space is currently occupied.
[0119] When storing the aggregated data frame in the FIFO buffer, the first step is to allocate corresponding buffer space for the aggregated data frame within the FIFO buffer. The specific process for allocating buffer space for the aggregated data frame in the FIFO buffer is as follows: First, select an FIFO buffer, where the priority of the selected FIFO buffer is the same as the priority carried in the attribute information. Then, allocate corresponding buffer space for the aggregated data frame within the selected FIFO buffer. Different priorities correspond to different FIFO buffers; therefore, it is necessary to select an FIFO buffer with the same priority as that carried in the attribute information.
[0120] To ensure that data frames in the first-in-first-out (FIFO) buffer are processed in a FIFO manner, the buffer space allocated to the aggregated data frames is free buffer space, and the adjacent buffer space is currently occupied.
[0121] 202. Transmit the data frames from the first-in-first-out buffer to the data receiving device.
[0122] The specific process of transmitting data frames from the first-in-first-out (FIFO) buffer to the data receiving device is as follows: according to the receiving order of the data frames, data is obtained from the FIFO buffer and output to the data receiving device.
[0123] When a wireless communication device processes a first number of data frames, the wireless network communication technology chip does not need to wait for all the first number of data frames to be stored in its storage space before performing aggregation processing. Instead, as data frames are received, the chip aggregates the received data frames based on the first number and attribute information carried by the quantity information sent by the master device. The aggregated data frames can be stored in the first-in-first-out buffer and data can be retrieved from the first-in-first-out buffer in a timely manner and output to the data receiving device.
[0124] Furthermore, after transmitting the data frame from the first-in-first-out buffer to the data receiving device in step 202 above, the data transmission method of the wireless network communication technology chip applied to the wireless communication device further includes the following steps: upon receiving a retransmission notification for the first data frame from the data receiving device, transmitting the retransmission notification to the master device, wherein the first data frame is the data frame that needs to be retransmitted to the wireless communication device from the first number of data frames.
[0125] After a wireless communication device sends a data frame to a data receiving device, if the data receiving device successfully receives the data frame, it will send a successful reception response back to the wireless communication device. Data frames for which the wireless communication device does not receive a successful reception response are considered unsuccessfully transmitted data frames to the data receiving device; these are defined as the first data frame. Since the wireless communication device transmits data frames to the data receiving device through a first-in, first-out (FIFO) buffer, a data frame that has been transmitted to the data receiving device will not exist in the FIFO buffer. Therefore, the wireless communication device needs to send a retransmission notification for the first data frame to the master device, so that the master device can retransmit the first data frame back to the wireless communication device, and the wireless communication device can then retransmit the first data frame back to the data receiving device.
[0126] The retransmission notification carries the name of the first data frame so that the master device can determine the first data frame that needs to be retransmitted.
[0127] Furthermore, after transmitting the data frames from the first-in-first-out buffer to the data receiving device in step 202 above, the data transmission method of the wireless network communication technology chip applied to the wireless communication device further includes the following steps: upon receiving a transmission completion notification from the data receiving device, transmitting a notification to the master device that a first number of data frames have been successfully transmitted to the data receiving device.
[0128] Upon receiving a transmission completion notification from the data receiving device, it indicates that the first number of data frames transmitted to the master device have been successfully transmitted to the data receiving device. In order to inform the master device of this situation, a notification is sent to the master device that the first number of data frames have been successfully transmitted to the data receiving device.
[0129] The data transmission method provided in this application embodiment, when data frame transmission is required, firstly wirelessly receives quantity information carrying a first quantity and attribute information corresponding to the first quantity of data frames transmitted by the master device. Then, based on the first quantity and attribute information, the data frames transmitted by the master device are aggregated, and the aggregated data frames are stored in a first-in-first-out (FIFO) buffer. Finally, the data frames in the FIFO buffer are transmitted to the data receiving device. It can be seen that in the scheme provided in this application embodiment, the first quantity of data frames required to aggregate one A-MPDU is determined by the master device, and the wireless network communication technology chip in the wireless communication device can perform aggregation processing based on the first quantity determined by the master device. Furthermore, since the wireless communication device transmits the aggregated data frames to the data receiving device at a certain transmission rate, the aggregated data frames may not be transmitted in a timely manner. Therefore, after obtaining the aggregated data frames, they are stored in a FIFO buffer. The existence of a FIFO (First-In, First-Out) buffer allows the wireless network communication chip in a wireless communication device to aggregate data frames without waiting for the initial number of data frames to be stored in its storage space. Instead, as data frames arrive, the chip aggregates the received data frames based on the initial number and attribute information sent by the master device, and stores the aggregated data frames in the FIFO buffer. Data is then promptly retrieved from the FIFO buffer and output to the data receiving device. Therefore, the FIFO buffer reduces the storage space required in wireless communication devices, thereby lowering costs and enhancing their market competitiveness.
[0130] Furthermore, based on the above-described embodiment of the data transmission method applied to the master device, another embodiment of this application also provides a master device, such as... Figure 4 As shown, the main equipment includes:
[0131] The first transmission unit 31 is used to transmit attribute information corresponding to a first number of data frames and quantity information carrying the first number to the wireless communication device, wherein the first number is not greater than a first threshold, and the first threshold is determined by negotiation between the wireless communication device and the data receiving device.
[0132] The second transmission unit 32 is used to transmit the first number of data frames to the wireless communication device so that the wireless communication device can aggregate the data frames based on the attribute information and the first number carried by the quantity information.
[0133] The master device provided in this application embodiment, when needing to transmit data frames, first transmits attribute information corresponding to a first number of data frames, along with quantity information carrying the first number, to the wireless communication device. Then, it transmits the first number of data frames to the wireless communication device so that the wireless communication device can aggregate the data frames based on the attribute information and the first number carried by the quantity information. It is evident that the first number of data frames required to aggregate one A-MPDU in the scheme provided in this application embodiment is determined by the master device, and the setting of the first number is only related to a first threshold negotiated between the wireless communication device and the data receiving device, and is unrelated to the size of the storage space in the wireless communication device. Furthermore, after transmitting the quantity information carrying the first number and the attribute information corresponding to all data frames to the wireless communication device, the wireless communication device has already obtained the necessary information for aggregating the A-MPDU. Therefore, after transmitting the quantity information and the attribute information corresponding to all data frames to the wireless communication device, the master device immediately transmits the first number of data frames to the wireless communication device so that the wireless communication device can aggregate the data frames based on the quantity information and attribute information. It is evident that the scheme provided in this application embodiment not only allows for flexible setting of the first number based on data transmission requirements but also reduces the dependence of data transmission on the storage space size of the wireless communication device.
[0134] Optional, such as Figure 5 As shown, the second transmission unit 32 includes:
[0135] The first transmission module 321 is used to transmit data frames sequentially to the data transmission module of the master device based on the transmission order corresponding to the first number of data frames. The data transmission module includes multiple first buffer spaces for caching data frames.
[0136] The first storage module 322 is used for each data frame transmitted to the data transmission module to: allocate a corresponding first buffer space for the data frame and store the data frame in the allocated first buffer space; wherein the first buffer space allocated for the data frame is an idle first buffer space, and the previous first buffer space adjacent to it is currently occupied, and the next first buffer space connected to it is currently idle;
[0137] The second transmission module 323 is used to transmit the data frames stored in the first buffer space to the wireless communication device when the transmission conditions are met.
[0138] Optional, such as Figure 5As shown, the second transmission module 323 is specifically used to detect whether the first buffer space allocated to each target data frame is a continuous first buffer space, wherein the target data frame is a data frame transmitted to the data transmission module before the transmission conditions are met, and the target data frame is a data frame in a first number of data frames; if not, the first buffer space allocated to each target data frame is adjusted so that each target data frame is stored in a continuous first buffer space; according to the transmission order of the first buffer space corresponding to each target data frame, the target data frames with the same message header are transmitted to the wireless communication device.
[0139] Optional, such as Figure 5 As shown, the second transmission unit 32 includes:
[0140] The second storage module 324 is used to cache the first number of data frames in a second cache space in the main device before sequentially transmitting the data frames to the data transmission module of the main device based on the transmission order corresponding to the first number of data frames, wherein the second cache space is used to cache data frames; and to read data frames sequentially from the second cache space corresponding to each data frame based on the transmission order corresponding to the first number of data frames, and transmit them to the data transmission module.
[0141] Optional, such as Figure 5 As shown, the main device also includes:
[0142] The first release unit 33 is configured to perform the following after the second transmission unit 33 transmits a data frame to the wireless communication device: count the total number of data frames transmitted to the wireless communication device; and release the second buffer space corresponding to the data frame when the total number reaches a second threshold.
[0143] Optional, such as Figure 5 As shown, the main device also includes:
[0144] The second release unit 34 is used to perform the following after the second transmission unit 33 transmits a data frame to the wireless communication device: when the duration of the data frame transmission to the wireless communication device reaches the target duration, release the second buffer space corresponding to the data frame.
[0145] Optional, such as Figure 5 As shown, the second transmission unit 32 is specifically used to transmit attribute information and quantity information to the wireless communication device based on the priority corresponding to the first number of data frames.
[0146] Optional, such as Figure 5 As shown, the main device also includes:
[0147] The retransmission unit 35 is used to retransmit the first data frame after all the first number of data frames have been transmitted to the wireless communication device when the wireless communication device sends a retransmission notification for the first data frame. The first data frame is the data frame that needs to be retransmitted to the wireless communication device from the first number of data frames.
[0148] Optional, such as Figure 5 As shown, the retransmission unit 35 is specifically used to transmit the attribute information of all first data frames and the total amount information of the first data frames to the wireless communication device; and to transmit the first data frames to the wireless communication device so that the wireless communication device can perform aggregation processing on the first data frames based on the first quantity and total amount information.
[0149] Optional, such as Figure 5 As shown, the retransmission unit 35 is specifically used to, when there are still data frames to be transmitted with the same priority as the first data frame, both the data frames to be transmitted with the same priority as the first data frame and the first data frame are used as data frames to be selected; and to select a first number of data frames from the data frames to be selected.
[0150] Optional, such as Figure 5 As shown, the main device also includes:
[0151] The determining unit 36 is used to determine the total number of data frames to be transmitted with the same priority before the selecting unit 31 selects the first number of data frames; and to set the first number based on the total number and the first threshold.
[0152] For a detailed explanation of the methods used by each functional module in the operation of the main device provided in this application embodiment, please refer to the corresponding method details of the above-described data transmission method embodiment applied to the main device, which will not be repeated here.
[0153] Furthermore, based on the above-described data transmission method embodiment applied to wireless communication devices, another embodiment of this application also provides a wireless network communication technology chip, such as... Figure 6 As shown, the wireless network communication technology chip includes:
[0154] Aggregation unit 41 is used to aggregate data frames transmitted by the master device based on attribute information corresponding to a first number of data frames and quantity information carrying the first number, and to store the aggregated data frames in a first-in-first-out buffer; wherein the attribute information and the quantity information are provided by the master device, and the first number is not greater than a first threshold, the first threshold being determined by negotiation between the wireless communication device and the data receiving device;
[0155] The third transmission unit 42 is used to transmit the data frames of the first-in-first-out buffer to the data receiving device.
[0156] The wireless network communication chip provided in this application embodiment, when data frame transmission is required, first wirelessly receives quantity information carrying a first quantity and attribute information corresponding to the first quantity of data frames transmitted by the master device. Then, based on the first quantity and attribute information, it performs aggregation processing on the data frames transmitted by the master device and stores the aggregated data frames in a first-in-first-out (FIFO) buffer. Finally, it transmits the data frames in the FIFO buffer to the data receiving device. It can be seen that in the scheme provided in this application embodiment, the first quantity of data frames required to aggregate one A-MPDU is determined by the master device, and the wireless network communication chip in the wireless communication device can perform aggregation processing based on the first quantity determined by the master device. Furthermore, since the wireless communication device transmits the aggregated data frames to the data receiving device at a certain transmission rate, the aggregated data frames may not be transmitted in a timely manner. Therefore, after obtaining the aggregated data frames, they are stored in a FIFO buffer. The existence of a FIFO (First-In, First-Out) buffer allows the wireless network communication chip in a wireless communication device to aggregate data frames without waiting for the initial number of data frames to be stored in its storage space. Instead, as data frames arrive, the chip aggregates the received data frames based on the initial number and attribute information sent by the master device, and stores the aggregated data frames in the FIFO buffer. Data is then promptly retrieved from the FIFO buffer and output to the data receiving device. Therefore, the FIFO buffer reduces the storage space required in wireless communication devices, thereby lowering costs and enhancing their market competitiveness.
[0157] Optional, such as Figure 7 As shown, the aggregation unit 41 includes:
[0158] The aggregation module 411 is used to: detect whether the data frame has been received completely based on the data length in the corresponding attribute information for each data frame received; if it has been received completely, add a physical layer message header to the data frame to obtain an aggregated data frame, wherein the physical layer message header is used to aggregate the first number of data frames.
[0159] Optional, such as Figure 7 As shown, the aggregation module 411 is also used to determine whether the total number of data frames currently received has reached the first number; if it has, it determines that the aggregation processing for the first number of data frames has ended.
[0160] Optional, such as Figure 7 As shown, the aggregation unit 41 includes:
[0161] The third storage module 412 is used to allocate corresponding cache space for the aggregated data frame in the first-in-first-out cache area, and cache the aggregated data frame in the allocated cache space; wherein, the cache space allocated for the data frame is a free cache space, and the adjacent previous cache space is currently occupied.
[0162] Optional, such as Figure 7 As shown, the third storage module 412 is specifically used to select a first-in-first-out (FIFO) buffer, wherein the priority of the selected FIFO buffer is the same as the priority carried by the attribute information; in the selected FIFO buffer, corresponding cache space is allocated for the aggregated data frame.
[0163] Optional, such as Figure 7 As shown, the wireless network communication technology chip also includes:
[0164] The fourth transmission unit 43 is used to transmit a retransmission notification to the master device when it receives a retransmission notification for the first data frame from the data receiving device, wherein the first data frame is a data frame that needs to be retransmitted to the wireless communication device from a first number of data frames.
[0165] Optional, such as Figure 7 As shown, the wireless communication device also includes:
[0166] The fifth transmission unit 44 is used to transmit a notification to the master device that a first number of data frames have been successfully transmitted to the data receiving device when it receives a transmission completion notification from the data receiving device.
[0167] For a detailed explanation of the methods used in the operation of each functional module in the wireless network communication technology chip provided in this application embodiment, please refer to the corresponding method details in the above-mentioned data transmission method embodiment applied to wireless communication devices, which will not be repeated here.
[0168] Furthermore, based on the above embodiments, another embodiment of this application also provides a data transmission system, such as... Figure 8 As shown, the data transmission system includes: the aforementioned main device 51 and a wireless communication device 52 that uses the aforementioned wireless network communication technology chip 521.
[0169] For details on the beneficial effects of the data transmission system provided in this application embodiment, please refer to the beneficial effects corresponding to the above-described main device and wireless communication device embodiments.
[0170] Furthermore, based on the above embodiments, another embodiment of this application also provides a computer-readable storage medium, the storage medium including a stored program, wherein, when the program is running, it controls the device where the storage medium is located to execute the above-described data transmission method applied to the main device, and / or executes the above-described data transmission method applied to the wireless network communication technology chip.
[0171] For details on the beneficial effects of the computer-readable storage medium provided in the embodiments of this application, please refer to the data transmission method applied to the main device, and / or the beneficial effects corresponding to the above-described data transmission method embodiments applied to wireless communication devices.
[0172] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0173] It is understood that the relevant features in the above methods and apparatus can be referenced interchangeably. Furthermore, the terms "first," "second," etc., in the above embodiments are used to distinguish between embodiments and do not represent the superiority or inferiority of any particular embodiment.
[0174] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0175] The algorithms and displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used in conjunction with the teachings herein. The required structure for constructing such systems is apparent from the above description. Furthermore, this application is not directed to any particular programming language. It should be understood that the content of this application described herein can be implemented using various programming languages, and the above description of specific languages is for the purpose of disclosing the best mode of implementation of this application.
[0176] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of this application may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.
[0177] Furthermore, those skilled in the art will understand that although some embodiments herein include certain features included in other embodiments but not others, combinations of features from different embodiments are intended to be within the scope of this application and form different embodiments. For example, in the following claims, any of the claimed embodiments can be used in any combination.
[0178] The various component embodiments of this application can be implemented in hardware, or as software modules running on one or more processors, or a combination thereof. Those skilled in the art will understand that microprocessors or digital signal processors (DSPs) can be used in practice to implement some or all of the functions of some or all of the components in the method, apparatus, and framework for operating the deep neural network model according to the embodiments of this application. This application can also be implemented as a device or apparatus program (e.g., a computer program and computer program product) for performing part or all of the methods described herein. Such an implementation of this application can be stored on a computer-readable medium, or can be in the form of one or more signals. Such signals can be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
[0179] It should be noted that the above embodiments are illustrative of this application and not restrictive, and that those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. This application can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names.
Claims
1. A data transmission method, characterized in that, Applied to a master device, the method includes: Determine the total number of data frames with the same priority to be transmitted; Based on the total amount and the first threshold, a first quantity is set; The first number of data frames, along with their corresponding attribute information and quantity information, are transmitted to the wireless communication device. This allows the wireless communication device to aggregate the received data frames based on the attribute information and the first number without waiting for the first number of data frames to be stored in its storage space. The aggregated data frames are then stored in a first-in-first-out (FIFO) buffer for transmission to the data receiving device. The first number is not greater than a first threshold and is independent of the size of the wireless communication device's storage space. The first threshold is determined through negotiation between the wireless communication device and the data receiving device. The first number represents the number of aggregated data frames. The first number of data frames are transmitted to the wireless communication device so that the wireless communication device can aggregate the data frames based on the attribute information and the first number carried by the quantity information; the attribute information includes the name, data length, and priority of each data frame in the first number of data frames.
2. The method according to claim 1, characterized in that, Transmitting the first number of data frames to the wireless communication device includes: Based on the transmission order corresponding to the first number of data frames, the data frames are transmitted sequentially to the data transmission module of the master device, wherein the data transmission module includes a plurality of first buffer spaces for caching data frames; For each data frame transmitted to the data transmission module: allocate a corresponding first buffer space for the data frame and store the data frame in the allocated first buffer space; wherein, the first buffer space allocated for the data frame is an idle first buffer space, and the previous first buffer space adjacent to it is currently occupied, and the next first buffer space connected to it is currently idle; When the transmission conditions are met, the data frames stored in the first buffer space are transmitted to the wireless communication device.
3. The method according to claim 2, characterized in that, Transmitting the data frames cached in the first buffer space to the wireless communication device includes: Detect whether the first buffer space allocated to each target data frame is a continuous first buffer space, wherein the target data frame is a data frame transmitted to the data transmission module before the transmission conditions are met, and the target data frame is a data frame among the first number of data frames; If not, adjust the first buffer space allocated to each of the target data frames so that each of the target data frames is stored in a contiguous first buffer space; The target data frames are transmitted to the wireless communication device according to the transmission order of the first buffer space corresponding to each target data frame.
4. The method according to claim 2, characterized in that, Before sequentially transmitting the data frames to the data transmission module of the master device based on the transmission order corresponding to the first number of data frames, the method further includes: The first number of data frames are cached in the second cache space in the master device, wherein the second cache space is used to cache data frames; Based on the transmission order corresponding to the first number of data frames, the data frames are sequentially transmitted to the data transmission module of the master device, including: Based on the transmission order corresponding to the first number of data frames, data frames are sequentially read from the second buffer space corresponding to each data frame and transmitted to the data transmission module.
5. The method according to claim 4, characterized in that, After transmitting the first number of data frames to the wireless communication device, the method further includes: After each data frame is transmitted to the wireless communication device, the following steps are performed: count the total number of data frames transmitted to the wireless communication device; when the total number reaches a second threshold, release the second buffer space corresponding to the data frame.
6. The method according to claim 4, characterized in that, After transmitting the first number of data frames to the wireless communication device, the method further includes: After each data frame is transmitted to the wireless communication device, the following action is taken: when the transmission time of the data frame to the wireless communication device reaches the target duration, the second buffer space corresponding to the data frame is released.
7. The method according to any one of claims 1-6, characterized in that, Transmitting attribute information corresponding to a first number of data frames, along with quantity information carrying the first number of data frames, to the wireless communication device includes: Based on the priority corresponding to the first number of data frames, the attribute information and the quantity information are transmitted to the wireless communication device.
8. The method according to any one of claims 1-6, characterized in that, After transmitting the first number of data frames to the wireless communication device, the method further includes: When the wireless communication device sends a retransmission notification for the first data frame, the first data frame needs to be retransmitted after all the first number of data frames have been transmitted to the wireless communication device. The first data frame is the data frame that needs to be retransmitted to the wireless communication device from the first number of data frames.
9. The method according to claim 8, characterized in that, The retransmission process for the first data frame includes: The attribute information of all first data frames and the total amount of information carrying the total number of first data frames are transmitted to the wireless communication device. The first data frame is transmitted to the wireless communication device so that the wireless communication device can perform aggregation processing on the first data frame based on the first quantity and the total quantity information.
10. The method according to claim 8, characterized in that, The retransmission process for the first data frame includes: When there are other data frames to be transmitted with the same priority as the first data frame, both the data frames to be transmitted with the same priority as the first data frame and the first data frame will be selected as data frames to be selected. A first number of data frames are determined from the data frames to be selected.
11. A data transmission method, characterized in that, A wireless network communication technology chip applied to wireless communication devices, the method comprising: The system acquires attribute information corresponding to a first number of data frames transmitted by the master device, as well as quantity information carrying the first number. The attribute information and quantity information allow the wireless communication device to aggregate received data frames based on the attribute information and the first number without waiting for the first number of data frames to be stored in its storage space. The first number is set by the master device based on a total quantity and a first threshold, where the total quantity is the total number of data frames with the same priority to be transmitted determined by the master device. The first number is the number of aggregated data frames. The attribute information includes the name, data length, and priority of each data frame in the first number of data frames. Based on the attribute information corresponding to the first number of data frames and the quantity information carrying the first number, the data frames transmitted by the master device are aggregated and the aggregated data frames are stored in the first-in-first-out buffer; wherein, the attribute information and the quantity information are provided by the master device, the first number is not greater than a first threshold, and the first number is independent of the size of the storage space of the wireless communication device, and the first threshold is determined by negotiation between the wireless communication device and the data receiving device; The data frames in the first-in-first-out buffer are transmitted to the data receiving device.
12. The method according to claim 11, characterized in that, Based on the attribute information corresponding to a first number of data frames and the quantity information carrying the first number, the data frames transmitted by the master device are aggregated, including: For each data frame received: detect whether the data frame has been received completely based on the data length in the corresponding attribute information; if complete, add a physical layer header to the data frame to obtain an aggregated data frame, wherein the physical layer header is used to aggregate the first number of data frames.
13. The method according to claim 12, characterized in that, After adding a physical layer header to the data frame to obtain the aggregated data frame, the method further includes: Determine whether the total number of data frames received has reached the first number; If this is achieved, the aggregation process for the first number of data frames is considered complete.
14. The method according to any one of claims 11-13, characterized in that, The aggregated data frames are stored in a first-in-first-out (FIFO) buffer, including: In the first-in-first-out buffer, a corresponding buffer space is allocated for the aggregated data frame, and the aggregated data frame is cached in the allocated buffer space; wherein, the buffer space allocated for the data frame is a free buffer space, and the previous buffer space adjacent to it is currently occupied.
15. The method according to claim 14, characterized in that, Allocating corresponding buffer space in the first-in-first-out buffer for the aggregated data frame includes: A first-in-first-out (FIFO) buffer is selected, wherein the priority of the selected FIFO buffer is the same as the priority carried by the attribute information; In the selected first-in-first-out buffer, a corresponding buffer space is allocated for the aggregated data frame.
16. The method according to any one of claims 11-13, characterized in that, After transmitting the data frames from the first-in-first-out buffer to the data receiving device, the method further includes: Upon receiving a retransmission notification for the first data frame from the data receiving device, the retransmission notification is transmitted to the master device, wherein the first data frame is the data frame that needs to be retransmitted to the wireless communication device from the first number of data frames.
17. The method according to any one of claims 11-13, characterized in that, After transmitting the data frames from the first-in-first-out buffer to the data receiving device, the method further includes: Upon receiving a transmission completion notification from the data receiving device, the master device transmits a notification that the first number of data frames have been successfully transmitted to the data receiving device.
18. A main device, characterized in that, The main device includes: A determining unit is configured to determine the total number of data frames to be transmitted with the same priority; and to set a first quantity based on the total number and a first threshold. The first transmission unit is configured to transmit attribute information corresponding to a first number of data frames, along with quantity information carrying the first number, to the wireless communication device. This allows the wireless communication device to aggregate the received data frames based on the attribute information and the first number without waiting for the first number of data frames to be stored in its storage space. The aggregated data frames are then stored in a first-in-first-out (FIFO) buffer for transmission to the data receiving device. The first number is not greater than a first threshold and is independent of the size of the wireless communication device's storage space. The first threshold is determined through negotiation between the wireless communication device and the data receiving device. The first number represents the number of aggregated data frames. The second transmission unit is used to transmit the first number of data frames to the wireless communication device, so that the wireless communication device can perform aggregation processing on the data frames based on the attribute information and the first number carried by the quantity information; the attribute information includes the name, data length, and priority of each data frame in the first number of data frames.
19. A wireless network communication technology chip for a wireless communication device, characterized in that, The wireless network communication technology chip includes: An aggregation unit is configured to aggregate data frames transmitted by the master device based on attribute information corresponding to a first number of data frames and quantity information carrying the first number, and store the aggregated data frames in a first-in-first-out buffer. The attribute information and quantity information allow the wireless communication device to aggregate received data frames as they arrive without waiting for the first number of data frames to be stored in its storage space. The attribute information and quantity information are provided by the master device, and the first number is not greater than a first threshold, and the first number is independent of the size of the wireless communication device's storage space. The first threshold is determined through negotiation between the wireless communication device and the data receiving device. The first number is set by the master device based on the total number and the first threshold, where the total number is the total number of data frames with the same priority to be transmitted, as determined by the master device. The first number is the number of aggregated data frames. The attribute information includes the name, data length, and priority of each data frame in the first number of data frames. The third transmission unit is used to transmit the data frames of the first-in-first-out buffer to the data receiving device.
20. A data transmission system, characterized in that, The data transmission system includes: the main device as described in claim 18 and a wireless communication device that uses the wireless network communication technology chip as described in claim 19.
21. A computer-readable storage medium, characterized in that, The storage medium includes a stored program, wherein, when the program is executed, it controls the device containing the storage medium to perform the data transmission method according to any one of claims 1 to 10, or to perform the data transmission method according to any one of claims 11 to 17.
Citation Information
Patent Citations
Packet aggregation
US20110019557A1