Synchronous link data transmission method, communication device and storage medium

By transmitting future business data blocks in advance during synchronous link data transmission, the problem of fragmented reserved time slices is solved, the link switching frequency is reduced, and scheduling efficiency is improved.

CN116634548BActive Publication Date: 2026-06-16CHONGQING SEEKWAVE TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHONGQING SEEKWAVE TECH CO LTD
Filing Date
2023-05-04
Publication Date
2026-06-16

AI Technical Summary

Technical Problem

In synchronous link data transmission, the high degree of fragmentation of reserved time slices leads to a high frequency of link switching, which affects the scheduling efficiency and scheduling difficulty of multi-link multi-service concurrency.

Method used

By transmitting the service data block corresponding to the next reserved transmission window in advance when there is remaining time in the current transmission window, the synchronous link data transmission method is optimized, the link switching frequency is reduced, and the scheduling efficiency is improved.

🎯Benefits of technology

It effectively reduces the fragmentation of time slices, decreases the frequency of link switching, and improves the scheduling efficiency of multi-link, multi-service concurrency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116634548B_ABST
    Figure CN116634548B_ABST
Patent Text Reader

Abstract

The application discloses a synchronous link data transmission method, a communication device and a storage medium. The method is used for synchronous link data transmission between a first device and a second device. The synchronous link has a reserved transmission window set at a preset interval. The first device generates a first service data block corresponding to the reserved transmission window in time sequence. The method is executed by the first device. The method comprises the following steps: in response to the fact that data transmission associated with a previous first service data block has been completed in a current transmission window, determining whether the current transmission window has sufficient remaining time; and in response to the fact that the current transmission window has sufficient remaining time, performing data transmission associated with a first service data block to be currently transmitted with the second device. The application can optimize the synchronous link of the pre-allocated time slice, improve the fragmentation problem of the time slice available for other links, reduce the link switching frequency, and improve the scheduling efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of wireless communication technology, and in particular to a synchronous link data transmission method, communication device, and storage medium. Background Technology

[0002] Synchronous link data transmission is a data transmission method associated with the system clock. It typically achieves this by reserving certain physical resources; specifically, it allocates time slices at fixed intervals for data transmission between the two communicating devices. The link between the two devices can be a bidirectional data transmission link. The data streams generated by each device can be sequentially divided into data blocks, which are transmitted sequentially within the reserved time slices. This transmission method guarantees a certain transmission bandwidth and is often used in high-real-time services, such as voice, video, or other high-priority data streams.

[0003] The two devices involved in communication typically have multiple concurrent services. When there is a synchronous link with reserved time slices, other services can only be transmitted in the unused time slices of that synchronous link. This results in a high degree of fragmentation of the time slices available for other services and a high frequency of link / service switching, which directly affects the scheduling efficiency and scheduling difficulty of multi-link multi-service concurrency. Summary of the Invention

[0004] To address the aforementioned technical problems, the present invention aims to provide a synchronous link data transmission method that optimizes the synchronous link data transmission mode with pre-allocated time slices. This improves the fragmentation problem of time slices available for other links, thereby reducing link switching frequency, reducing the scheduling difficulty of multi-link multi-service concurrency, and improving scheduling efficiency.

[0005] One aspect of this application provides a synchronous link data transmission method for data transmission on a synchronous link between a first device and a second device. The synchronous link has a reserved transmission window set at preset intervals. The first device generates first service data blocks, and each first service data block corresponds to the reserved transmission window in chronological order. The method is executed by the first device and includes: step S1: in response to the completion of data transmission associated with the previous first service data block within the current transmission window, determining whether the current transmission window has sufficient remaining time; step S2: in response to the sufficient remaining time in the current transmission window, performing data transmission with the second device associated with the currently pending first service data block.

[0006] In some embodiments, the method further includes: repeating steps S1 and S2 until the current window has not enough time remaining.

[0007] In some embodiments, the method further includes: in response to the current transmission window not having enough remaining time, using the reserved transmission window corresponding to the currently to be transmitted first service data block as a new transmission window, and performing data transmission associated with the currently to be transmitted first service data block with the second device in the new transmission window.

[0008] In some embodiments, the method further includes: in response to the completion of data transmission associated with the currently transmitted first service data block, using a reserved transmission window corresponding to the new transmitted first service data block as a new transmission window, and performing data transmission associated with the new transmitted first service data block with the second device in the new transmission window.

[0009] In some embodiments, the preset interval of the link is determined by negotiation between the first device and the second device when establishing the link.

[0010] In some embodiments, the current transmission window includes a first interval and a second interval that are alternately distributed in chronological order, wherein the first interval is used for the first device to send packets to the second device, and the second interval is used for the second device to send packets to the first device.

[0011] In some embodiments, data transmission with the second device associated with the first service data block currently to be transmitted includes: sending a first packet including the first service data block currently to be transmitted to the second device; and receiving a second packet sent by the second device.

[0012] In this embodiment, the synchronization link is a Bluetooth SCO link.

[0013] In this embodiment, the first group is either the HV2 group or the HV3 group.

[0014] In some embodiments, data transmission associated with the currently to be transmitted first service data block with the second device includes: sequentially performing the following steps until the transmission of the currently to be transmitted first service data block is completed: sending a first packet including the currently to be transmitted first service data block to the second device; receiving feedback information sent by the second device indicating whether the second device has successfully received the previous first packet sent by the first device; and determining whether the transmission of the currently to be transmitted first service data block is completed.

[0015] In this embodiment, determining whether the first service data block to be transmitted has been completed includes: if feedback information from the second device indicating that the second device has successfully received the previous first packet sent by the first device is received within the current transmission window, then the transmission of the first service data block to be transmitted is confirmed to be complete.

[0016] In some embodiments, determining whether the first service data block to be transmitted has been completed further includes: if the current transmission window ends, then confirming that the first service data block to be transmitted has been completed.

[0017] In other embodiments, determining whether the first service data block to be transmitted has been completed further includes: if the current transmission window ends, but no feedback is received from the second device indicating that the second device has successfully received the feedback information of the previous first packet sent by the first device, then it is confirmed that the transmission of the first service data block to be transmitted has not been completed.

[0018] In some embodiments, receiving feedback information sent by the second device indicating whether the second device has successfully received the previous first packet sent by the first device includes: receiving a second packet sent by the second device, the second packet including feedback information indicating whether the second device has successfully received the previous first packet sent by the first device.

[0019] In other embodiments, receiving feedback information sent by the second device indicating whether the second device has successfully received the previous first packet sent by the first device includes: receiving a second packet sent by the second device, the second packet including feedback information indicating whether the second device has successfully received the previous first packet sent by the first device, and also including a second service data block generated by the second device.

[0020] In some embodiments, the first packet further includes feedback information indicating whether the first device has successfully received the previous second packet sent by the second device.

[0021] In some embodiments, the synchronization link is a Bluetooth eSCO link.

[0022] Another aspect of this application provides a communication device comprising a processor and a non-transitory storage medium storing computer-executable instructions, which can be executed by the processor to perform the various steps of the above-described synchronous link data transmission method.

[0023] A third aspect of this application provides a non-volatile computer-readable storage medium storing computer-executable instructions that, when executed by a computer, perform the various steps of the above-described synchronous link data transmission method.

[0024] The synchronous link data transmission method, communication device, and storage medium of this application can optimize links with pre-allocated time slices. When the service data block corresponding to the current reserved transmission window has been transmitted and there is sufficient remaining time, the subsequent service data block can be transmitted in advance. This releases the reserved transmission window corresponding to the subsequent service data block for data transmission on other links, improves the time slice fragmentation problem of other links, reduces the link switching frequency, reduces the scheduling difficulty of multi-link multi-service concurrency, and improves scheduling efficiency. Attached Figure Description

[0025] Figure 1 A schematic diagram of the Bluetooth eSCO link transmission window is shown;

[0026] Figure 2 This diagram illustrates the data transmission via the eSCO link between the central device and peripheral devices as defined in the existing Bluetooth protocol.

[0027] Figure 3 A flowchart of a synchronous link data transmission method 100 according to an embodiment of the present disclosure is shown;

[0028] Figure 4 A schematic diagram of the time division of the transmission window is shown;

[0029] Figure 5 An embodiment using the method 100 of this disclosure is shown;

[0030] Figure 6 Another embodiment of the method 100 of this disclosure is shown, in which the first service data block B is pre-transmitted and the transmission fails;

[0031] Figure 7 Another embodiment of the method 100 of this disclosure is shown, in which the first service data block B is pre-transmitted and the transmission fails, and transmission continues in its corresponding reserved transmission window;

[0032] Figure 8 Another embodiment of the method 100 of this disclosure is shown, in which both first service data blocks B and C are pre-transmitted and successfully transmitted;

[0033] Figure 9 A flowchart of a synchronous link data transmission method 400 according to another embodiment of the present disclosure is shown;

[0034] Figure 10 An embodiment of the method 400 of this disclosure is shown, in which the first service data block B still has remaining time after the current transmission window has been successfully pre-transmitted. Detailed Implementation

[0035] In the following detailed description, reference is made to the accompanying drawings, which form a part thereof. In the drawings, similar symbols generally denote similar components unless the context otherwise requires. The illustrative embodiments described in the detailed description, drawings, and claims are not intended to be limiting. Other embodiments and variations may be employed without departing from the spirit or scope of the subject matter of this application. It will be understood that various different configurations, substitutions, combinations, and designs can be made to the various aspects of the general description and illustrated in the drawings of this application, all of which explicitly form part of the subject matter of this application.

[0036] To facilitate understanding of this disclosure by those skilled in the art, the synchronous link data transmission process will be described below using Bluetooth technology as an example.

[0037] Bluetooth Basic Rate (BR) and Enhanced Data Rate (EDR) modes support connection-oriented synchronous (SCO) logical transport and extended connection-oriented synchronous (eSCO) logical transport between a central or master device and a peripheral or slave device.

[0038] SCO / eSCO uses reserved transmission windows (SCO / eSCO windows) to support data transmission requiring fixed bandwidth, and can therefore be considered a circuit-switched connection between central and peripheral devices. Each reserved transmission window includes several time slots, and the starting point of the transmission window is called the SCO / eSCO instant. Data streams generated by the central or peripheral devices are sequentially divided into data blocks, and each data block is transmitted sequentially within the reserved transmission window. Data blocks are sent in the payload of packets; if a packet is not successfully transmitted, it can be retransmitted. The central device sends a packet to the peripheral device at the SCO / eSCO instant, and the peripheral device sends a packet to the central device after the packet sent by the central device has ended.

[0039] Figure 1 A schematic diagram of the eSCO link transmission window is shown. Figure 1In this context, packets sent by the central device are tagged as C, and packets sent by peripheral devices are tagged as P. The eSCO transmission window includes a reserved time slot and a retransmission window. The reserved time slot includes the time interval for the central device to send packets and for peripheral devices to send packets at the eSCO time. The retransmission window is located after the reserved time slot.

[0040] The central device determines how the retransmission window is used, and peripheral devices perform corresponding transmissions within the retransmission window based on the central device's actions. Typically, if packet transmission fails in either direction, the central device can initiate a retransmission window for data retransmission, with no limit on the number of retransmissions, as long as the retransmission window has sufficient time slots. If the central device does not need to retransmit data, the retransmission window can also be used for data transmission of other services. The main difference between SCO and eSCO is that SCO does not support retransmission; therefore, SCO's transmission window does not include a retransmission window. However, after a data block transmission on an SCO link is completed, if there are remaining time slots before the next transmission window, these remaining time slots can be used for data transmission of other services.

[0041] Figure 2 This diagram illustrates eSCO link data transmission between a central device and peripheral devices as defined in the existing Bluetooth protocol. The service data stream generated by the central device is divided into service data blocks in chronological order, with each service data block corresponding to a reserved transmission window in chronological order. Figure 2 The example illustrates three consecutive service data blocks A, B, and C generated by a central device. Service data block A corresponds to reserved transmission window 240, service data block B corresponds to reserved transmission window 241, and service data block C corresponds to reserved transmission window 242. Each service data block is transmitted sequentially within its corresponding reserved transmission window. Similarly, service data streams generated by peripheral devices are sequentially divided into service data blocks, such as... Figure 2 The image shows three consecutive business data blocks 1, 2, and 3. (Example:) Figure 2 As shown, after the reserved transmission window 240 begins, the central device sends a packet containing service data block A to the peripheral device, and the peripheral device, upon receiving it, sends a packet back to the central device. The packet sent by the peripheral device contains service data block 1 and feedback information indicating whether the peripheral device successfully received the packet sent by the central device. The first data block sent by either the central device or the peripheral device is called the initial version of that data block. After receiving the packet sent by the peripheral device, if the central device determines that service data block A failed to be sent successfully, it retransmits the packet containing service data block A within the reserved transmission window 240. Similarly, if the peripheral device determines that service data block 1 failed to be sent successfully, it retransmits the packet containing service data block 1 within the reserved transmission window 240. The data block retransmitted by either the central device or the peripheral device is called the retransmission version. Figure 2In the example, both service data block A and service data block 1 were successfully transmitted after one retransmission, so no further transmission was performed. If transmission failed, retransmission continued until the reserved transmission window 240 had no remaining time. After service data block A was successfully transmitted or the reserved transmission window 240 ended, if there was still idle time before the next reserved transmission window 241, other link data could be transmitted using the idle time slots before the next reserved transmission window 241. In the reserved transmission window 241, service data block B was successfully transmitted after one retransmission, and data block 2 was successfully transmitted once. Therefore, the peripheral device sent an empty packet (not containing service data blocks) to the central device during the second transmission. Figure 2 (This is represented by "NULL" in the original text). The cases for reserved transmission window 242 and reserved transmission window 240 are similar, so they will not be described in detail here.

[0042] When Bluetooth devices are operating, multiple concurrent links typically exist. Because SCO / eSCO links require a fixed transmission window, data from other services or links can only be transmitted during the time slice occupied by non-SCO / eSCO links between two SCO / eSCO transmission sessions. Therefore, the presence of SCO / eSCO links with pre-allocated time slices leads to high fragmentation of the time slices available to other links or services, resulting in frequent link / service switching. This directly impacts the scheduling efficiency and complexity of multi-link, multi-service concurrency.

[0043] To address the time slice fragmentation problem in synchronous link data transmission with reserved time slices, this disclosure proposes a synchronous link data transmission method that, when there is still remaining time in the reserved transmission window, uses the remaining time to transmit the data block corresponding to the next reserved transmission window.

[0044] The synchronous link data transmission method of this disclosure will be described below with reference to the accompanying drawings.

[0045] Figure 3 A flowchart of a synchronous link data transmission method 100 according to an embodiment of the present disclosure is shown. Method 100 is performed by a first device for synchronous link data transmission between the first device and a second device. The synchronous link has a reserved transmission window set at a preset interval. The preset interval refers to the interval between the start times of the reserved transmission window, and the preset interval and the length of the reserved transmission window can be negotiated and determined by the first device and the second device when establishing the link. The preset interval can be greater than or equal to the length of the reserved transmission window. The first device generates first service data blocks, each first service data block corresponding to a reserved transmission window in chronological order. Method 100 includes the following steps:

[0046] In step 110, in response to the completion of data transmission associated with the previous first service data block within the current transmission window, it is determined whether the current transmission window has sufficient remaining time.

[0047] The first device transmits the first service data block to the second device in chronological order. If the second device also has service data to send to the first device, the second device also generates the second service data block in chronological order and transmits the second service data block to the first device in chronological order.

[0048] The first and second devices can transmit data via packets. Each packet includes a header and a payload. Data blocks generated by the sending device are carried in the payload portion of the packet. A packet sent from the first device to the second device is called the first packet, and a packet sent from the second device to the first device is called the second packet.

[0049] The data transmission of the service data block as referred to in this disclosure means that the sending device sends a packet containing the service data block one or more times until a specific condition is met. When the specific condition is met, the transmission of the service data block is considered complete. The specific condition can be set as needed, for example, it can be that the receiving device successfully receives the service data block, the number of times the service data block is sent reaches a preset number, the transmission time of the service data block reaches a preset time, or a combination of the above conditions, etc.

[0050] The transmission of a service data block associated with a transmitting device, as used in this disclosure, means that the packet sent by the transmitting device to the receiving device contains the service data block, but does not limit the content of the packet sent by the receiving device to the transmitting device.

[0051] The first and second devices transmit data synchronously via a reserved transmission window. The currently used reserved transmission window is the current transmission window. Each reserved transmission window can be sequentially divided into alternating first and second intervals, such as... Figure 4 As shown. The first interval is used for the first device to send packets to the second device, and the second interval is used for the second device to send packets to the first device. The lengths of the first interval and the second interval can be the same or different.

[0052] Specific conditions for determining whether the transmission of a first service data block associated with a first device is complete can be set as needed.

[0053] In some embodiments, the transmission of a first service data block associated with a first device may be performed in a non-retransmission manner. In the non-retransmission manner, the first device sends a packet containing the first service data block to the second device, and after receiving a packet sent by the second device in the second interval, the transmission associated with the first service data block is considered to be complete.

[0054] In other embodiments, the transmission of a first service data block associated with the first device can employ a retransmission method that does not span a transmission window. In this method, after the first device sends a packet containing the first service data block to the second device, it receives feedback information from the second device indicating whether the second device has successfully received the previous packet sent by the first device. If the second device has not successfully received the first service data block, it retransmits the packet containing the first service data block, and then receives a packet containing the feedback information from the second device. This process continues until the second device reports that it has successfully received the packet containing the first service data block, or the current transmission window ends, at which point the transmission associated with the first service data block is considered complete. Because the sending and receiving devices alternately send packets in chronological order, the "previous packet" referred to in this disclosure is the packet preceding the currently sent packet by the receiving device, i.e., the most recent packet sent by the sending device before the current packet sent by the receiving device.

[0055] In other embodiments, a retransmission method that spans transmission windows can be used. In this method, if the first device does not receive feedback from the second device indicating that it has successfully received the packet containing the first service data block sent by the first device until the current transmission window ends, the transmission of the first service data block is considered incomplete, and transmission continues within the reserved transmission window corresponding to the first service data block until the second device indicates that it has successfully received the packet containing the first service data block, or the reserved transmission window corresponding to the service data block ends. Therefore, the difference between a retransmission method that spans transmission windows and a retransmission method that does not span transmission windows is that the former allows the transmission of the same service data block to continue across transmission windows.

[0056] For the retransmission methods in the two embodiments above, a checksum can be added to the packet sent by the first device. The checksum contains the checksum information of the first service data block. The second device determines whether it has successfully received the packet sent by the first device by calculating whether the checksum is correct.

[0057] In some embodiments, the data link between the first device and the second device is a bidirectional link, meaning that both the first device and the second device have service data to send to the other. In this embodiment, the second device sends its generated second service data block to the first device via a second packet. In some embodiments, the second packet may also include feedback information indicating whether the second device has successfully received the previous first packet sent by the first device. Accordingly, after receiving the second packet sent by the second device, the first device may include feedback information indicating whether it has successfully received the previous second packet sent by the second device in its subsequent first packets.

[0058] In some embodiments, the numerical control link between the first device and the second device is a unidirectional link, meaning the second device has no service data to send to the first device. In this embodiment, the second packet may include feedback information indicating whether the second device has successfully received the previous first packet sent by the first device, but does not include service data blocks.

[0059] In this disclosure, determining whether there is sufficient remaining time within the current transmission window refers to whether, after the completion of data transmission associated with the previous first service data block, there is enough time remaining in the current transmission window for one transmission of the first service data block associated with the first device. That is, whether the remaining time is sufficient for the first device to send a packet associated with the first service data block to the second device and receive a packet from the second device.

[0060] Since the length of the first service data block is usually fixed, the time it takes for the first device to send a packet containing the first service data block to the second device is also fixed; for example, it can be equal to the length of the first interval. The time required for the second device to send the packet can vary depending on the specific situation; it can be shorter than the length of the second interval, but it must not exceed the length of the second interval. For example, when the second device needs to send a fixed-length packet, the time required for the second device to send the packet can be equal to the length of the second interval. When the second device has no service data blocks to send to the first device, the packet sent by the second device may not contain a payload, but only send feedback information to the first device indicating whether the second device has successfully received the packet sent by the first device. The first device can determine whether there is sufficient remaining time within the current transmission window based on the above situation. When the first device cannot determine whether the second device has any service data blocks to send to the first device, the time required for the second device to send the packet can be set to the time required to include the service data block.

[0061] In step 120, in response to the current transmission window having sufficient remaining time, data transmission associated with the first service data block to be transmitted is performed with the second device during the remaining time.

[0062] Once the transmission of a service data block associated with the transmitting device is completed, the next service data block to be transmitted by the transmitting device becomes the current service data block to be transmitted. It can be understood that, since each service data block corresponds to a reserved transmission window, the start time of the reserved transmission window corresponding to the currently transmitted service data block is later than the current transmission window.

[0063] In this step, if the first device confirms that there is sufficient remaining time in the current transmission window, it continues to use that remaining time for data transmission of the first service data block associated with the data to be transmitted. In this way, by sending the first service data block corresponding to the next reserved transmission window in the current transmission window, the resources of the reserved transmission window can be fully utilized. Furthermore, if the first service data block corresponding to the next reserved transmission window is successfully transmitted in the current transmission window, the next reserved transmission window can be used for the transmission of other links or service data.

[0064] In this disclosure, the method of sending the first service data block corresponding to a future reserved transmission window before the start time of the future reserved transmission window arrives is referred to as the pre-transmission of the first service data block.

[0065] In some embodiments, after step 120 is completed, step 110 can continue to be executed until the current transmission window has insufficient remaining time. If the current transmission window has insufficient remaining time, then step 130 is executed.

[0066] In step 130, in response to the current transmission window not having enough remaining time, the reserved transmission window corresponding to the first service data block to be transmitted is used as a new transmission window, and data transmission associated with the first service data block to be transmitted is performed with the second device in the new transmission window.

[0067] The first service data block to be transmitted can be a new service data block that the first device has not sent to the second device, or it can be a service data block that the first device has pre-transmitted to the second device in a previous transmission window, but has not been fully transmitted.

[0068] As can be seen from the above steps, the method 100 of this disclosure, compared with the prior art, uses a pre-transmission mechanism, so that the reserved transmission window corresponding to the service data block that is transmitted through the pre-transmission mechanism is no longer used for the transmission of the current data link, thereby freeing up more continuous time slices for data transmission of other links, reducing the fragmentation of time slices, reducing the frequency of link switching, and thus reducing the scheduling difficulty in the case of multiple links and multiple services concurrently.

[0069] It should be noted that since Bluetooth SCO links do not perform retransmissions, the embodiment of the non-retransmission service data block transmission method in Method 100 can be applied to Bluetooth SCO links. Because the protocol specifies a transmission interval of 4 time slots for HV2 packets and 6 time slots for HV3 packets in Bluetooth SCO links, but the time slot length required for both HV2 and HV3 packet transmission is 1 time slot, there is still remaining time before the next reserved transmission window after the first and second devices perform a packet exchange. Therefore, Method 100 of this disclosure can be applied to Bluetooth SCO links, and the type of packets sent by the first or second device can be HV2 or HV3.

[0070] Since the Bluetooth eSCO link supports retransmission, the embodiment of the transmission method for retransmitting service data blocks in method 100 can be applied to the Bluetooth eSCO link. Furthermore, the transmission method associated with the first service data block can be either a non-transmission window method or a cross-transmission window method.

[0071] To facilitate understanding of this disclosure by those skilled in the art, Figures 5-8 The method 100 of this disclosure will be further described through different embodiments. Figures 5-7 The diagram illustrates three consecutive reserved transmission windows 240, 241, and 242. A first device generates three consecutive first service data blocks A, B, and C, corresponding to reserved transmission windows 240, 241, and 242, respectively. A second device generates three consecutive second service data blocks 1, 2, and 3. In the diagram, A, B, or C indicates that the first packet sent by the first device contains first service data blocks A, B, or C, and 1, 2, or 3 indicates that the second packet sent by the second device contains second service data blocks 1, 2, or 3. "ACK" indicates feedback information generated by the second device indicating that it has successfully received the previous first packet sent by the first device, and "NAK" indicates feedback information generated by the second device indicating that it has not successfully received the previous first packet sent by the first device.

[0072] Figure 5 An embodiment of the method 100 of this disclosure is shown, in which a first service data block B is pre-transmitted and successfully transmitted.

[0073] like Figure 5As shown, the first device begins data transmission associated with the first service data block A at the start of the reserved transmission window 240 corresponding to the first service data block A. Therefore, the reserved transmission window 240 is used as the current transmission window. The first device sends a first packet containing A in the first interval 2401, and receives a second packet sent by the second device in the immediately following second interval 2402. The second packet includes the second service data block 1 and an "ACK" for the first packet. After receiving the "ACK", the first device confirms that the data transmission associated with the first service data block A has been completed, and the first service data block to be transmitted is B. The first device determines whether there is enough remaining time in the current transmission window 240 (step 110). After confirming that there is enough remaining time, it performs data transmission associated with the first service data block B in the remaining time (step 120). The first device first sends a new first packet containing the first service data block B and a feedback message "NAK" for the second packet to the second device. After receiving the NAK, the second device retransmits the second service data block 1. After the first device completes the data transmission associated with the first service data block B through two transmissions, the first service data block C to be transmitted is now ready. The first device determines that there is insufficient remaining time in the current transmission window, and uses the reserved transmission window 242 corresponding to the first service data block C as the new transmission window to transmit data associated with the first service data block C with the second device.

[0074] As can be seen from this embodiment, after the first service data block B is pre-transmitted, its corresponding reserved transmission window 241 becomes available and can be used for the transmission of other links or service data. This allows the continuous time slice from the end of transmission window 240 to the start of transmission window 242 to be used for the transmission of other links or service data.

[0075] Figure 6 Another embodiment of the method 100 of this disclosure is shown, in which a first service data block B is pre-transmitted but the transmission fails.

[0076] This embodiment and Figure 5 The difference in the illustrated embodiment is that, in this embodiment, although the pre-transmission of the first service data block B fails, since the current window 240 has ended, B is no longer transmitted in the pre-transmission window 241 corresponding to the first service data block B. The characteristic of this implementation is that after the pre-transmission of the first service data block, a reserved transmission window corresponding to that pre-transmitted first service data block can always be freed up for the transmission of other links or service data. This implementation essentially reduces the degree of time-slice fragmentation by tolerating partial packet loss.

[0077] Figure 7Another embodiment of the method 100 of this disclosure is shown, in which the first service data block B is pre-transmitted and the transmission fails, and transmission continues in its corresponding reserved transmission window.

[0078] This embodiment and Figure 6 The difference in the illustrated embodiment is that, in this embodiment, if the first service data block B to be transmitted is not successfully transmitted before the current window 240 ends, then the first service data block to be transmitted is still B. Therefore, the reserved transmission window 241 corresponding to the first service data block B is used as the new transmission window. After the start time of the new transmission window is reached, the new transmission window becomes the current transmission window, and the first service data block B continues to be transmitted in the current transmission window 241 (step 130). In addition, after the first service data block B is successfully transmitted, the first device determines whether the current transmission window 241 has enough remaining time (step 110). After confirming that the transmission window 241 has enough remaining time, the data transmission associated with the first service data block C is performed in the remaining time (step 120).

[0079] In this embodiment, since the first service data block to be pre-transmitted can be retransmitted across the transmission window, the first service data block has more transmission opportunities, thus increasing the probability of successful transmission of the first service data block.

[0080] Figure 8 Another embodiment of the method 100 of this disclosure is shown, in which both first service data blocks B and C are pre-transmitted and successfully transmitted.

[0081] In this embodiment, after the first service data block A is successfully transmitted within the current transmission window, the first device determines whether there is sufficient remaining time in the current transmission window (step 110). If sufficient remaining time is confirmed, data transmission associated with the first service data block B is performed within the remaining time (step 120). After the first service data block B is successfully transmitted, the device determines whether there is sufficient remaining time in the current transmission window (step 110). If sufficient remaining time is confirmed, data transmission associated with the first service data block C is performed within the remaining time (step 120).

[0082] In this embodiment, since both the first service data blocks B and C are transmitted within the reserved transmission window corresponding to data block A, the reserved transmission windows corresponding to the first service data blocks B and C can be used for the transmission of other links or service data.

[0083] Figure 9A flowchart of a synchronous link data transmission method 400 according to another embodiment of this disclosure is shown. Similar to method 100, method 400 is performed by a first device for synchronous link data transmission between the first device and a second device. Method 400 includes the following steps:

[0084] In step 410, in response to the completion of data transmission associated with the previous first service data block within the current transmission window, it is determined whether the current transmission window has sufficient remaining time.

[0085] This step can be referred to step 110 of method 100, and will not be repeated here.

[0086] In step 420, in response to the current transmission window having sufficient remaining time, data transmission associated with the first service data block to be transmitted is performed with the second device during the remaining time.

[0087] This step can be referred to step 120 of method 100, so it will not be repeated here.

[0088] In step 430, in response to the completion of data transmission associated with the first service data block to be transmitted, the reserved transmission window corresponding to the new first service data block to be transmitted is used as the new transmission window, and data transmission associated with the new first service data block to be transmitted is performed with the second device in the new transmission window.

[0089] In this step, the first device confirms that the data transmission associated with the first service data block to be transmitted has been completed. This means that the first service data block has been pre-transmitted within the current transmission window, and the reserved transmission window corresponding to the first service data block can be used for data transmission of other links or other services. Therefore, in this step, regardless of whether there is remaining time in the current transmission window, no further pre-transmission of new first service data blocks to be transmitted will be performed within the current transmission window. Instead, the new first service data block to be transmitted will be transmitted only after the reserved transmission window corresponding to the new first service data block begins.

[0090] Figure 10 An embodiment of the method 400 of this disclosure is shown, in which the first service data block B still has remaining time after the current transmission window has been successfully pre-transmitted.

[0091] like Figure 10As shown, the first device starts data transmission associated with the first service data block A at the beginning of the reserved transmission window 240 corresponding to the first service data block A. After confirming that the data transmission associated with the first service data block A has been completed, the first service data block to be transmitted is B. The first device determines whether there is enough remaining time in the current transmission window 240 (step 410). After confirming that there is enough remaining time, it performs data transmission associated with the first service data block B in the remaining time (step 420). After the data transmission associated with the first service data block B is completed, the first service data block to be transmitted is C. At this time, although the current transmission window still has enough remaining time for transmitting the first service data block C, the first device does not continue to transmit the first service data block C in the remaining time. Instead, it uses the reserved transmission window 242 corresponding to the first service data block C as a new transmission window and performs data transmission associated with the first service data block C with the second device in the new transmission window (step 430).

[0092] As can be seen from this embodiment, after a pre-transmission within the remaining time of the current transmission window, although there is still remaining time in the current transmission window, the first device no longer uses the remaining time to transmit a new first service data block. Instead, it transmits within the pre-transmission window corresponding to the new first service data block. Therefore, for method 400, the time advance between the transmission time of the first service data block participating in the pre-transmission and the start time of the reserved transmission window for the first service data block is less than a preset interval, resulting in less time jitter in the first service data block received by the second device. This method is suitable for applications with strict requirements on latency jitter. Method 400 is essentially a trade-off between the degree of improvement in time slice fragmentation and the time jitter of the service data block.

[0093] This disclosure also provides a communication device including a processor and a non-transitory storage medium storing computer-executable instructions. These computer-executable instructions can be executed by the processor to perform various functions or steps of the various embodiments of the synchronous link data transmission method 100 or 400 described above.

[0094] This disclosure also provides a non-volatile computer-readable storage medium storing computer-executable instructions that, when executed by a computer, can perform various functions or steps of various embodiments of method 100 or 400.

[0095] Those skilled in the art can understand and implement other modifications to the disclosed embodiments by reading the specification, the disclosure, the drawings, and the appended claims. In the claims, the word "comprising" does not exclude other elements and steps, and the words "a" or "an" do not exclude a plurality. In practical applications of this application, a single part may perform the function of multiple technical features referenced in the claims. Any reference numerals in the claims should not be construed as limiting the scope.

Claims

1. A Bluetooth synchronization link data transmission method, used for data transmission on a synchronization link between a first device and a second device, characterized in that, The synchronization link has reserved transmission windows set at preset intervals. The first device generates first service data blocks for data transmission on the synchronization link. Each first service data block corresponds to a reserved transmission window in chronological order. The method is executed by the first device and includes: Step S1: In response to the completion of data transmission associated with the previous first service data block within the current transmission window, determine whether the current transmission window has sufficient remaining time; Step S2: In response to the current transmission window having sufficient remaining time, data transmission associated with the first service data block to be transmitted is performed with the second device, wherein the start time of the reserved transmission window corresponding to the first service data block to be transmitted is later than that of the current transmission window.

2. The method as described in claim 1, characterized in that, The method further includes: Repeat steps S1 and S2 until the current window has not enough time remaining.

3. The method as described in claim 1, characterized in that, The method further includes: In response to the current transmission window not having enough remaining time, the reserved transmission window corresponding to the first service data block to be transmitted is used as a new transmission window, and data transmission associated with the first service data block to be transmitted is performed with the second device in the new transmission window.

4. The method as described in claim 1, characterized in that, The method further includes: In response to the completion of data transmission associated with the currently pending first service data block, a reserved transmission window corresponding to the new pending first service data block is used as a new transmission window, and data transmission associated with the new pending first service data block is performed with the second device in the new transmission window.

5. The method as described in claim 1, characterized in that, The preset interval of the link is determined by the first device and the second device through negotiation when establishing the link.

6. The method as described in claim 1, characterized in that, The current transmission window includes a first interval and a second interval that are alternately distributed in chronological order. The first interval is used for the first device to send packets to the second device, and the second interval is used for the second device to send packets to the first device.

7. The method as described in claim 1, characterized in that, Data transmission with the second device associated with the first service data block currently to be transmitted includes: Send a first packet, including the first service data block currently to be transmitted, to the second device; Receive the second packet sent by the second device.

8. The method as described in claim 7, characterized in that, The synchronization link is a Bluetooth SCO link.

9. The method as described in claim 8, characterized in that, The first group is either the HV2 group or the HV3 group.

10. The method as described in claim 1, characterized in that, Data transmission with the second device associated with the first service data block to be transmitted includes: The following steps are executed sequentially until the transmission of the first service data block to be transmitted is completed: Send a first packet, including the first service data block currently to be transmitted, to the second device; Receive feedback information sent by the second device indicating whether the second device has successfully received the previous first packet sent by the first device; and Determine whether the first service data block to be transmitted has been completed.

11. The method as described in claim 10, characterized in that, Determining whether the first service data block to be transmitted has been completed includes: If feedback from the second device is received within the current transmission window, indicating that the second device has successfully received feedback information from the first device regarding the previous first packet, then the transmission of the first service data block to be transmitted is confirmed to be complete.

12. The method as described in claim 11, characterized in that, Determining whether the first service data block to be transmitted has been successfully transmitted also includes: If the current transmission window ends, it is confirmed that the transmission of the first service data block to be transmitted has been completed.

13. The method as described in claim 11, characterized in that, Determining whether the first service data block to be transmitted has been successfully transmitted also includes: If the current transmission window ends, but no feedback is received from the second device indicating that the second device has successfully received the previous first packet sent by the first device, then it is confirmed that the transmission of the first service data block to be transmitted is not complete.

14. The method as described in claim 10, characterized in that, The feedback information sent by the second device, indicating whether the second device has successfully received the previous first packet sent by the first device, includes: The device receives a second packet sent by the second device, the second packet including feedback information indicating whether the second device has successfully received the previous first packet sent by the first device.

15. The method as described in claim 10, characterized in that, The feedback information sent by the second device, indicating whether the second device has successfully received the previous first packet sent by the first device, includes: The device receives a second packet sent by the second device. The second packet includes feedback information indicating whether the second device has successfully received the previous first packet sent by the first device, and also includes a second service data block generated by the second device.

16. The method as described in claim 15, characterized in that, The first packet also includes feedback information indicating whether the first device has successfully received the previous second packet sent by the second device.

17. The method as described in claim 10, characterized in that, The synchronization link is a Bluetooth eSCO link.

18. A communication device, characterized in that, The communication device includes a processor and a non-transitory storage medium storing computer-executable instructions, which can be executed by the processor to perform the method of any one of claims 1-17.

19. A non-volatile computer-readable storage medium, characterized in that, It stores computer-executable instructions that, when executed by a computer, perform the method as described in any one of claims 1-17.