Bluetooth-based data transmission method, device and system and storage medium
By determining the data blocks to be repeatedly transmitted and normally transmitted in Bluetooth communication and building the current frame based on the receiving end parameters, the problem of low channel time utilization in Bluetooth communication is solved, and more efficient data transmission and system performance improvement is achieved.
Patent Information
- Application Number
- CN202510718903.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-30
- Publication Date
- 2025-07-18
AI Technical Summary
The channel time utilization rate in Bluetooth communication is low, resulting in low data transmission throughput, and the prior art has failed to effectively utilize idle channel time for data transmission.
By determining a plurality of target data blocks in a continuous multiple target data packets that need to be transmitted through the current frame, including at least one first data block to be repeatedly transmitted and at least one second data block for normal transmission, the number of duplications of the first data block is determined based on the transmission control parameters with the data receiving end, and the current frame is constructed for transmission.
It improves the reliability of data transmission, reduces packet loss, improves channel time utilization, and improves the overall performance and response speed of the system.
Smart Images

Figure CN120343532A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of data transmission, and in particular, to a Bluetooth-based data transmission method, a Bluetooth-based data transmission device, a Bluetooth-based data transmission system, and a computer-readable storage medium. Background Art
[0002] Bluetooth is a single-carrier frequency-hopping system that operates in the frequency band from 2400 MHz to 2480 MHz. Bluetooth technology hops frequencies within this band and uses a 1M or 2M frequency bandwidth for data transmission each time. The frequency-hopping technology can effectively avoid interference with other wireless devices. In the 2.4 GHz band, many other devices (such as Wi-Fi, microwave ovens, etc.) also use the same band for communication. By frequently switching frequencies, Bluetooth devices can avoid interference sources, thereby improving the reliability of communication.
[0003] In the related art, the master device and the slave device participating in the Bluetooth connection will pre-agree on the transmission time interval of the transmission event / sub-event. At the beginning of each transmission time interval of the transmission event / sub-event, the master device will first send a signal to the slave device. After receiving the data, the slave device will send a signal (including whether it has successfully received the data sent by the master device before) to the master device after a pre-agreed inter-frame space (IFS).
[0004] However, during the entire communication process, the transmission time interval is fixed, but the frame length of each transmission is not fixed. As a result, between the moment when the slave device finishes sending the signal and the moment when the next master device sends data, the channel will be in an idle state, resulting in low channel time utilization and affecting the throughput of data transmission. Summary of the Invention
[0005] To overcome the problems existing in the related art, an exemplary embodiment of the present disclosure provides a Bluetooth-based data transmission method, which is applied to a data sending end. The method includes: determining a plurality of target data blocks that need to be transmitted through the current frame among a plurality of consecutive target data packets, where the plurality of target data blocks include at least one first data block to be repeatedly transmitted and at least one second data block to be normally transmitted; determining the repetition number of the first data block based on the transmission control parameters between the data sending end and the data receiving end; constructing the current frame based on the first data block, the repetition number of the first data block, and the second data block; and sending the current frame to the data receiving end.
[0006] In some embodiments, determining the repetition number of the first data block based on the transmission control parameters between the data receiving end includes: determining the transmission time interval for data transmission with the data receiving end, the maximum frame length allowed to be received by the data receiving end, and the frame interval time according to the transmission control parameters between the data receiving end; determining the maximum data transmission duration of the current frame according to the transmission time interval, the maximum frame length, and the frame interval time; and determining the repetition number of the first data block according to the maximum data transmission duration, the modulation and coding scheme used in the current frame, and the size of the first data block.
[0007] In some embodiments, when there are multiple first data blocks, determining the repetition number of the first data block according to the maximum data transmission duration includes: determining the first repetition number of a specified first data block among the multiple first data blocks; and determining the second repetition number of other first data blocks according to the maximum data transmission duration, the modulation and coding scheme used in the current frame, the size of the first data block, and the first repetition number, where the repetition numbers corresponding to different first data blocks may be the same or different.
[0008] In some embodiments, when there are multiple first data blocks, determining the repetition number of the first data block according to the maximum data transmission duration, the modulation and coding scheme used in the current frame, and the size of the first data block includes: respectively determining the sequence number of the target data packet corresponding to each first data block and / or determining the cumulative transmission times of each first data block; and respectively determining the repetition number of each first data block based on the maximum data transmission duration, the modulation and coding scheme used in the current frame, the size of the first data block, and the sequence number of the target data packet corresponding to each first data block and / or the corresponding cumulative transmission times, where the first data block with a smaller sequence number and / or more cumulative transmission times has a larger corresponding repetition number.
[0009] In some embodiments, when there are multiple first data blocks, constructing the current frame based on the first data block, the repetition number of the first data block, and the second data includes: determining the record information corresponding to the frame header field of the current frame according to the repetition number of each first data block and the physical layer mapping information corresponding to each target data block; respectively determining the repeated block mapping information corresponding to each first data block according to the sequence number of the target data packet corresponding to each first data block and the corresponding repetition number; recording the number of repeated block mapping information in the current frame through the first number of bit positions in a specified byte, and recording the mapping format corresponding to the repeated block mapping information through the second number of bit positions in the specified byte, where the specified byte is the next byte corresponding to the frame header field; arranging all the first data blocks after the second data block to form a link layer data bit sequence; and constructing the current frame according to the record information corresponding to the frame header field, the content recorded in the specified byte, and the link layer data bit sequence.
[0010] In some embodiments, arranging all the first data blocks after the second data block to form a link layer data bit sequence includes: cross-arranging a plurality of repeated first data blocks according to the repetition number of each first data block and the sequence number of the corresponding target data packet to obtain a first sequence; arranging the first sequence after the second data block to form a link layer data bit sequence.
[0011] In some embodiments, arranging all the first data blocks after the second data block to form a link layer data bit sequence includes: determining a first duration of a single interference during data transmission with a data receiving end; respectively determining a second duration of data transmission after modulation of each first data block; respectively determining the number of consecutive repeated arrangements of each first data block based on the ratio of the first duration to each second duration; arranging all the first data blocks according to the repetition number of each first data block, the number of consecutive repeated arrangements, and the sequence number of the corresponding target data packet to obtain a second sequence; arranging the second sequence after the second data block to form a link layer data bit sequence.
[0012] In some embodiments, determining a plurality of target data blocks that need to be transmitted by a current frame among a plurality of consecutive target data packets includes: based on the historical transmission situation of transmitting a plurality of target data packets to a data receiving end, determining a second data block that needs to be normally transmitted by the current frame from among a plurality of data blocks included in the plurality of target data packets that have not been transmitted; based on the historical transmission situation of transmitting a plurality of target data packets to a data receiving end, determining whether there are data blocks that have not been successfully transmitted among the plurality of target data packets; if there are data blocks that have not been successfully transmitted among the plurality of target data packets, using the data blocks that have not been successfully transmitted as first data blocks that need to be transmitted by the current frame; determining a plurality of target data blocks that need to be transmitted by the current frame according to the first data blocks and the second data blocks.
[0013] In some embodiments, the number of second data blocks is multiple; determining a plurality of target data blocks that need to be transmitted by a current frame among a plurality of consecutive target data packets further includes: if there are no data blocks that have not been successfully transmitted among the plurality of target data packets, determining a first data block from among the plurality of second data blocks based on the priority of each second data block and / or the sequence number of the corresponding target data packet.
[0014] In some embodiments, determining multiple target data blocks that need to be transmitted through a current frame among a plurality of consecutive target data packets includes: determining, from the plurality of untransmitted data blocks included in the plurality of target data packets, a plurality of data blocks that need to be normally transmitted by the current frame and the transmission attribute of each normally transmitted data block; if the transmission attribute of the normally transmitted data block is that it needs to be retransmitted, the normally transmitted data block is used as a first data block; if the transmission attribute of the normally transmitted data block is that it does not need to be retransmitted, the normally transmitted data block is used as a second data block.
[0015] In a second aspect, an exemplary embodiment of the present disclosure further provides a Bluetooth-based data transmission method, which is applied to a data receiving end. The method includes: receiving a current frame sent by a data sending end, where the data sending end uses the Bluetooth-based data transmission method provided in any of the above aspects to send; receiving data based on the current frame to obtain a data receiving result; according to the data receiving result, sending a data receiving feedback signal to the data sending end to feedback the data receiving result.
[0016] In some embodiments, receiving data based on the current frame to obtain a data receiving result includes: determining the number of retransmitted data blocks and the physical layer mapping information corresponding to each target data block according to the content of the frame header field of the current frame; determining the number of duplicate block mapping information in the current frame through the first number of bits of the specified byte of the current frame, and determining the mapping format corresponding to the duplicate block mapping information through the second number of bits in the specified byte, where the specified byte is the next byte corresponding to the frame header field; demodulating the data bit sequence of the current frame according to the physical layer mapping information, the number of data blocks, the number of duplicate block mapping information in the current frame, and the mapping format corresponding to the duplicate block mapping information to obtain a plurality of target data blocks to be received, where the plurality of target data blocks include at least one first data block to be retransmitted and at least one second data block to be normally transmitted; performing data reception based on the verification result of the plurality of target data blocks to obtain the data receiving result.
[0017] In a third aspect, an exemplary embodiment of the present disclosure further provides a Bluetooth-based data transmission device, which is applied to a data sending end. The device includes: a first determination module, configured to determine a plurality of target data blocks that need to be transmitted through a current frame among a plurality of consecutive target data packets, where the plurality of target data blocks include at least one first data block to be retransmitted and at least one second data block to be normally transmitted; a second determination module, configured to determine the number of repetitions of the first data block based on the transmission control parameters between the device and the data receiving end; a construction module, configured to construct the current frame based on the first data block, the number of repetitions of the first data block, and the second data block; a first sending module, configured to send the current frame to the data receiving end.
[0018] Fourth aspect, an exemplary embodiment of the present disclosure further provides a Bluetooth-based data transmission device, which is applied to a data receiving end. The device includes: a receiving module, configured to receive a current frame sent by a data sending end, where the data sending end sends the current frame by using the Bluetooth-based data transmission method provided in any of the above aspects; a processing module, configured to perform data reception based on the current frame to obtain a data reception result; and a second sending module, configured to send a data reception feedback signal to the data sending end according to the data reception result to feedback the data reception result.
[0019] Fifth aspect, an exemplary embodiment of the present disclosure further provides a Bluetooth-based data transmission system. The system includes: a data sending end and a data receiving end; the data sending end is configured to determine a plurality of target data blocks that need to be transmitted through the current frame among a plurality of consecutive target data packets, where the plurality of target data blocks include at least one first data block to be repeatedly transmitted and at least one second data block to be normally transmitted; determine the repetition number of the first data block based on a transmission control parameter between the data sending end and the data receiving end; construct the current frame based on the first data block, the repetition number of the first data block, and the second data block; and send the current frame to the data receiving end; the data receiving end is configured to receive the current frame; perform data reception based on the current frame to obtain a data reception result; and send a data reception feedback signal to the data sending end according to the data reception result to feedback the data reception result.
[0020] Sixth aspect, an exemplary embodiment of the present disclosure further provides a computer-readable storage medium, which stores the following program, and the program is used to execute the Bluetooth-based data transmission method provided in any of the above aspects.
[0021] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure.
[0022] The technical solutions provided by the embodiments of the present disclosure may include the following beneficial effects: According to the Bluetooth-based data transmission method provided by the present disclosure, it can be ensured that the current frame contains both the second data block to be transmitted and the first data block that needs to be repeatedly transmitted. Furthermore, when performing data transmission with the data receiving end, the reliability of data transmission can be effectively improved, the situation of data loss caused by packet loss can be reduced, and the data throughput rate can be effectively reduced. Moreover, the repetition number of the first data block is determined based on the transmission control parameter between the data sending end and the data receiving end, so as to ensure the rationality of the repetition of the first data block. Without affecting the data transmission quality, the data transmitted in a single frame can be reasonably amplified to make the data transmission more stable, thereby effectively and reasonably improving the channel time utilization rate and enhancing the overall performance and response speed of the system. Description of the Drawings
[0023] The present disclosure can be better understood by describing exemplary embodiments thereof with reference to the accompanying drawings, in which:
[0024] Figure 1 FIG. 4 is a schematic diagram of a communication interaction shown in an exemplary embodiment of the present disclosure;
[0025] Figure 2 FIG. 8 is a schematic flowchart of a Bluetooth-based data transmission method shown in an exemplary embodiment of the present disclosure;
[0026] Figure 3 FIG. 12 is a schematic flowchart of another Bluetooth-based data transmission method shown in an exemplary embodiment of the present disclosure;
[0027] Figure 4 FIG. 16 is a schematic diagram of data mapping shown in an exemplary embodiment of the present disclosure;
[0028] Figure 5 FIG. 20 is a comparison diagram of repeated block mapping information in a current frame shown in an exemplary embodiment of the present disclosure;
[0029] Figure 6 FIG. 24 is a schematic diagram of repeated block mapping information shown in an exemplary embodiment of the present disclosure;
[0030] Figure 7 FIG. 28 is another schematic diagram of repeated block mapping information shown in an exemplary embodiment of the present disclosure;
[0031] Figure 8 FIG. 32 is yet another schematic diagram of repeated block mapping information shown in an exemplary embodiment of the present disclosure;
[0032] Figure 9 FIG. 36 is still another schematic diagram of repeated block mapping information shown in an exemplary embodiment of the present disclosure;
[0033] Figure 10 FIG. 40 is a schematic diagram of repeated block mapping information shown in another exemplary embodiment of the present disclosure;
[0034] Figure 11 FIG. 44 is another schematic diagram of repeated block mapping information shown in another exemplary embodiment of the present disclosure;
[0035] Figure 12 FIG. 48 is yet another schematic diagram of repeated block mapping information shown in another exemplary embodiment of the present disclosure;
[0036] Figure 13 FIG. 52 is still another schematic diagram of repeated block mapping information shown in another exemplary embodiment of the present disclosure;
[0037] Figure 14A schematic diagram of repetitive block mapping information shown in another exemplary embodiment of the present disclosure;
[0038] Figure 15 A flowchart of another Bluetooth-based data transmission method shown in an exemplary embodiment of the present disclosure;
[0039] Figure 16 Another communication interaction diagram shown in an exemplary embodiment of the present disclosure;
[0040] Figure 17 Another communication interaction diagram shown in an exemplary embodiment of the present disclosure;
[0041] Figure 18 A framework diagram of a Bluetooth-based data transmission device shown in an exemplary embodiment of the present disclosure;
[0042] Figure 19 A framework diagram of another Bluetooth-based data transmission device shown in an exemplary embodiment of the present disclosure;
[0043] Figure 20 A framework diagram of a Bluetooth-based data transmission system shown in an exemplary embodiment of the present disclosure. Detailed implementation manners
[0044] The following will describe the detailed implementation manners of the present disclosure. It should be noted that in the specific description process of these implementation manners, for the sake of concise description, this specification cannot describe all features of the actual implementation manners in detail. It should be understood that in the actual implementation process of any implementation manner, just as in the process of any engineering project or design project, in order to achieve the specific goals of the developer and to meet system-related or business-related restrictions, various specific decisions are often made, and these will also change from one implementation manner to another. In addition, it can also be understood that although the efforts made in this development process may be complex and lengthy, for those of ordinary skill in the art related to the content disclosed in the present disclosure, some design, manufacturing or production changes made based on the technical content disclosed in the present disclosure are just conventional technical means and should not be understood as the content of the present disclosure being insufficient.
[0045] Unless otherwise defined, technical terms or scientific terms used in this disclosure shall have the ordinary meanings as understood by those of ordinary skill in the technical field to which this disclosure belongs. The “first”, “second” and similar terms used in this disclosure do not denote any order, quantity or importance, but are only used to distinguish different components. The terms such as “a” or “an” do not denote a quantity limitation, but mean that there is at least one. The terms such as “include” or “comprise” mean that the elements or objects appearing before “include” or “comprise” cover the elements or objects listed after “include” or “comprise” and their equivalent elements, and do not exclude other elements or objects. The terms such as “connect” or “couple” are not limited to physical or mechanical connections, nor are they limited to direct or indirect connections.
[0046] Bluetooth is a single-carrier frequency-hopping system that operates in the frequency band from 2400 MHz to 2480 MHz. Bluetooth technology performs frequency hopping within this frequency band and uses a frequency bandwidth of 1M or 2M for data transmission in each transmission. The frequency-hopping technology can effectively avoid interference with other wireless devices. In the 2.4 GHz frequency band, many other devices (such as Wi-Fi, microwave ovens, etc.) also use the same frequency band for communication. By frequently switching frequencies, Bluetooth devices can avoid interference sources, thereby improving the reliability of communication.
[0047] In the related art, the master device and the slave device participating in the Bluetooth connection will pre-agree on the transmission time interval of the transmission event / sub-event, such as Figure 1 As shown, at the beginning of each transmission time interval of the transmission event / sub-event, the master device (denoted by C in the figure) will first send a signal to the slave device (denoted by P in the figure). After receiving the data, the slave device will send a signal (including whether the data sent by the master device before was successfully received, etc.) to the master device after a pre-agreed inter-frame space (IFS).
[0048] However, during the entire communication process, the transmission time interval is fixed, but the frame length of each transmission is not fixed. As a result, between the time when the slave device finishes sending the signal and the time when the next master device sends data, the channel will be in an idle state, resulting in low channel time utilization and affecting the throughput of data transmission.
[0049] To solve the above problems, an exemplary embodiment of the present disclosure provides a Bluetooth-based data transmission method, which is applied to a data sending end. As Figure 2 shown, the Bluetooth-based data transmission method may include the following steps:
[0050] Step S210, determining a plurality of target data blocks that need to be transmitted through the current frame in a plurality of consecutive target data packets.
[0051] Based on the Bluetooth transmission protocol, during the data transmission process, it is allowed that the data bits of a single data transmission come from multiple consecutive data packets (Payloads) of the Link Layer. For example, up to four data packets from the Link Layer. Each data packet can be further divided into one or more (up to 16) data blocks (Block). Each time of transmission, one or several of them can be selected, arranged in order, and then mapped to each physical layer interval in sequence for subsequent transmission.
[0052] Therefore, to determine the content of the current frame to be transmitted, first, from multiple consecutive target data packets, determine multiple target data blocks that need to be transmitted through the current frame for subsequent targeted transmission. The target data packet can be understood as a data packet of the Link Layer. The multiple target data blocks include at least one first data block to be repeatedly transmitted and at least one second data block for normal transmission. Among them, the first data block can be understood as the data block that needs to be repeatedly transmitted at least twice in the current frame. The second data block can be understood as the data block that does not need to be repeatedly transmitted in the current frame. By taking the first data block as a target data block, it helps to ensure the success rate of single-frame transmission of the first data block, and also helps to increase the number of data blocks in single-frame transmission and improve the utilization rate of channel time.
[0053] In some examples, the multiple target data blocks can all come from the same target data packet, or part of them can come from the same target data packet, or they can come from different target data packets respectively, which can be specifically determined according to the actual transmission situation.
[0054] Step S220: Determine the repetition number of the first data block based on the transmission control parameters between the data sender and the data receiver.
[0055] The transmission control parameter can be understood as the control parameter used to control the data transmission between the data sender and the data receiver. This transmission control parameter can be pre-negotiated and determined by the data sender and the data receiver. For example, this transmission control parameter can include, but is not limited to, information such as the transmission time interval for data transmission with the data receiver, the maximum frame length allowed by the data receiver to receive, the frame interval time, the data transmission rate, the network delay, and the acknowledgment mechanism.
[0056] Through the transmission control parameters between the data sender and the data receiver, the processing time required for transmitting the current frame this time can be evaluated. Then, when the second data block is certain, the repetition number of the first data block can be reasonably determined to reasonably allocate resources within the allowed transmission range, ensure the transmission quality of the first data block, and improve the overall transmission efficiency.
[0057] Step S230: Construct the current frame based on the first data block, the repetition number of the first data block, and the second data block.
[0058] A frame is the basic unit of data transmission. The structure of a frame usually includes a frame header, data, and a frame tail. The frame header can include, but is not limited to, information such as a frame start identifier, a destination address, a source address, and a frame type. The data refers to the data that needs to be transmitted through the frame. The frame tail can include, but is not limited to, a frame end identifier and a checksum.
[0059] For the current frame, the data it includes is the first data block and the second data block determined this time. When determining the duplicate data volume of the first data block, the number of repetitions of the first data block in the current frame can be determined, and then combined with the second data block, the complete data to be transmitted by the current frame can be obtained.
[0060] Combining the first data block, the repetition count of the first data block, and the second data block to construct the current frame can ensure that the content corresponding to the first data block and the content corresponding to the second data block can be transmitted, facilitating targeted reception by the data receiving end, thereby ensuring the reliability and efficiency of data transmission.
[0061] Step S240, send the current frame to the data receiving end.
[0062] Send the current frame to the data receiving end so that the data receiving end can obtain the content corresponding to the first data block and the content corresponding to the second data block, meeting the data acquisition requirements.
[0063] According to the Bluetooth-based data transmission method provided by the present disclosure, it can be ensured that the current frame contains both the second data block to be transmitted and the first data block that needs to be repeatedly transmitted. Furthermore, when performing data transmission with the data receiving end, the reliability of data transmission can be effectively improved, reducing the occurrence of data loss due to packet loss, and effectively reducing the data throughput rate. And, the repetition count of the first data block is determined based on the transmission control parameters between the data sending end and the data receiving end, thereby ensuring the rationality of the repetition of the first data block. It can reasonably amplify the data transmitted in a single frame without affecting the data transmission quality, making the data transmission more stable, and thus effectively and reasonably improving the channel time utilization rate, improving the overall performance and response speed of the system.
[0064] In some embodiments, as Figure 3 shown, the above step S220 may include:
[0065] Step S221, determine the transmission time interval for data transmission with the data receiving end, the maximum frame length allowed by the data receiving end, and the frame interval time according to the transmission control parameters between the data sending end and the data receiving end.
[0066] To make the repetition count of the first data block more reasonable and meet the transmission control parameters, the transmission time interval for data transmission with the data receiving end, the maximum frame length allowed to be received by the data receiving end, and the frame interval time are respectively determined through the transmission control parameters, so as to clarify the time range for processing and transmitting the first data block.
[0067] Among them, the transmission time interval can be understood as the time interval for data transmission between the data sending end and the data receiving end. The maximum frame length allowed to be received by the data receiving end can be understood as the maximum data volume that the data receiving end can process, usually in bytes or bits. The frame interval time can be understood as the minimum time interval between sending two adjacent frames to ensure that the receiving end has enough time to process the previous frame.
[0068] Step S222: Determine the maximum data transmission duration of the current frame according to the transmission time interval, the maximum frame length, and the frame interval time.
[0069] Through the transmission time interval, the maximum time range for a single data transmission between the data sending end and the data receiving end can be determined. In Bluetooth communication, when the data sending end sends data to the data receiving end, it needs to be sent according to the frame interval time. When the data receiving end sends feedback to the data sending end, it also needs to give feedback according to the frame time interval. Therefore, the data processing time T0 required for data transmission through the current frame needs to meet the following conditions:
[0070] T Int ≥T0 + T1 + 2×T IFS ;
[0071] Among them, T Int represents the transmission time interval, T1 represents the maximum frame length, and T IFS represents the frame interval time.
[0072] Since the transmission time interval, the maximum frame length, and the frame interval time are all pre-agreed transmission control parameters, therefore, determining the maximum data transmission duration through the above conditions can fully consider the data processing ability of the data receiving end, so as to make full use of the channel time as much as possible and improve the utilization rate of the signal time.
[0073] Step S223: Determine the repetition count of the first data block according to the maximum data transmission duration, the modulation and coding method used by the current frame, and the size of the first data block.
[0074] Since the maximum data transmission duration corresponding to the current frame is specified and the second data block only appears once, determining the repetition number of the first data block according to the data length of the second data block, the modulation and coding scheme used in the current frame, and the data size of the first data block can make the determined repetition number of the first data block more reasonable and reliable. It can transmit the first data block as many times as possible while meeting the processing capacity of the data receiving end, thereby improving the success rate of a single transmission of the first data block. Herein, the repetition number of the first data block is not limited to the repetition number in the current frame, and may also include the total repetition number required during multi-frame transmission.
[0075] In some examples, there are multiple first data blocks, and step S223 may include the following steps:
[0076] Step a1, determining a first repetition number of a specified first data block among the multiple first data blocks;
[0077] Step a2, determining a second repetition number of other first data blocks according to the maximum data transmission duration, the modulation and coding scheme used in the current frame, the size of the first data block, and the first repetition number.
[0078] Specifically, the specified first data block can be understood as a relatively important data block among the multiple first data blocks, and it is necessary to preferentially ensure the data transmission success rate. To make the quality of data transmission better meet the user's requirements, when it is determined that there is a specified data block among the multiple first data blocks, first determine the first repetition number of the first data block. In some application scenarios, the first repetition number may be a default number, which helps to improve the determination efficiency of the first repetition number. In other application scenarios, the first repetition number may be determined based on factors such as transmission requirements, data importance, and network conditions.
[0079] With the first repetition number of the specified first data block determined, then determine the second repetition number of other first data blocks according to the maximum data transmission duration, the modulation and coding scheme used in the current frame, and the size of the first data block, which can preferentially ensure the repetition situation of the specified first data block and guarantee the transmission quality of important data.
[0080] Among them, the repetition numbers corresponding to different first data blocks may be the same or different, specifically depending on the importance and transmission requirements of each first data block. For example, if all first data blocks are equally important, the repetition numbers may be the same. However, if some first data blocks are more important than others, or have different transmission risks, then their repetition numbers may be different. For another example, if the number of transmission failures of a certain first data block is relatively large, then the repetition number of this first data block is relatively more than that of other first data blocks. For yet another example, if a certain first data block fails in each historical transmission, then after the transmission of the corresponding frame ends, the repetition number of this first data block is increased by at least 1 to determine the repetition number for data transmission in the current frame, so as to improve the transmission success rate of this first data block as much as possible by increasing the repetition number.
[0081] In some other examples, there are multiple first data blocks, and the above step S223 may include the following steps:
[0082] Step b1, respectively determine the sequence number of the target data packet corresponding to each first data block and / or determine the cumulative transmission times of each first data block;
[0083] Step b2, respectively determine the repetition number of each first data block based on the maximum data transmission duration, the modulation and coding method used in the current frame, the size of the first data block, and the sequence number of the target data packet corresponding to each first data block and / or the corresponding cumulative transmission times.
[0084] Specifically, in the link layer, each target data packet has a unique sequence number, which is used to identify the order of the corresponding target data packet, so that the data receiving end can correctly reassemble the data according to this sequence number. Therefore, by determining the sequence number of the target data packet corresponding to the first data block, it can be determined whether this first data block is the first data to be transmitted.
[0085] If the sequence number of the target data packet corresponding to the first data block is smaller, it indicates that the position of this first data block in the overall data is more forward, and it is more necessary to ensure the transmission success rate of this first data block.
[0086] By determining the cumulative transmission times of the first data block, it can be determined whether this first data block has been attempted to be transmitted and the corresponding number of transmission failures. If the number of transmission failures is more, it indicates that this first data block is more likely to be lost. Therefore, it is more necessary to ensure the transmission success rate of this first data block.
[0087] When determining the repetition number of each first data block, by considering at least one of the sequence number of the target data packet corresponding to each first data block and the corresponding cumulative transmission times, it is possible to comprehensively evaluate the transmission situation of each first data block within the maximum range supported by the maximum data transmission duration, and then determine the repetition number of each first data block in combination with the modulation and coding method used in the current frame and the size of the first data block, so as to improve the transmission success rate of the corresponding first data block as much as possible, avoid or reduce the occurrence of data packet loss, and thus reduce the data throughput rate. Among them, the smaller the sequence number and / or the more the cumulative transmission times of the first data block, the more the corresponding repetition number, so as to improve the data transmission efficiency and speed up the execution efficiency of the data transmission task.
[0088] Determining the repetition number of the first data block according to the above method can make the data meet the processing capacity of the data receiving end during the transmission process, and also take into account the efficiency and reliability of network transmission, thereby helping to improve the channel time utilization rate and reduce the data throughput rate.
[0089] In some embodiments, there are multiple first data blocks, and the above step S230 may include the following steps:
[0090] Step c1, determine the record information corresponding to the frame header field of the current frame according to the repetition number of each first data block and the physical layer mapping information corresponding to each target data block.
[0091] During the Bluetooth data transmission process, it is necessary to arrange each target data block in order and then map it to each physical layer interval for transmission. Therefore, through the physical layer mapping information corresponding to each target data block, the source of each target data block and the corresponding target data preservation information can be determined. Among them, the physical layer mapping information may include, but is not limited to, information such as determining the size of the corresponding data block, the corresponding target data packet, whether the corresponding data packet is segmented, and the packet length.
[0092] In some application scenarios, the process of mapping the target data blocks of multiple consecutive target data packets in the link layer to each physical layer interval for transmission can be as Figure 4As shown. Each target data packet includes at least one data block. Each time of transmission, one or several of the target data packets can be selected, arranged in the order of the corresponding data packets, and then mapped to each physical layer interval in the physical layer data payload area for transmission in sequence. During the arrangement process, the second data block to be normally transmitted is arranged in the front, and the first data block that needs to be retransmitted is arranged after the second data block, so that the first data block can be transmitted by using the frame interval time, improving the channel time utilization rate, increasing the data transmission success rate, and reducing the data throughput rate. In the physical layer, data is transmitted by frames. Each frame includes at least: a preamble, a control header, a frame header field, and a data payload area. Among them, the data payload area includes physical layer intervals and a known physical layer interval training sequence (PHY Interval Training Sequence, PITS) to resist co-channel interference and improve the accuracy of data transmission.
[0093] The frame header field usually contains key information such as identifying the start of the frame, the frame length, and the check information. According to the repetition number of each first data block and the physical layer mapping information corresponding to each target data block, the information to be recorded in the frame header field can be determined, which can ensure that when the subsequent data receiving end receives the current frame, it can quickly determine the data situation transmitted by the current frame, so as to perform targeted reception, increasing the data reception success rate and reducing the risk of missed reception or misreception.
[0094] Step c2: According to the sequence number of the target data packet corresponding to each first data block and the corresponding repetition number, respectively determine the repeated block mapping information corresponding to each first data block.
[0095] To facilitate the data receiving end to clearly know the retransmission situation of each data block, the sequence number of the target data packet corresponding to each first data block and the corresponding repetition number are used to respectively determine the repeated block mapping information corresponding to each first data block to avoid the occurrence of missed reception by the data receiving end. Among them, the repeated block mapping information can include but is not limited to: the in-frame sequence number (Payload Number, PLYDN) of the corresponding data block, the data block number (BLKN), and the continuous repetition number (Number of Copies, NC) information. Among them, the value of the repetition number NC represents the number of NC + 1 identical repeated blocks arranged continuously.
[0096] Step c3: Record the number of repeated block mapping information in the current frame through the first number of bit positions in the specified byte, and record the mapping format corresponding to the repeated block mapping information through the second number of bit positions in the specified byte.
[0097] Since the first data block belongs to the amplified transmission data, in order to facilitate the data receiver to quickly identify and accurately combine multiple different and repeated first data blocks, the number of repeated block mapping information in the current frame is recorded by the first number of bits in the specified byte, and the mapping format corresponding to the repeated block mapping information is recorded by the second number of bits in the specified byte. The specified byte is the next byte corresponding to the frame header field.
[0098] For example, the number of repeated block mapping information (Number of Repetition Block Information, NRBI) in the current frame can be recorded by 6 bits, and the remaining 2 bits record the mapping format (Format of Repetition Block Information, FRBI) corresponding to the repeated block mapping information.
[0099] In some application scenarios, FRBI can include but is not limited to the following multiple format types:
[0100] When FRBI is 0, each repeated block mapping information includes 2 bits of PLYDN, 4 bits of BLKN, and 2 bits of NC, which can indicate that the repeated block comes from one of the data blocks with sequence numbers 0 to 15 in data packets 0 to 3, and the continuous repetition times are 1 to 4 times.
[0101] When FRBI is 1, each repeated block mapping information includes 1 bit of PLYDN, 4 bits of BLKN, and 3 bits of NC, indicating that the repeated block comes from data packet 0 and / or data packet 1, and the continuous repetition times are 1 to 8 times.
[0102] When FRBI is 2, each repeated block mapping information includes 4 bits of BLKN and 4 bits of NC, indicating that the repeated blocks all come from data packet 0, and the continuous repetition times are 1 to 16 times.
[0103] When FRBI is 3, each repeated block mapping information includes 2 bits of PLYDN, 2 bits of NC, and another 4 bits of NB (Number of blocks) representing the number of selected data blocks. A group of BLKN is determined according to NB. Each repeated block mapping information indicates: copy the first NB + 1 data blocks in the data blocks that need to be transmitted in the current frame of the data packet with the copy sequence number of PLYDN and form a repeated block sequence, and repeat the repeated block sequence NC + 1 times.
[0104] In some other application scenarios, for different FRBIs, the comparison of the repeated block mapping information of the first data block in the current frame can be as Figure 5 shown. Among them, Figure 5 is only used to exemplify the bit values involved in recording different information in the repeated block mapping information for different FRBIs.
[0105] In some optionally applicable scenarios, the FRBI can be determined based on the physical layer mapping information corresponding to each first data block, and then the corresponding duplicate block mapping information can be obtained:
[0106] Example 1: There are 5 duplicate blocks to be sent, including: two P0 B0 (data block B0 in data packet P0), two P0 B1 (data block B1 in data packet P0), and one P2 B0 (data block B0 in data packet P2). The 5 duplicate blocks to be sent form a duplicate block sequence that needs to satisfy the condition that any two adjacent duplicate blocks are not the same. Then, the arrangement result of the duplicate block sequence can be as shown in Table 1.
[0107] P0B0 P0B1 P2B0 P0B0 P0B1
[0108] Table 1
[0109] Since the 5 duplicate blocks to be sent come from data packets 0 and 1 respectively, therefore, the mapping information of this duplicate block sequence can be recorded in the format with FRBI being 0. Then, the representation result of the obtained duplicate block mapping information can be as Figure 6 shown.
[0110] Example 2: There are 5 duplicate blocks to be sent, including: two P0 B0 (data block B0 in data packet P0), one P0 B1 (data block B1 in data packet P0), one P1 B0 (data block B0 in data packet P1), and one P0 B1 (data block B1 in data packet P0). The 5 duplicate blocks to be sent forming a duplicate block sequence can allow adjacent duplicate blocks to come from the same data block. Then, the arrangement result of the duplicate block sequence can be as shown in Table 2.
[0111] P0B0 P0B0 P0B1 P1B0 P0B1
[0112] Table 2
[0113] Since the 5 duplicate blocks to be sent come from data packets 0 and 1 respectively, therefore, the mapping information of this duplicate block sequence can be recorded in the format with FRBI being 0. Then, the representation result of the obtained mapping information can be as Figure 7 shown. Or, the mapping information of this duplicate block sequence can also be recorded in the format with FRBI being 1. Then, the representation result of the obtained duplicate block mapping information can be as Figure 8 shown.
[0114] Example 3: There are 9 duplicate blocks to be sent, and they all come from the same data packet. Then, the formed duplicate block sequence can be as shown in Table 3.
[0115] P0B0 P0B0 P0B0 P0B0 P0B0 P0B0 P0B0 P0B0 P0B0
[0116] Table 3
[0117] When all 9 duplicate blocks to be sent come from data packet 0, the mapping information of this duplicate block sequence can be recorded in the format with FRBI = 0. Furthermore, the representation result of the obtained duplicate block mapping information can be as Figure 9 shown. At this time, the mapping information of this duplicate block sequence requires 4 bytes. It is also possible to record the mapping information of this duplicate block sequence in the format with FRBI = 1. Furthermore, the representation result of the obtained duplicate block mapping information can be as Figure 10 shown. At this time, the mapping information of this duplicate block sequence requires 4 bytes. It is also possible to record the mapping information of this duplicate block sequence in the format with FRBI = 2. Furthermore, the representation result of the obtained duplicate block mapping information can be as Figure 11 shown. At this time, the mapping information of this duplicate block sequence requires 2 bytes, and using this method for data transmission can be more efficient. It is also possible to record the mapping information of this duplicate block sequence in the format with FRBI = 3. Furthermore, the representation result of the obtained duplicate block mapping information can be as Figure 12 shown. At this time, the mapping information of this duplicate block sequence requires 2 bytes, and using this method for data transmission is more efficient.
[0118] The specific FRBI format to be used can be determined according to requirements and is not restricted here. Moreover, when the repetition times of the same data block in the duplicate block sequence are greater than 16, the number of bytes required for the format with FRBI = 3 is still 2. Compared with other formats, it can save byte occupancy and improve data transmission efficiency.
[0119] Example 4: When performing repeated transmission in units of data packets, and the remaining transmission time at the end can only transmit the first of the two data blocks of one data packet 0. Since the data block 0 of data packet 1 does not need to be transmitted in the current frame, it will not appear in the duplicate blocks either. Furthermore, the formed duplicate block sequence can be as shown in Table 4.
[0120] P0B0 P0B1 P1B1
[0121] Table 4
[0122] If the mapping information of this duplicate block sequence is recorded in the format with FRBI = 0, the representation result of the obtained mapping information can be as Figure 13 shown. At this time, the mapping information of this duplicate block sequence requires 7 bytes. However, if the mapping information of this duplicate block sequence is recorded in the format with FRBI = 3, the representation result of the obtained duplicate block mapping information can be as Figure 14 shown. At this time, the mapping information of this duplicate block sequence requires 4 bytes.
[0123] It should be noted that if NRBI = 0, it means that the current frame does not contain any duplicate blocks.
[0124] Step c4: Arrange all the first data blocks after the second data block to form a link layer data bit sequence.
[0125] This helps to preferentially receive the data corresponding to the second data block during subsequent data transmission.
[0126] In some examples, the above step c4 may include the following steps:
[0127] Step c41: Cross - arrange multiple repeated first data blocks according to the repetition number of each first data block and the sequence number of the corresponding target data packet to obtain a first sequence;
[0128] Step c42: Arrange the first sequence after the second data block to form a link layer data bit sequence.
[0129] Specifically, by cross - arranging multiple repeated first data blocks and dispersing the same first data block at different positions in the transmission sequence, the fault tolerance of data transmission of multiple first data blocks and the ability to combat randomly occurring and randomly - length interference can be improved. Thus, the obtained link layer data bit sequence is more reliable, which helps to ensure the transmission integrity of each first data block and reduce the impact of error propagation.
[0130] In some other examples, the above step c4 may include the following steps:
[0131] Step c43: Determine the first duration of a single interference during the data transmission process with the data receiving end;
[0132] Step c44: Respectively determine the second duration of data transmission after modulation for each first data block;
[0133] Step c45: Based on the ratio of the first duration to each second duration, respectively determine the consecutive repetition number of each first data block;
[0134] Step c46: Arrange all the first data blocks according to the repetition number, consecutive repetition number of each first data block and the sequence number of the corresponding target data packet to obtain a second sequence;
[0135] Step c47: Arrange the second sequence after the second data block to form a link layer data bit sequence.
[0136] Specifically, to increase the probability that the first data block can be correctly received under short - time interference, first determine the first duration of a single interference during the data transmission process between the data sending end and the data receiving end.
[0137] Determine the second duration of data transmission after modulation for each of the first data blocks respectively, so as to determine the time required for each of the first data blocks to perform data transmission after modulation.
[0138] For any one of the first data blocks, in order to ensure that the transmission duration of the first data block can overcome the influence of single interference and ensure the integrity of the data, the following formula can be used to determine the number of consecutive repetitions of the first data block, so as to ensure that at least one first data block is not interfered during the transmission process:
[0139] Among them, is the ceiling operation.
[0140] Composing the link layer data bit sequence in this way helps to improve the tolerance to interference during data transmission and ensure that the data can reach the receiving end with high reliability.
[0141] Through the link layer data bit sequence provided by the present disclosure, the arrangement order of the first data blocks can be determined more flexibly, which can meet the corresponding transmission requirements, thereby helping to improve the data transmission performance of the system.
[0142] Step c5, construct the current frame according to the record information corresponding to the frame header field, the content recorded in the specified byte, and the link layer data bit sequence.
[0143] Constructing the current frame in the above manner enables the data receiving end to better identify and understand the content included in the current frame and the repeated transmission situation of the first data blocks, so as to better perform data demodulation processing, improve the success rate of data reception, and reduce the data throughput rate.
[0144] In some embodiments, the above step S210 may include the following steps:
[0145] Step d1, based on the historical transmission situation of transmitting multiple target data packets to the data receiving end, determine the second data block that needs to be normally transmitted by the current frame from the multiple data blocks included in the multiple target data packets that have not been transmitted;
[0146] Step d2, based on the historical transmission situation of transmitting multiple target data packets to the data receiving end, determine whether there are data blocks that have not been successfully transmitted in the multiple target data packets;
[0147] Step d3, if there are data blocks that have not been successfully transmitted in the multiple target data packets, use the data blocks that have not been successfully transmitted as the first data blocks that need to be transmitted by the current frame;
[0148] Step d4, determine the multiple target data blocks that need to be transmitted by the current frame according to the first data blocks and the second data blocks.
[0149] Specifically, according to the historical transmission situation of multiple target data packets transmitted between the data sending end and the data receiving end, it can be determined whether the multiple target data packets are transmitted for the first time.
[0150] If the multiple target data packets are not transmitted for the first time, according to this historical transmission situation, it can be determined whether there are data blocks that have not been successfully transmitted among the multiple target data packets.
[0151] If there are data blocks that have not been successfully transmitted, these data blocks are used as the first data blocks to be transmitted in the current frame to ensure data integrity.
[0152] Determining multiple target data blocks in this way can ensure that the data transmission system efficiently processes the retransmission of data blocks and the transmission of new data blocks on the basis of considering the historical transmission situation, thereby improving the reliability and efficiency of data transmission.
[0153] In some other embodiments, the number of the second data blocks is multiple, and the above step S210 may further include the following steps:
[0154] Step d5, if there are no data blocks that have not been successfully transmitted among the multiple target data packets, based on the priority of each second data block and / or the sequence number of the corresponding target data packet, determine the first data block from the multiple second data blocks.
[0155] If there are no data blocks that have not been successfully transmitted, the first data block can be directly determined from the untransmitted second data blocks.
[0156] Among them, the determination of the first data block can be based on one or a combination of the following two factors:
[0157] a. The priority of the second data block: Each second data block has a corresponding priority, which may be determined based on the importance of the data, real-time requirements, or other business logics. The higher the priority, the more important the first data block is, and the more necessary it is to ensure the transmission success rate.
[0158] b. The sequence number of the target data packet corresponding to the second data block: The smaller the sequence number, the more forward the position of the target data packet in the overall data, the more relatively important it is, and the more necessary it is to be processed preferentially, otherwise it will affect the subsequent data transmission progress.
[0159] According to the above factors, select one from the multiple second data blocks as the first data block to improve the data transmission success rate by means of single - time multi - quantity repeated transmission. In some examples, if there is a conflict between the priority and the sequence number, it may be necessary to define a priority rule to determine the final selection criterion, which is not limited here.
[0160] Determining multiple target data blocks according to this method helps to optimize the efficiency of data transmission, ensure that important or urgent data can be transmitted preferentially, and at the same time maintain the order and integrity of data packets.
[0161] In some other embodiments, step S210 may include the following steps:
[0162] Step e1, determine multiple data blocks that need to be normally transmitted in the current frame from the multiple untransmitted data blocks included in the multiple target data packets, and the transmission attributes of each normally transmitted data block;
[0163] Step e2, if the transmission attribute of the normally transmitted data block is that it needs to be retransmitted, the normally transmitted data block is used as the first data block;
[0164] Step e3, if the transmission attribute of the normally transmitted data block is that it does not need to be retransmitted, the normally transmitted data block is used as the second data block.
[0165] Specifically, to improve the construction efficiency of the current frame, for each normally transmitted data block, its transmission attributes are determined respectively. These attributes may include whether retransmission is required, transmission priority, importance of data, etc.
[0166] If the transmission attribute of the data block indicates "retransmission is required", the data block is classified as the first data block to improve the success rate of data transmission.
[0167] If the transmission attribute of the data block indicates "retransmission is not required", the data block is classified as the second data block and can be normally transmitted to provide retransmission processing time for the first data block.
[0168] Determining multiple target data blocks according to this method helps to optimize resource utilization during data transmission, ensure that critical data is given priority, and at the same time avoid unnecessary retransmissions, thereby improving transmission efficiency and reliability.
[0169] Based on the same inventive concept, the present disclosure also provides a Bluetooth-based data transmission method applied to a data receiving end. As Figure 15 shown, the Bluetooth-based data transmission method may include the following steps:
[0170] Step S310, receive the current frame sent by the data sending end. Among them, the data sending end uses any Bluetooth-based data transmission method provided by the present disclosure for sending.
[0171] Step S320, perform data reception based on the current frame to obtain a data reception result. Through the data reception result, the reception status of each first data block and second data block can be determined.
[0172] Step S330: According to the data reception result, send a data reception feedback signal to the data sending end to feedback the data reception result. By sending a data reception feedback signal to the data sending end, the data sending end can be made aware of the data reception situation of the current frame by the data receiving end, which facilitates targeted construction in combination with the received feedback signal when constructing the next frame, thereby improving the data transmission efficiency.
[0173] According to the Bluetooth-based data transmission method provided by the present disclosure, the reliability of data transmission can be improved and the efficiency of data transmission can be optimized.
[0174] In some embodiments, the above step S320 may include the following steps:
[0175] Step f1: Determine the number of data blocks to be repeatedly transmitted and the physical layer mapping information corresponding to each target data block according to the content of the frame header field of the current frame;
[0176] Step f2: Determine the number of duplicate block mapping information in the current frame through the specified number of bit positions of the first byte of the current frame, and determine the mapping format corresponding to the duplicate block mapping information through the specified number of bit positions in the second byte. The specified byte is the next byte corresponding to the frame header field;
[0177] Step f3: Demodulate the data bit sequence of the current frame according to the physical layer mapping information, the number of data blocks, the number of duplicate block mapping information in the current frame, and the mapping format corresponding to the duplicate block mapping information to obtain multiple target data blocks to be received. The multiple target data blocks include at least one first data block to be repeatedly transmitted and at least one second data block to be normally transmitted;
[0178] Step f4: Based on the verification result of the multiple target data blocks, perform data reception to obtain the data reception result.
[0179] Among them, the determination process of the number of data blocks NRB can be determined by the following formula:
[0180]
[0181] Among them, NB (Number of blocks) represents the number of selected data blocks, and NC represents the number of repetitions.
[0182] By verifying the CRC of each data block and duplicate block, it is judged whether the bits of the entire data block / duplicate block are correctly received. As long as a certain data block or any one of its corresponding duplicate blocks is correctly received, the data block / duplicate block bit sequence that has passed the CRC verification is used as the received bit sequence of the data block, and then it is marked that the data block has been correctly received. If the CRC verification fails, it is marked as not being correctly received.
[0183] In some application scenarios, taking traditional CIS transmission as an example, such as Figure 16 shown, in each sub-event, the master device transmits data to the slave device, and the slave device feeds back whether each data block of each data packet is correctly received according to the reception situation ("ACK" indicates correct reception, "NACK" indicates incorrect reception).
[0184] In the first sub-event interval, due to reasons such as interference / low signal-to-noise ratio, data block 1 of data packet 1 (P1B1) and data block 0 of data packet 3 (P3B0) are not correctly received, and these data blocks are retransmitted in the second sub-event interval; in the second sub-event interval, the first three data blocks are not correctly received due to interference, and they are continuously retransmitted in the third sub-event interval; the first data block in the third sub-event interval is not correctly received by the slave device due to co-channel interference and is continuously retransmitted in the fourth sub-event interval, and finally is successfully received.
[0185] Note that starting from the second sub-event interval, since there are always some data blocks in data packet 1 that cannot be correctly received, limited by the fact that each frame of data only allows 4 consecutive data packets, SN and NESN can never count backward. When most of the data blocks in data packets 1, 2, 3, and 4 are correctly received, although each sub-event interval is sufficient to send six data blocks, however, due to the lack of sufficient data to send, the time utilization rate drops rapidly, and only one data block is transmitted in the fourth sub-event time slot. Finally, the transmission of the first 4 data packets is only completed through four sub-event intervals.
[0186] But as Figure 17 shown, through the Bluetooth data transmission method provided by the present disclosure for CIS transmission, the idle transmission time of each sub-event interval is used to retransmit some data blocks. Among them, "ACK" in the figure indicates correct reception, and "NACK" indicates incorrect reception. For example, in the second sub-event interval, data block 1 of retransmitted data packet 1 (P1B1) and data block 0 of data packet 3 (P3B0) are repeated. If the probability of a single successful transmission of a data block is, assuming that the transmission probabilities of each data block / repeat block are independent and identically distributed, then the probability of a single retransmission increases to after n additional repetitions. Suppose the success rate of a single transmission of a data packet is 90%. If the data packet is additionally repeated 2 times in a certain transmission, then the probability of the successful reception of the data packet in this transmission increases to 99.9%. The positions where the previous example transmission fails also correspond to the failure of the corresponding data block / repeat block in this example. It can be seen that through appropriate repetition of the retransmitted data blocks, the transmission of 8 data packets is completed after four sub-event intervals, and the throughput rate is greatly improved compared to the previous example.
[0187] According to the Bluetooth-based data transmission method provided by the present disclosure, there is no need to modify the physical layer design, and only the link layer needs to be modified for relevant sending and receiving, which has strong practicability.
[0188] Based on the same inventive concept, the present disclosure also provides a Bluetooth-based data transmission device, which is applied to a data sending end. As Figure 18 shown, the Bluetooth-based data transmission device 400 may include:
[0189] A first determination module 410, configured to determine multiple target data blocks that need to be transmitted through the current frame among a plurality of consecutive target data packets, where the multiple target data blocks include at least one first data block to be repeatedly transmitted and at least one second data block to be normally transmitted;
[0190] A second determination module 420, configured to determine the repetition number of the first data block based on the transmission control parameters with the data receiving end;
[0191] A construction module 430, configured to construct the current frame based on the first data block, the repetition number of the first data block, and the second data block;
[0192] A first sending module 440, configured to send the current frame to the data receiving end.
[0193] In some embodiments, the second determination module 420 includes: a first determination unit, configured to determine the transmission time interval for data transmission with the data receiving end, the maximum frame length allowed by the data receiving end, and the frame interval time according to the transmission control parameters with the data receiving end; a second determination unit, configured to determine the maximum data transmission duration of the current frame according to the transmission time interval, the maximum frame length, and the frame interval time; a third determination unit, configured to determine the repetition number of the first data block according to the maximum data transmission duration, the modulation and coding method used by the current frame, and the size of the first data block.
[0194] In some embodiments, there are multiple first data blocks, and the third determination unit includes: a first processing unit, configured to determine the first repetition number of a specified first data block among the multiple first data blocks; a second processing unit, configured to determine the second repetition number of other first data blocks according to the maximum data transmission duration, the modulation and coding method used by the current frame, the size of the first data block, and the first repetition number, where the repetition numbers corresponding to different first data blocks are the same or different.
[0195] In some embodiments, there are multiple first data blocks, and the third determination unit includes: a third processing unit configured to respectively determine the sequence number of the target data packet corresponding to each first data block and / or determine the cumulative transmission times of each first data block; a fourth processing unit configured to respectively determine the repetition number of each first data block based on the maximum data transmission duration, the modulation and coding scheme used in the current frame, the size of the first data block, and the sequence number of the target data packet corresponding to each first data block and / or the corresponding cumulative transmission times, wherein the first data block with a smaller sequence number and / or a larger cumulative transmission times has a larger corresponding repetition number.
[0196] In some embodiments, there are multiple first data blocks, and the construction module 430 includes: a fourth determination unit configured to determine the record information corresponding to the frame header field of the current frame according to the repetition number of each first data block and the physical layer mapping information corresponding to each target data block; a fifth determination unit configured to respectively determine the repeated block mapping information corresponding to each first data block according to the sequence number of the target data packet corresponding to each first data block and the corresponding repetition number; a recording unit configured to record the number of repeated block mapping information in the current frame through the first number of bit positions in a specified byte, and record the mapping format corresponding to the repeated block mapping information through the second number of bit positions in the specified byte, where the specified byte is the next byte corresponding to the frame header field; a combining unit configured to arrange all the first data blocks after the second data block to form a link layer data bit sequence; a construction unit configured to construct the current frame according to the record information corresponding to the frame header field, the content recorded in the specified byte, and the link layer data bit sequence.
[0197] In some embodiments, the combining unit includes: a first arranging unit configured to cross-arrange multiple repeated first data blocks according to the repetition number of each first data block and the sequence number of the corresponding target data packet to obtain a first sequence; a second arranging unit configured to arrange the first sequence after the second data block to form a link layer data bit sequence.
[0198] In some embodiments, the combining unit includes: a fifth processing unit configured to determine the first duration of a single interference during the data transmission process with the data receiving end; a sixth processing unit configured to respectively determine the second duration of data transmission after modulation for each first data block; a seventh processing unit configured to respectively determine the continuous repetition arrangement number of each first data block based on the ratio of the first duration to each second duration; a third arranging unit configured to arrange all the first data blocks according to the repetition number of each first data block, the continuous repetition arrangement number, and the sequence number of the corresponding target data packet to obtain a second sequence; a fourth arranging unit configured to arrange the second sequence after the second data block to form a link layer data bit sequence.
[0199] In some embodiments, the first determination module 410 includes: a first screening unit configured to determine, based on the historical transmission situation of transmitting a plurality of target data packets to the data receiving end, a second data block that needs to be normally transmitted in the current frame from among a plurality of untransmitted data blocks included in the plurality of target data packets; a judgment unit configured to judge, based on the historical transmission situation of transmitting a plurality of target data packets to the data receiving end, whether there is an untransmitted data block in the plurality of target data packets; a sixth determination unit configured to, if there is an untransmitted data block in the plurality of target data packets, use the untransmitted data block as a first data block that needs to be transmitted through the current frame; and a seventh determination unit configured to determine, according to the first data block and the second data block, a plurality of target data blocks that need to be transmitted through the current frame.
[0200] In some embodiments, the number of second data blocks is plural; the first determination module 410 further includes: an eighth determination unit configured to, if there is no untransmitted data block in the plurality of target data packets, determine a first data block from among the plurality of second data blocks based on the priority of each second data block and / or the sequence number of the corresponding target data packet.
[0201] In some embodiments, the first determination module 410 includes: a second screening unit configured to determine, from among a plurality of untransmitted data blocks included in a plurality of target data packets, a plurality of data blocks that need to be normally transmitted in the current frame and the transmission attribute of each normally transmitted data block; a first classification unit configured to, if the transmission attribute of a normally transmitted data block is that it needs to be retransmitted, use the normally transmitted data block as the first data block; and a second classification unit configured to, if the transmission attribute of a normally transmitted data block is that it does not need to be retransmitted, use the normally transmitted data block as the second data block.
[0202] Regarding the Bluetooth-based data transmission device in the above embodiments, the specific manner in which each module performs operations has been described in detail in the embodiments related to the method, and will not be elaborated here.
[0203] Based on the same inventive concept, the present disclosure also provides a Bluetooth-based data transmission device applied to a data receiving end. As Figure 19 shown, the Bluetooth-based data transmission device 500 may include:
[0204] a receiving module 510 configured to receive a current frame sent by a data sending end;
[0205] a processing module 520 configured to perform data reception based on the current frame to obtain a data reception result;
[0206] a second sending module 530 configured to send a data reception feedback signal to the data sending end according to the data reception result to feedback the data reception result.
[0207] In some embodiments, the processing module 520 includes: an eighth processing unit configured to determine the number of data blocks to be repetitively transmitted and the physical layer mapping information corresponding to each target data block according to the content of the frame header field of the current frame; a ninth processing unit configured to determine the number of repeated block mapping information in the current frame by a first number of bits of a specified byte of the current frame, and determine the mapping format corresponding to the repeated block mapping information by a second number of bits in the specified byte, where the specified byte is the next byte corresponding to the frame header field; a demodulation unit configured to demodulate the data bit sequence of the current frame according to the physical layer mapping information, the number of data blocks, the number of repeated block mapping information in the current frame, and the mapping format corresponding to the repeated block mapping information, to obtain a plurality of target data blocks to be received, where the plurality of target data blocks include at least one first data block to be repetitively transmitted and at least one second data block to be normally transmitted; a tenth processing unit configured to perform data reception based on the verification result of the plurality of target data blocks to obtain a data reception result.
[0208] Regarding the Bluetooth-based data transmission device in the above embodiments, the specific manners in which each module performs operations have been described in detail in the embodiments related to the method, and will not be elaborated herein.
[0209] Based on the same inventive concept, the present disclosure also provides a Bluetooth-based data transmission system. As Figure 20 shown, the Bluetooth-based data transmission system 600 includes: a data sending end 610 and a data receiving end 620;
[0210] The data sending end 610 is configured to determine a plurality of target data blocks to be transmitted through the current frame in a plurality of consecutive target data packets, where the plurality of target data blocks include at least one first data block to be repetitively transmitted and at least one second data block to be normally transmitted; determine the repetition number of the first data block based on the transmission control parameters between the data sending end 610 and the data receiving end 620; construct the current frame based on the first data block, the repetition number of the first data block, and the second data block; and send the current frame to the data receiving end 620;
[0211] The data receiving end 620 is configured to receive the current frame; perform data reception based on the current frame to obtain a data reception result; and send a data reception feedback signal to the data sending end 610 according to the data reception result to feedback the data reception result.
[0212] Based on the same inventive concept, the present disclosure also provides a computer-readable storage medium storing the following program, and the program is used to execute the Bluetooth-based data transmission method in any of the foregoing embodiments.
[0213] The present disclosure uses specific terms to describe embodiments of the present disclosure. For example, "an embodiment", "one embodiment", and / or "some embodiments" mean a certain feature, structure, or characteristic related to at least one embodiment of the present disclosure. Therefore, it should be emphasized and noted that the "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more at different positions in this specification does not necessarily refer to the same embodiment. In addition, certain features, structures, or characteristics in one or more embodiments of the present disclosure can be appropriately combined.
[0214] In the context of the present disclosure, unless the context clearly indicates an exception, words such as "a", "an", "one", and / or "the" are not specifically singular and may also include the plural. Generally speaking, the terms "comprising" and "including" only indicate the inclusion of the steps and elements that have been clearly identified, and these steps and elements do not constitute an exclusive list. A method or device may also include other steps or elements.
[0215] Similarly, it should be noted that, in order to simplify the description of the present disclosure and thus help the understanding of one or more embodiments of the application, in the previous description of the embodiments of the present disclosure, sometimes multiple features are grouped into one embodiment, drawing, or description thereof. However, this disclosure method does not mean that the features required by the object of the present disclosure are more than the features required to be protected. In fact, the features of the embodiment are fewer than all the features of the single embodiment disclosed above.
[0216] The basic concepts have been described above. Obviously, for those skilled in the art, the above disclosure is only an example and does not constitute a limitation to the present disclosure. Although not explicitly stated here, those skilled in the art may make various modifications, improvements, and corrections to the present disclosure. Such modifications, improvements, and corrections are proposed in the present disclosure, so such modifications, improvements, and corrections still fall within the spirit and scope of the embodiments of the present disclosure.
Claims
1. A Bluetooth-based data transmission method, applied to a data sender, the method comprising: Determine a plurality of target data blocks that need to be transmitted through the current frame in a plurality of consecutive target data packets, the plurality of target data blocks including at least one first data block to be repeatedly transmitted and at least one second data block to be normally transmitted; Determine the repetition number of the first data block based on the transmission control parameters between the data sender and the data receiver; Construct the current frame based on the first data block, the repetition number of the first data block, and the second data block; Send the current frame to the data receiver.
2. The data transmission method based on Bluetooth according to claim 1, wherein, The determining the repetition number of the first data block based on the transmission control parameters between the data sender and the data receiver includes: Determine the transmission time interval for data transmission with the data receiver, the maximum frame length allowed to be received by the data receiver, and the frame interval time according to the transmission control parameters between the data sender and the data receiver; Determine the maximum data transmission duration of the current frame according to the transmission time interval, the maximum frame length, and the frame interval time; Determine the repetition number of the first data block according to the maximum data transmission duration, the modulation and coding scheme used in the current frame, and the size of the first data block.
3. The data transmission method based on Bluetooth according to claim 2, wherein, When there are multiple first data blocks, the determining the repetition number of the first data block according to the maximum data transmission duration, the modulation and coding scheme used in the current frame, and the size of the first data block includes: Determine the first repetition number of a specified first data block among the multiple first data blocks; Determine the second repetition number of other first data blocks according to the maximum data transmission duration, the modulation and coding scheme used in the current frame, the size of the first data block, and the first repetition number, where the repetition numbers corresponding to different first data blocks may be the same or different.
4. The data transmission method based on Bluetooth according to claim 2, wherein, When there are multiple first data blocks, the determining the repetition number of the first data block according to the maximum data transmission duration, the modulation and coding scheme used in the current frame, and the size of the first data block includes: Respectively determine the sequence number of the target data packet corresponding to each first data block and / or determine the cumulative transmission times of each first data block; Based on the maximum data transmission duration, the modulation and coding scheme used in the current frame, the size of the first data block, and the sequence number of the target data packet corresponding to each first data block and / or the corresponding cumulative transmission times, respectively determine the repetition number of each first data block, where the smaller the sequence number and / or the more the cumulative transmission times of the first data block, the more the corresponding repetition number.
5. The Bluetooth-based data transmission method according to any one of claims 1-4, wherein, When there are multiple first data blocks, the constructing the current frame based on the first data block, the repetition number of the first data block, and the second data includes: Determine the record information corresponding to the frame header field of the current frame according to the repetition number of each first data block and the physical layer mapping information corresponding to each target data block; Determine the repeated block mapping information corresponding to each of the first data blocks respectively according to the sequence number of the target data packet corresponding to each of the first data blocks and the corresponding repeated quantity. Record the quantity of the repeated block mapping information in the current frame through the first quantity of bit positions in a specified byte, and record the mapping format corresponding to the repeated block mapping information through the second quantity of bit positions in the specified byte, where the specified byte is the next byte corresponding to the frame header field. Arrange all the first data blocks after the second data block to form a link layer data bit sequence. Construct the current frame according to the recorded information corresponding to the frame header field, the content recorded in the specified byte, and the link layer data bit sequence.
6. The data transmission method based on Bluetooth according to claim 5, wherein, The arranging all the first data blocks after the second data block to form a link layer data bit sequence includes: Cross-arrange multiple repeated first data blocks according to the repeated quantity of each of the first data blocks and the sequence number of the corresponding target data packet to obtain a first sequence. Arrange the first sequence after the second data block to form a link layer data bit sequence.
7. The data transmission method based on Bluetooth according to claim 5, wherein, The arranging all the first data blocks after the second data block to form a link layer data bit sequence includes: Determine the first duration of a single interference during the data transmission process with the data receiving end. Determine the second duration of data transmission after modulation for each of the first data blocks respectively. Based on the ratio of the first duration to each of the second durations, determine the consecutive repeated arrangement number for each of the first data blocks respectively. Arrange all the first data blocks according to the repeated quantity, the consecutive repeated arrangement number, and the sequence number of the corresponding target data packet for each of the first data blocks to obtain a second sequence. Arrange the second sequence after the second data block to form a link layer data bit sequence.
8. The data transmission method based on Bluetooth according to claim 1, wherein, The determining the multiple target data blocks that need to be transmitted through the current frame among a consecutive plurality of target data packets includes: Based on the historical transmission situation of transmitting the multiple target data packets with the data receiving end, determine the second data block that needs to be normally transmitted by the current frame from the multiple untransmitted data blocks included in the multiple target data packets. Based on the historical transmission situation of transmitting the multiple target data packets with the data receiving end, determine whether there are data blocks that have not been successfully transmitted among the multiple target data packets. If there are data blocks that have not been successfully transmitted among the multiple target data packets, use the unsuccessfully transmitted data blocks as the first data blocks that need to be transmitted through the current frame. Determine the multiple target data blocks that need to be transmitted through the current frame according to the first data blocks and the second data blocks.
9. The data transmission method based on Bluetooth according to claim 8, wherein, The quantity of the second data blocks is multiple; the determining the multiple target data blocks that need to be transmitted through the current frame among a consecutive plurality of target data packets further includes: If there are no data blocks that have not been successfully transmitted in multiple target data packets, determine the first data block from the multiple second data blocks based on the priority of each of the second data blocks and / or the sequence number of the corresponding target data packet.
10. The data transmission method based on Bluetooth according to claim 1, wherein, The determining of multiple target data blocks that need to be transmitted by a current frame in multiple consecutive target data packets includes: Determine, from multiple untransmitted data blocks included in the multiple target data packets, multiple data blocks that need to be normally transmitted by the current frame and the transmission attribute of each of the normally transmitted data blocks; If the transmission attribute of the normally transmitted data block is that it needs to be retransmitted, the normally transmitted data block is used as the first data block; If the transmission attribute of the normally transmitted data block is that it does not need to be retransmitted, the normally transmitted data block is used as the second data block.
11. A Bluetooth-based data transmission method, applied to a data receiving end, the method includes: Receive a current frame sent by a data sending end, where the data sending end uses the Bluetooth-based data transmission method described in any one of claims 1-10; Perform data reception based on the current frame to obtain a data reception result; According to the data reception result, send a data reception feedback signal to the data sending end to feedback the data reception result.
12. The data transmission method based on Bluetooth according to claim 11, wherein, The performing of data reception based on the current frame to obtain a data reception result includes: According to the content of the frame header field of the current frame, determine the number of data blocks to be retransmitted and the physical layer mapping information corresponding to each target data block; Determine the number of repeated block mapping information in the current frame through the first number of bits of a specified byte of the current frame, and determine the mapping format corresponding to the repeated block mapping information through the second number of bits in the specified byte, where the specified byte is the next byte corresponding to the frame header field; Demodulate the data bit sequence of the current frame according to the physical layer mapping information, the number of data blocks, the number of repeated block mapping information in the current frame, and the mapping format corresponding to the repeated block mapping information to obtain multiple target data blocks to be received, where the multiple target data blocks include at least one first data block to be retransmitted and at least one second data block to be normally transmitted; Perform data reception based on the verification result of the multiple target data blocks to obtain the data reception result.
13. A Bluetooth-based data transmission device, applied to a data sending end, the device includes: A first determination module, configured to determine multiple target data blocks that need to be transmitted by a current frame in multiple consecutive target data packets, where the multiple target data blocks include at least one first data block to be retransmitted and at least one second data block to be normally transmitted; A second determination module, configured to determine the number of repetitions of the first data block based on the transmission control parameters with the data receiving end; A construction module, configured to construct the current frame based on the first data block, the number of repetitions of the first data block, and the second data block; A first sending module, configured to send the current frame to the data receiving end.
14. A Bluetooth-based data transmission device, applied to a data receiving end, the device comprising: A receiving module, configured to receive a current frame sent by a data sending end, where the data sending end sends data by using the Bluetooth-based data transmission method according to any one of claims 1-10; A processing module, configured to perform data reception based on the current frame to obtain a data reception result; A second sending module, configured to send a data reception feedback signal to the data sending end according to the data reception result to feedback the data reception result.
15. A Bluetooth-based data transmission system, the system comprising: A data sending end and a data receiving end; The data sending end is configured to determine multiple target data blocks that need to be transmitted through the current frame among multiple consecutive target data packets, where the multiple target data blocks include at least one first data block to be repeatedly transmitted and at least one second data block to be normally transmitted; determine the repetition number of the first data block based on transmission control parameters between the data sending end and the data receiving end; construct the current frame based on the first data block, the repetition number of the first data block, and the second data block; and send the current frame to the data receiving end; The data receiving end is configured to receive the current frame; perform data reception based on the current frame to obtain a data reception result; and send a data reception feedback signal to the data sending end according to the data reception result to feedback the data reception result.
16. A computer-readable storage medium, storing the following program, where the program is used to execute the Bluetooth-based data transmission method according to any one of claims 1-10 or execute the Bluetooth-based data transmission method according to any one of claims 11-12.