US-12628046-B2 - Prioritization of isochronous streams in multi-protocol system
Abstract
A multi-protocol wireless communications system uses prioritization of isochronous streams to increase the reliability and improve bandwidth utilization. Placement of subevents in an isochronous interval according to link quality reduces fragmentation of the isochronous interval. A method for multi-protocol communications between wireless communications devices using a wireless communications interface includes placing in an isochronous group event, by a first wireless communications device, at least one subevent for each isochronous stream of a plurality of isochronous streams of an isochronous group based on a historical retransmission rate for each isochronous stream of the plurality of isochronous streams. The method may include counting retransmissions for each isochronous stream of the plurality of isochronous streams to thereby determine the historical retransmission rate for each isochronous stream of the plurality of isochronous streams.
Inventors
- Jitesh Rachamadugu
- Srinivasa Reddy Konatham
- Ayan Ghosh
Assignees
- SILICON LABORATORIES INC.
Dates
- Publication Date
- 20260512
- Application Date
- 20230215
Claims (17)
- 1 . A method for multi-protocol communications between wireless communications devices using a wireless communications interface, the method comprising: placing in an isochronous group event, by a first wireless communications device, at least one subevent for each isochronous stream of a plurality of isochronous streams of an isochronous group based on a historical retransmission rate for each isochronous stream of the plurality of isochronous streams, wherein at least one isochronous stream of the plurality of isochronous streams includes fewer than a maximum number of subevents in a corresponding isochronous event of the isochronous group event, wherein the at least one subevent is adjacently placed in the isochronous group event and all isochronous events of the isochronous group event are adjacently placed in an isochronous interval, wherein the isochronous group event is associated with a first wireless communications protocol and all subevents of the isochronous group event are placed contiguously in the isochronous interval before any event of a second wireless communications protocol in the isochronous interval, and wherein communications according to the second wireless communications protocol are present in the isochronous interval and are uninterrupted by subevents of the isochronous group event.
- 2 . The method as recited in claim 1 , further comprising: counting retransmissions for each isochronous stream of the plurality of isochronous streams to thereby determine the historical retransmission rate for each isochronous stream of the plurality of isochronous streams.
- 3 . The method as recited in claim 1 , further comprising: transmitting by the first wireless communications device, packets corresponding to each subevent of the isochronous group, using an isochronous physical channel.
- 4 . The method as recited in claim 1 , wherein the at least one subevent is placed in the isochronous group event in an order of ascending or descending historical retransmission rates of corresponding isochronous streams.
- 5 . The method as recited in claim 1 wherein the placing includes adjusting a timing parameter associated with an isochronous stream based on the historical retransmission rate.
- 6 . The method as recited in claim 1 wherein the wireless communications interface is a Bluetooth Low Energy interface, the first wireless communications device is configured as a central device, and a second wireless communications device is configured as a peripheral device, and wherein the isochronous group is a Connected Isochronous Group (CIG).
- 7 . The method as recited in claim 6 wherein the plurality of isochronous streams of the isochronous group are synchronized to a common timing reference of the central device.
- 8 . A wireless communications system comprising: a first wireless communications device comprising: a transmitter circuit; and a controller circuit configured to cause the transmitter circuit to transmit, using an isochronous physical channel, at least one subevent for each isochronous stream of a plurality of isochronous streams of an isochronous group based on a historical retransmission rate for each isochronous stream of the plurality of isochronous streams, wherein at least one isochronous stream of the plurality of isochronous streams includes fewer than a maximum number of subevents in a corresponding isochronous event of an isochronous group event, wherein the at least one subevent is adjacently placed in the isochronous group event and all isochronous events of the isochronous group event are adjacently placed in an isochronous interval, wherein the isochronous group event is associated with a first wireless communications protocol and all subevents of the isochronous group event are placed contiguously in the isochronous interval before any event of a second wireless communications protocol in the isochronous interval, and wherein communications according to the second wireless communications protocol are present in the isochronous interval and are uninterrupted by subevents of the isochronous group event.
- 9 . The wireless communications system as recited in claim 8 wherein the controller circuit comprises: a storage element; and a processor configured to execute instructions stored in the storage element, the instructions being executable by the processor to cause the processor to place in the isochronous group event, the at least one subevent for each isochronous stream of the plurality of isochronous streams of the isochronous group based on the historical retransmission rate for each isochronous stream of the plurality of isochronous streams.
- 10 . The wireless communications system as recited in claim 9 wherein the processor is further configured to count retransmissions for each isochronous stream of the plurality of isochronous streams to thereby determine the historical retransmission rate for each isochronous stream of the plurality of isochronous streams.
- 11 . The wireless communications system as recited in claim 9 wherein the processor is further configured to adjust a timing parameter associated with an isochronous stream based on the historical retransmission rate.
- 12 . The wireless communications system as recited in claim 8 wherein the controller circuit is further configured to place at least one subevent in the isochronous group event in an order of ascending or descending historical retransmission rates of corresponding isochronous streams.
- 13 . The wireless communications system as recited in claim 8 wherein the wireless communications system is a Bluetooth Low Energy system, the first wireless communications device is configured as a central device, and a second wireless communications device is configured as a peripheral device, wherein the isochronous group is a Connected Isochronous Group (CIG), and wherein the plurality of isochronous streams of the isochronous group are synchronized to a common timing reference of the central device.
- 14 . The wireless communications system as recited in claim 8 further comprising: a second wireless communications device comprising: a receiver circuit; and a second controller circuit configured to cause the receiver circuit to receive, using the isochronous physical channel, the at least one subevent.
- 15 . A method for communicating between devices using a wireless communications interface, the method comprising: receiving at least one subevent for each isochronous stream of a plurality of isochronous streams of an isochronous group in an order based on a historical retransmission rate for each isochronous stream of the plurality of isochronous streams, wherein at least one isochronous stream of the plurality of isochronous streams includes fewer than a maximum number of subevents in a corresponding isochronous event of an isochronous group event, wherein the at least one subevent is adjacently placed in the isochronous group event and all isochronous events of the isochronous group event are adjacently placed in an isochronous interval, wherein the isochronous group event is associated with a first wireless communications protocol and all subevents of the isochronous group event are placed contiguously in the isochronous interval before any event of a second wireless communications protocol in the isochronous interval, and wherein communications according to the second wireless communications protocol are present in the isochronous interval and are uninterrupted by subevents of the isochronous group event.
- 16 . The method as recited in claim 15 wherein the order is ascending or descending historical retransmission rates of corresponding isochronous streams.
- 17 . The method as recited in claim 15 wherein the devices are Bluetooth Low Energy devices, a first wireless communications device of the devices is configured as a central device, and a second wireless communications device of the devices is configured as a peripheral device, wherein the isochronous group is a Connected Isochronous Group (CIG), and wherein the plurality of isochronous streams of the isochronous group are synchronized to a common timing reference of the central device.
Description
BACKGROUND Field of the Invention This disclosure relates to communications systems in general, and more particularly to radio frequency (RF) communications systems. Description of the Related Art Bluetooth® Low Energy (BLE) is an exemplary communications protocol designed for low power and low latency applications. In general, BLE specifications support isochronous data transactions (e.g., a Connected Isochronous Stream (CIS) or a Broadcast Isochronous Stream (BIS)) and asynchronous data transactions (e.g., Asynchronous Connection Link (ACL) transactions). Isochronous transactions may be used for latency-sensitive data, i.e., time-bound data for time-synchronized processing (e.g., real time voice or audio streaming) that should be transmitted at a constant rate. The data has a time-limited validity period, at the end of which it is said to expire. Expired data that has not yet been transmitted is discarded. Receiving devices only receive data that is valid with respect to rules regarding its age and acceptable latency. Isochronous data transactions ensure that multiple sink devices, which receive data from the same source, will render the data at the same time. An upper layer of the BLE protocol stack typically uses an isochronous data channel for constant data throughput and periodicity of communication of real time audio data. In a conventional BLE system, a CIS is associated with a single audio source device and one or more audio sink devices. The source device transmits audio packets to each sink device individually. A sink device acknowledges successful reception of a prior transmission. If the source device does not receive an acknowledgement of receipt of a packet sent in a subevent, then the source device retransmits the packet in a next subevent until a maximum number of subevents is transmitted. If the source device receives an acknowledgement of receipt of the packet, then the source device does not retransmit the packet to the sink device and the CIS event ends before transmitting a maximum number of subevents. If a transmission of a packet was acknowledged, the source device does not retransmit the packet to the sink device and the CIS event ends early and another communications protocol (e.g., Wi-Fi®) may begin communications in the isochronous interval before a next CIS event of the corresponding Connected Isochronous Group (CIG) begins. If each CIS event in a CIG uses a maximum number of subevents, then the CIG will complete before another protocol (e.g., Wi-Fi) has an opportunity to communicate in the isochronous interval. However, if one or more of the CIS events in the CIG have a high-quality connection that does not require retransmissions, one or more gaps occur in the CIG event and another protocol may transmit during those gaps, resulting in fragmentation of bandwidth utilization. Such fragmented bandwidth utilization increases the number of radio switching delays in an isochronous interval, thereby degrading performance (e.g., throughput) of the BLE communications or communications using the other protocol. Accordingly, improved techniques for communicating isochronous data are desired. SUMMARY OF EMBODIMENTS OF THE INVENTION In at least one embodiment, a method for multi-protocol communications between wireless communications devices using a wireless communications interface includes placing in an isochronous group event, by a first wireless communications device, at least one subevent for each isochronous stream of a plurality of isochronous streams of an isochronous group based on a historical retransmission rate for each isochronous stream of the plurality of isochronous streams. The method may include counting retransmissions for each isochronous stream of the plurality of isochronous streams to thereby determine the historical retransmission rate for each isochronous stream of the plurality of isochronous streams. The at least one subevent may be placed in the isochronous group event in an order linearly related to the historical retransmission rate for each isochronous stream of the plurality of isochronous streams. In an embodiment, a wireless communications system includes a first wireless communications device having a transmitter circuit and a controller circuit. The controller circuit is configured to cause the transmitter circuit to transmit, using an isochronous physical channel, at least one subevent for each isochronous stream of a plurality of isochronous streams of an isochronous group based on a historical retransmission rate for each isochronous stream of the plurality of isochronous streams. The controller circuit may include a storage element and a processor configured to execute instructions stored in the storage element. The instructions may be executable by the processor to cause the processor to place in an isochronous group event, the at least one subevent for each isochronous stream of the plurality of isochronous streams of the isochronous group based on