Apparatus and method for BLE auto-synchronization between host and controller

By enabling HCI ISO data packets to contain multiple SDUs, the solution addresses the synchronization limitations in BLE, allowing for advanced codecs and improved buffer management, enhancing user experience and enabling new use cases.

CN119155785APending Publication Date: 2024-12-17INTEL CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410349191.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-14
Filing Date
2024-03-26
Publication Date
2024-12-17

AI Technical Summary

Technical Problem

The existing Bluetooth Low Energy (BLE) specification does not allow for synchronization of multiple service data units (SDUs) in host-controller communication, limiting the use of advanced codecs and efficient buffer management in Bluetooth systems.

Method used

The proposed solution involves generating and encoding HCI ISO data packets that can contain multiple SDUs, enabling automatic synchronization between a host and a controller, allowing for advanced codecs like LC3 to be used and optimizing buffer usage.

Benefits of technology

This approach enables automatic synchronization in the HCI path, allowing for the use of advanced codecs and improved buffer management, enhancing user experience and enabling new use cases such as spatial audio.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119155785A_ABST
    Figure CN119155785A_ABST
Patent Text Reader

Abstract

The application provides an apparatus and method for BLE auto-synchronization between a host and a controller. An apparatus includes an interface; and a processor circuit, where the processor circuit is to: generate a host controller interface (HCI) synchronization (ISO) data packet; and encoding the HCI ISO data packet for transmission via an interface to a logical entity in the Bluetooth communication, where the HCI ISO data packet includes a plurality of service data units (SDUs). Other embodiments are also protected and described.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure relate generally to wireless communications, and in particular to apparatus and methods for Bluetooth Low Energy (BLE) automatic synchronization of compressed Low Complexity Communications Codec (LC3) channel content between a host and a controller. Background Art

[0002] Bluetooth is one of the most widely used technologies in the field of wireless communications. Bluetooth is a short-range wireless technology that operates in the unlicensed 2.4GHz Industrial Scientific Medical (ISM) band and is used to transmit data and build personal area networks (PANs). Bluetooth Low Energy (BLE) is one of the most popular protocols in the Bluetooth specification, with many advantages such as low power consumption and low development cost. Summary of the invention

[0003] One aspect of the present disclosure provides an apparatus, comprising: an interface; and a processor circuit, wherein the processor circuit is used to: generate a host controller interface (HCI) synchronization (ISO) data packet; and encode the HCI ISO data packet for transmission to a logical entity in Bluetooth communication via the interface, wherein the HCI ISO data packet includes a plurality of service data units (SDUs).

[0004] An aspect of the present disclosure provides an apparatus comprising: an interface; and a processor circuit, wherein the processor circuit is configured to: decode a host controller interface (HCI) synchronization (ISO) data packet, the HCI ISO data packet being received from a logical entity in Bluetooth communication via the interface; and in response to the HCI ISO data packet, encode an acknowledgement for transmission to the logical entity via the interface, wherein the HCI ISO data packet comprises a plurality of service data units (SDUs). BRIEF DESCRIPTION OF THE DRAWINGS

[0005] Embodiments of the present disclosure will be illustrated by way of example and not limitation in the accompanying drawings in which like reference numerals refer to similar elements.

[0006] Figure 1 is a network diagram illustrating an example wireless network of an auto-synchronizing BLE system according to some example embodiments of the present disclosure.

[0007] Figure 2 An example of an existing HCI ISO data packet format is shown.

[0008] Figure 3 Examples of two possible ways of sending audio data are shown.

[0009] Figure 4A flow chart of a method for transmitting HCI ISO data packets between a host and a controller according to some embodiments of the present disclosure is shown.

[0010] 5( a ) and 5 ( b ) respectively illustrate examples of HCI ISO data packet formats according to some embodiments of the present disclosure.

[0011] Figure 6 An example of grouping multiple SDUs in a single HCI ISO data packet according to some embodiments of the present disclosure is shown.

[0012] Figure 7 A flow chart of a method for transmitting HCI ISO data packets between a host and a controller according to some embodiments of the present disclosure is shown.

[0013] Figure 8 is a block diagram of a radio architecture according to some examples.

[0014] Fig. 9 A method for performing a multi-function circuit according to one or more example embodiments of the present disclosure is shown. Figure 8 Example front-end module circuit in a radio architecture of FIG.

[0015] Fig.10 A method for performing a multi-function circuit according to one or more example embodiments of the present disclosure is shown. Figure 8 Example radio IC circuit in a radio architecture of FIG.

[0016] Fig.11 A method for performing a multi-function circuit according to one or more example embodiments of the present disclosure is shown. Figure 8 Example baseband processing circuitry in a radio architecture of FIG.

[0017] Fig.12 A functional diagram of an exemplary communication station that may be suitable for use as user equipment according to one or more example embodiments of the present disclosure is shown.

[0018] Fig.13 A block diagram is shown of an example machine upon which any of one or more techniques (eg, methodologies) may be performed according to one or more example embodiments of the present disclosure. DETAILED DESCRIPTION

[0019] The various aspects of the illustrative embodiments will be described using terms commonly used by those skilled in the art to convey the essence of the present disclosure to other persons skilled in the art. However, it will be readily understood by those skilled in the art that many alternative embodiments may be practiced using portions of the described aspects. For purposes of explanation, specific numbers, materials, and configurations are set forth to provide a thorough understanding of the illustrative embodiments. However, it will be readily understood by those skilled in the art that alternative embodiments may be practiced without these specific details. In other cases, well-known features may be omitted or simplified to avoid blurring the illustrative embodiments.

[0020] Furthermore, various operations will be described as multiple discrete operations in a manner that is most helpful for understanding the illustrative embodiments; however, the order of description should not be construed as implying that these operations are necessarily order dependent. In particular, these operations do not need to be performed in the order presented.

[0021] The phrases "in an embodiment," "in one embodiment," and "in some embodiments" are used repeatedly herein. The phrase generally does not refer to the same embodiment; however, it may. The terms "comprising," "having," and "including" are synonymous unless the context dictates otherwise. The phrases "A or B" and "A / B" mean "(A), (B), or (A and B)."

[0022] Figure 1 is a network diagram illustrating an example wireless network 100 of an automatic synchronization BLE system according to some example embodiments of the present disclosure. The wireless network 100 may include one or more user devices 120 (e.g., 122, 124, 126, or 128) that may communicate through (one or more) networks 130 according to wireless standards (e.g., Bluetooth and IEEE 802.11 communication standards).

[0023] In some embodiments, user device 120 may include one or more computer systems, such as Fig.12 Functional diagram and / or Fig.13 An example machine / system is shown.

[0024] One or more illustrative user devices 120 may be operated by one or more users 110. User device(s) 120 (e.g., 122, 124, 126, or 128) may include any suitable processor-driven user device, including but not limited to a desktop user device, a laptop user device, a server, a router, a switch, an access point, a smartphone, a tablet computer, a wearable wireless device (e.g., a bracelet, a watch, glasses, a ring, etc.), etc.

[0025] Any user device 120 (eg, 122 , 124 , 126 , or 128 ) may be configured to communicate wirelessly or wired with each other and any other components of the wireless network 100 directly and / or through one or more communication networks 130 .

[0026] As used herein, the term "Internet of Things (IoT) device" is used to refer to any object (e.g., appliance, sensor, etc.) that has an addressable interface (e.g., Internet Protocol (IP) address, Bluetooth identifier (ID), near field communication (NFC) ID, etc.) and can transmit information to one or more other devices through a wired or wireless connection. IoT devices can have passive communication interfaces, such as quick response (QR) codes, radio frequency identification (RFID) tags, NFC tags, etc., or active communication interfaces, such as modems, transceivers, transmitter-receivers, etc. IoT devices can have a set of specific attributes (e.g., device states, such as whether the IoT device is turned on or off, on or off, idle or active, available for task execution or busy, etc., cooling or heating functions, environmental monitoring or recording functions, light emission functions, sound emission functions, etc.), which can be embedded in and / or controlled / monitored by a central processing unit (CPU), a microprocessor, an ASIC, etc., and configured to be connected to an IoT network, such as a local ad hoc network or the Internet. For example, IoT devices may include, but are not limited to, refrigerators, toasters, ovens, microwaves, freezers, dishwashers, dishes, hand tools, washers, dryers, stoves, air conditioners, thermostats, televisions, lamps, vacuum cleaners, sprinklers, electric meters, gas meters, etc., as long as these devices are equipped with an addressable communication interface for communicating with the IoT network. IoT devices may also include mobile phones, desktop computers, laptop computers, tablet computers, personal digital assistants (PDAs), etc. Therefore, an IoT network may include a combination of "traditional" Internet-accessible devices (e.g., laptop or desktop computers, mobile phones, etc.) and devices that do not typically have Internet connectivity (e.g., dishwashers, etc.).

[0027] Any of the communication networks 130 may include, but are not limited to, any combination of suitable communication networks of different types, such as a broadcast network, a wired network, a public network (e.g., the Internet), a private network, a wireless network, a cellular network, or any other suitable private and / or public network. In addition, any of the communication networks 130 may have any suitable communication range associated therewith, and may include, for example, a global network (e.g., the Internet), a metropolitan area network (MAN), a wide area network (WAN), a local area network (LAN), or a personal area network (PAN). In addition, any of the communication networks 130 may include any type of medium that can carry network traffic, including, but not limited to, coaxial cable, twisted pair, optical fiber, hybrid fiber coaxial (HFC) medium, microwave terrestrial transceiver, radio frequency communication medium, white space communication medium, ultra-high frequency communication medium, satellite communication medium, or any combination thereof.

[0028] Any of the user devices 120 (e.g., 122, 124, 126, 128) may include one or more communication antennas. The communication antennas may be any suitable type of antenna corresponding to the communication protocol used by the (one or more) user devices 120. Some non-limiting examples of suitable communication antennas include Bluetooth antennas, Wi-Fi antennas, IEEE 802.11 series standard compliant antennas, directional antennas, non-directional antennas, dipole antennas, folded dipole antennas, patch antennas, MIMO antennas, etc. The communication antennas may be communicatively coupled to the radio components to send and / or receive signals, such as communication signals, to and / or from the user devices 120 (e.g., 122, 124, 126, or 128).

[0029] Any one of the user equipment 120 (e.g., 122, 124, 126, 128) can be configured to perform directional transmission and / or directional reception in conjunction with wireless communication in a wireless network. Any one of the user equipment 120 (e.g., 122, 124, 126, 128) can be configured to use a set of multi-antenna arrays (e.g., DMG antenna arrays, etc.) to perform such directional transmission and / or reception. Each of the multiple antenna arrays can be used for transmission and / or reception in a specific corresponding direction or direction range. Any one of the user equipment 120 (e.g., 122, 124, 126, 128) can be configured to perform any given directional transmission to one or more defined transmission sectors. Any one of the user equipment 120 (e.g., 122, 124, 126, 128) can be configured to perform any given directional reception from one or more defined reception sectors.

[0030] Any of the user devices 120 (e.g., 122, 124, 126, or 128) may include any suitable radio and / or transceiver for sending and / or receiving radio frequency (RF) signals in a bandwidth and / or channel corresponding to a communication protocol used by any of the user devices 120 to communicate with each other. The radio component may include hardware and / or software to modulate and / or demodulate communication signals according to a pre-established transmission protocol. The radio component may also have hardware and / or software instructions to communicate via one or more Bluetooth, Wi-Fi, and / or Wi-Fi Direct protocols, such as standardized by the Bluetooth standard and the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard.

[0031] In certain example embodiments, a radio component cooperating with a communication antenna may be configured to communicate via a 2.4 GHz channel (e.g., 802.11b, 802.11g, 802.11n, 802.11ax), a 5 GHz channel (e.g., 802.11n, 802.11ac, 802.11ax, 802.11be, etc.), a 6 GHz channel (e.g., 802.11ax, 802.11be, etc.), or a 60 GHZ channel (e.g., 802.11ad). In some embodiments, non-Wi-Fi protocols may be used for communication between devices, such as Bluetooth, dedicated short range communication (DSRC), ultra-high frequency (UHF) (e.g., IEEE 802.11af, IEEE 802.22), white band frequencies (e.g., white space), or other packet radio communications. The radio component may include any known receiver and baseband suitable for communication via a communication protocol. The radio component may also include a low noise amplifier (LNA), an additional signal amplifier, an analog-to-digital (A / D) converter, one or more buffers, and a digital baseband.

[0032] Some embodiments may be used in conjunction with devices and / or networks operating in accordance with: existing Wireless Fidelity (WiFi) Alliance (WFA) specifications, including Wi-Fi Neighborhood Awareness Network (NAN) technical specifications (e.g., NAN and NAN2) and / or future versions and / or derivatives thereof; existing WFA point-to-point (P2P) specifications and / or future versions and / or derivatives thereof; existing Wireless Gigabit Alliance (WGA) specifications (Wireless Gigabit Alliance, Inc WiGig MAC and PHY Specification) and / or future versions and / or derivatives thereof; existing IEEE 802.11 standards and / or revisions (e.g., 802.11b, 802.11g, 802.11n, 802.11ac, 802.11ax, 802.11ad, 802.11ay, 802.11az, etc.).

[0033] Any of the (one or more) user devices 120 (e.g., 122, 124, 126, or 128) may include a Bluetooth core system. The Bluetooth core system may include a host and one or more controllers. The host is a logical entity that is defined as all layers below a non-core profile and above a host controller interface (HCI). A controller is a logical entity that is defined as all layers below the HCI. HCI synchronous (Isochronous, ISO) data packets are used to exchange synchronization data between the host and the controller. The Bluetooth core system may also include an interface (e.g., HCI) between the host and the controller. The existing HCI ISO data packet format defined in the existing Bluetooth core specification (e.g., Bluetooth Core Specification, v5.3, July 13, 2021; Bluetooth Core Specification, v5.4, January 31, 2023) does not allow synchronization of data packets of different peers because the HCI ISO data packet contains a service data unit (SDU) or a portion of an SDU, but does not contain more than one SDU.

[0034] Figure 2 An example of an existing HCI ISO data packet format is shown. As shown, the first 4 octets of each HCI ISO data packet contain 4 octet header fields. The header field includes: the least significant bits 0 to 11 (12 bits) as the Connection_Handle parameter, bits 12 to 13 as the PB_Flag parameter, bit 14 as the TS_Flag parameter, bit 15 as the RFU bit, bits 16 to 29 (14 bits) as the ISO_Data_Load_Length parameter, and bits 30 to 31 as the RFU bit. The ISO_Data_Load_Length subfield may contain the length of the ISO_Data_Load field (in octets). The ISO_Data_Load field may include a Packet_Sequence_Number subfield (not shown), an ISO_SDU_Length subfield (not shown), an ISO_SDU_Fragment subfield (not shown), and other (one or more) subfields. The ISO_SDU_Fragment subfield may contain synchronization data (SDU or SDU fragment). The Packet_Sequence_Number subfield may contain the sequence number of the SDU. The ISO_SDU_Length subfield may contain the total length of the SDU (not any individual fragments) in octets.

[0035] It can be seen that the existing HCI ISO data packet contains an SDU or a part of an SDU, but not more than one SDU. This means that each SDU must be managed separately, while the offload interface allows data samples (e.g., audio samples) of different channels to be grouped together.

[0036] Figure 3 Examples of two possible ways to send audio data are shown. The option on the left is to use pulse code modulation (PCM) sideband when using the LC3 codec at the controller. PCM data is inherently synchronous because it contains 16 bits of left audio and 16 bits of right audio as a single atomic word. The LC3 codec in the controller receives two sample buffers, then encodes the left and right audio and sends them to the link layer for two earbud devices (left and right). The option on the right side of the figure shows another implementation when the low-power (LE) audio codec is in the host (LC3 or other future codec). In this case, the current specification requires that the left compressed audio and the right compressed audio be sent as two separate packets between the host and the controller, and then the link layer sends these data packets to the left and right earbuds. Therefore, it is necessary to strengthen the automatic synchronization function in the HCI path (when the codec is located at the host).

[0037] However, there is currently no known solution to this problem when using the standard HCI interface, only vendor-specific interfaces that use a proprietary transport within the audio card firmware and then transfer PCM audio samples directly to the controller. Proprietary vendors limit the audio codecs that can be used, since only codecs supported by the Bluetooth controller can be used, not those supported by the host operating system (OS). In addition, not all platforms can implement the proprietary transport between the audio controller and the Bluetooth controller in the system.

[0038] Figure 3 Take audio as an example. However, in other examples, other data types may also involve the same problem. The present disclosure is not limited in this regard.

[0039] Example embodiments of the present disclosure are directed to systems, methods, devices, and computer-readable media for BLE automatic synchronization of compressed LC3 channel content between a host and a controller.

[0040] Figure 4 A flow chart of a method 400 for transmitting HCI ISO data packets between a host and a controller according to some embodiments of the present disclosure is shown. As shown, the method 400 may include operations 410 and 420.

[0041] At operation 410, an HCI ISO data packet is generated. The HCI ISO data packet includes a plurality of SDUs.

[0042] At operation 420, the HCI ISO data packet is encoded for transmission to a logical entity in Bluetooth communication.

[0043] Through the method 400, multiple LC3 SDUs may be grouped into a single HCI ISO data packet. Therefore, automatic synchronization in the HCI path may be achieved.

[0044] In some embodiments, the method 400 may be applicable to a host, and the logical entity may be a controller. In other words, in this case, the HCI ISO data packets in the method 400 may be generated by the host and transmitted from the host to the controller. In some embodiments, the method 400 may be applicable to a controller, and the logical entity may be a host. In other words, in this case, the HCI ISO data packets in the method 400 may be generated by the controller and transmitted from the controller to the host. The present disclosure is not limited in this respect.

[0045] In some embodiments, HCI ISO data packets may be transmitted over an interface (eg, an HCI interface).

[0046] In some embodiments, the HCI ISO data packets may carry audio data. In some embodiments, the HCI ISO data packets may carry non-audio data. The present disclosure is not limited in this respect.

[0047] 5( a ) and 5 ( b ) respectively illustrate examples of HCI ISO data packet formats according to some embodiments of the present disclosure.

[0048] As shown in FIG5(a), in some embodiments, the HCI ISO data packet may include an HCI ISO Num subfield for indicating the number of multiple SDUs. In the example shown in FIG5(a), the HCI ISO data packet carries two SDUs, so HCI ISO Num = 2. HCI ISO Num may be any other positive integer, and the present disclosure is not limited in this respect.

[0049] In some embodiments, each SDU of the multiple SDUs includes a left SDU and a right SDU, and the HCI ISO data packet may include a first Connection Handle subfield (Connection Handle 1 as shown in the figure) and a second Connection Handle subfield (Connection Handle 2 as shown in the figure), the first Connection Handle subfield corresponds to the left SDU of the multiple SDUs to indicate the logical channel used for the left SDU, and the second Connection Handle subfield corresponds to the right SDU of the multiple SDUs to indicate the logical channel used for the right SDU.

[0050] In some embodiments, the HCI ISO data packet may include multiple Length Left SDU subfields and multiple Length Right SDU subfields, each Length Left SDU subfield is used to indicate the length of the corresponding left SDU, and each Length Right SDU subfield is used to indicate the length of the corresponding right SDU. As shown in Figure 5(a), the HCI ISO data packet carries two SDUs, and therefore includes two Length Left SDU subfields and two Length Right SDU subfields.

[0051] In some embodiments, each Length Left SDU subfield in the plurality of Length Left SDU subfields is followed by a corresponding left SDU (Left SDU payload), and each Length Right SDU subfield in the plurality of Length Right SDU subfields is followed by a corresponding right SDU (Right SDU payload).

[0052] The HCI ISO data packet format in FIG. 5( b) differs from that in FIG. 5( a) in that FIG. 5( b) provides a backward compatible solution that utilizes currently reserved bits to indicate that more than one SDU is encoded. As shown in FIG. 5( b), a first Connection Handle subfield (as shown in the figure, Connection Handle 1) includes a flag (e.g., a reserved bit in the Connection Handle subfield) for indicating whether more than one SDU is included in the HCI ISO data packet. In some embodiments, a second Connection Handle subfield (as shown in the figure, Connection Handle 2) includes a flag for indicating whether more than one SDU is included in the HCI ISO data packet. The present disclosure is not limited in this respect.

[0053] Figure 6 An example of grouping multiple SDUs into a single HCI ISO data packet according to some embodiments of the present disclosure is shown. As shown in the figure, the left SDU of all SDUs to be grouped corresponds to Handle 1, and the right SDU of all SDUs to be grouped corresponds to Handle 2.

[0054] As shown in the figure, in some embodiments, after the payload is transmitted to the receiver (controller or host) via (one or more) HCI ISO data packets and is acknowledged by the receiver (controller or host), the receiver may transmit an event message, such as a "completed packet count event", to the sender (host or controller) to report how many buffers are available for the next (one or more) HCI ISO data packet transmissions.

[0055] Figure 7 A flow chart of a method 700 for transmitting HCI ISO data packets between a host and a controller according to some embodiments of the present disclosure is shown. As shown, the method 700 may include operations 710 and 720.

[0056] At operation 710, an HCI ISO data packet received from a logical entity in Bluetooth communication is decoded. The HCI ISO data packet includes a plurality of SDUs.

[0057] At operation 720, in response to the HCI ISO data packet, an acknowledgement is encoded for transmission to the logical entity.

[0058] In some embodiments, the method 700 may be applicable to a host and the logical entity may be a controller. In other words, in this case, the HCI ISO data packet in the method 400 may be received from the controller and decoded by the host, and an acknowledgement may be sent from the host to the controller. In some embodiments, the method 700 may be applicable to a controller and the logical entity may be a host. In other words, in this case, the HCI ISO data packet in the method 700 may be received from the host and decoded by the controller, and an acknowledgement may be sent from the controller to the host. The present disclosure is not limited in this respect.

[0059] In some embodiments, HCI ISO data packets may be transmitted via an interface (eg, an HCI interface).

[0060] In some embodiments, the HCI ISO data packets may carry audio data. In some embodiments, the HCI ISO data packets may carry non-audio data. The present disclosure is not limited in this respect.

[0061] In some embodiments, after acknowledging an HCI ISO data packet, an event message is encoded for transmission to the logical entity to indicate the amount of free buffer for the next HCI ISO data packet transmission.

[0062] The method 700 can be understood in conjunction with the above description and will not be described in detail here.

[0063] In the present disclosure, HCI ISO data packet formats for exchange between a host and a controller are proposed. These HCI ISO data packet formats can group multiple SDUs into a single HCI ISO data packet. This enables automatic synchronization in the HCI path and allows the use of more advanced codecs (such as audio codecs), enabling new use cases (such as spatial audio), an overall better user experience, and a more optimized use of buffers used in Bluetooth HCI.

[0064] Figure 8 It is based on Figure 1 105A, 105B is a block diagram of some embodiments of the radio architecture 105A, 105B implemented in any one of the example user equipment 120. The radio architecture 105A, 105B may include radio front end module (FEM) circuits 804a-b, radio IC circuits 806a-b, and baseband processing circuits 808a-b. The radio architecture 105A, 105B shown includes wireless local area network (WLAN) functionality and Bluetooth (BT) functionality, but the embodiments are not limited thereto. In the present disclosure, "WLAN" and "Wi-Fi" may be used interchangeably.

[0065] The FEM circuits 804a-b may include WLAN or Wi-Fi FEM circuits 804a and Bluetooth (BT) FEM circuits 804b. The WLAN FEM circuits 804a may include a receive signal path including circuits configured to operate on WLAN RF signals received from one or more antennas 801, amplify the received signals, and provide an amplified version of the received signals to the WLAN radio IC circuits 806a for further processing. The BT FEM circuits 804b may include a receive signal path including circuits configured to operate on BT RF signals received from one or more antennas 801, amplify the received signals, and provide an amplified version of the received signals to the BT radio IC circuits 806b for further processing. The FEM circuits 804a may also include a transmit signal path including circuits configured to amplify WLAN signals provided by the radio IC circuits 806a for wireless transmission to one or more of the antennas 801. Additionally, the FEM circuitry 804b may also include a transmit signal path that may include circuitry configured to amplify BT signals provided by the radio IC circuitry 806b for wireless transmission to one or more antennas. Figure 1 1, while FEM 804a and FEM 804b are shown as being distinct from one another, the embodiments are not limited thereto and include within their scope the use of a FEM (not shown) that includes a transmit path and / or receive path for both WLAN and BT signals, or the use of one or more FEM circuits where at least some of the FEM circuits share transmit and / or receive signal paths for both WLAN and BT signals.

[0066] The illustrated radio IC circuits 806a-b may include a WLAN radio IC circuit 806a and a BT radio IC circuit 806b. The WLAN radio IC circuit 806a may include a receive signal path that may include circuitry for down-converting a WLAN RF signal received from the FEM circuit 804a and providing a baseband signal to the WLAN baseband processing circuit 808a. The BT radio IC circuit 806b may in turn include a receive signal path that may include circuitry for down-converting a BT RF signal received from the FEM circuit 804b and providing a baseband signal to the BT baseband processing circuit 808b. The WLAN radio IC circuit 806a may also include a transmit signal path that may include circuitry for up-converting a WLAN baseband signal provided by the WLAN baseband processing circuit 808a and providing a WLAN RF output signal to the FEM circuit 804a for subsequent wireless transmission by one or more antennas 801. The BT radio IC circuit 806b may also include a transmit signal path that may include circuitry for up-converting a BT baseband signal provided by the BT baseband processing circuit 808b and providing a BT RF output signal to the FEM circuit 804b for subsequent wireless transmission by the one or more antennas 801. Figure 8 Although radio IC circuits 806a and 806b are shown as being distinct from one another, embodiments are not limited thereto and include within their scope the use of a radio IC circuit (not shown) that includes a transmit signal path and / or receive signal path for both WLAN and BT signals, or the use of one or more radio IC circuits at least some of which share transmit and / or receive signal paths for both WLAN and BT signals.

[0067] The baseband processing circuits 808a-b may include a WLAN baseband processing circuit 808a and a BT baseband processing circuit 808b. The WLAN baseband processing circuit 808a may include a memory, such as a set of RAM arrays in a fast Fourier transform or inverse fast Fourier transform block (not shown) of the WLAN baseband processing circuit 808a. Each of the WLAN baseband circuit 808a and the BT baseband circuit 808b may further include one or more processors and control logic. Each of the WLAN baseband circuit 808a and the BT baseband circuit 808b may further include an interface circuit to couple with the corresponding one or more processors or control logic. The one or more processors and control logic may process signals received from the corresponding WLAN or BT receive signal paths of the radio IC circuits 806a-b via the interface circuits, and also generate corresponding WLAN or BT baseband signals for the transmit signal paths of the radio IC circuits 806a-b. Each of the baseband processing circuits 808a and 808b may further include physical layer (PHY) and medium access control layer (MAC) circuits and may further interface with devices for generation and processing of baseband signals and for controlling operation of the radio IC circuits 806a-b.

[0068] Still reference Figure 8 According to the illustrated embodiment, the WLAN-BT coexistence circuit 813 may include logic for providing an interface between the WLAN baseband circuit 808a and the BT baseband circuit 808b to implement use cases requiring WLAN and BT coexistence. In addition, a switch 803 may be provided between the WLAN FEM circuit 804a and the BT FEM circuit 804b to allow switching between the WLAN and BT radios as required by the application. Furthermore, while the antenna 801 is depicted as being connected to the WLAN FEM circuit 804a and the BT FEM circuit 804b, respectively, embodiments include within their scope sharing one or more antennas between the WLAN and BT FEMs, or providing more than one antenna connected to each FEM 804a or 804b.

[0069] In some embodiments, the front end module circuits 804a-b, the radio IC circuits 806a-b, and the baseband processing circuits 808a-b may be provided on a single radio card, such as radio card 802. In other embodiments, one or more antennas 801, the FEM circuits 804a-b, and the radio IC circuits 806a-b may be provided on a single radio card. In some other embodiments, the radio IC circuits 806a-b and the baseband processing circuits 808a-b may be provided on a single chip or integrated circuit (IC), such as IC 812.

[0070] In some embodiments, the radio card 802 may include a WLAN radio card and may be configured for Wi-Fi communications, although the scope of the embodiments is not limited in this respect. In some of these embodiments, the radio architecture 105A, 105B may be configured to receive and transmit orthogonal frequency division multiplexing (OFDM) or orthogonal frequency division multiple access (OFDMA) communication signals on a multi-carrier communication channel. The OFDM or OFDMA signal may include multiple orthogonal subcarriers.

[0071] In some of these multi-carrier embodiments, the radio architecture 105A, 105B may be part of a Wi-Fi communication station (STA), such as a wireless access point (AP), a base station, or a user device or mobile device including a Wi-Fi device. In some of these embodiments, the radio architecture 105A, 105B may be configured to send and receive signals according to a specific communication standard and / or protocol, such as any Institute of Electrical and Electronics Engineers (IEEE) standard, including 802.11n-2009, IEEE 802.11-2012, IEEE 802.11-2016, 802.11n-2009, 802.11ac, 802.11ah, 802.11ad, 802.11ay and / or 802.11ax standard and / or 802.11ax standard and / or proposed WLAN specifications, but the scope of the embodiments is not limited in this respect. The radio architectures 105A, 105B may also be adapted to send and / or receive communications according to other technologies and standards.

[0072] In some embodiments, the radio architectures 105A, 105B may be configured for high-efficiency Wi-Fi (HEW) communications in accordance with the IEEE 802.11ax standard. In these embodiments, the radio architectures 105A, 105B may be configured to communicate in accordance with OFDMA technology, but the scope of the embodiments is not limited in this regard.

[0073] In some other embodiments, the radio architectures 105A, 105B may be configured to send and receive signals transmitted using one or more other modulation techniques such as spread spectrum modulation (e.g., direct sequence code division multiple access (DS-CDMA) and / or frequency hopping code division multiple access (FH-CDMA)), time division multiplexing (TDM) modulation, and / or frequency division multiplexing (FDM) modulation, although the scope of the embodiments is not limited in this respect.

[0074] In some embodiments, Figure 8 As further shown in FIG. 8 , the BT baseband circuit 808 b may comply with a Bluetooth (BT) connection standard, such as Bluetooth, Bluetooth 8.0, or Bluetooth 6.0, or any other iteration of the Bluetooth standard.

[0075] In some embodiments, the radio architecture 105A, 105B may include other radio cards, such as a cellular radio card configured for cellular (e.g., 5GPP such as LTE, LTE-Advanced, or 7G communications).

[0076] In some IEEE 802.11 embodiments, the radio architectures 105A, 105B may be configured to communicate over a variety of channel bandwidths, including bandwidths with center frequencies of approximately 900 MHz, 2.4 GHz, 5 GHz, and approximately 2 MHz, 4 MHz, 5 MHz, 5.5 MHz, 6 MHz, 8 MHz, 10 MHz, 20 MHz, 40 MHz, 80 MHz (with continuous bandwidth) or 80+80 MHz (160 MHz) (with non-continuous bandwidth). In some embodiments, a channel bandwidth of 920 MHz may be used. However, the scope of the embodiments is not limited to the above center frequencies.

[0077] Fig. 9 WLAN FEM circuit 804a is shown in accordance with some embodiments. Fig. 9 The example is described in conjunction with the WLAN FEM circuit 804a, but may be combined with the example BT FEM circuit 804b ( Figure 8 ) to describe Fig. 9 , although other circuit configurations may also be suitable.

[0078] In some embodiments, FEM circuit 804a may include a TX / RX switch 902 to switch between transmit mode and receive mode operation. FEM circuit 804a may include a receive signal path and a transmit signal path. The receive signal path of FEM circuit 804a may include a low noise amplifier (LNA) 906 to amplify received RF signal 903 and provide an amplified received RF signal 907 as an output (e.g., provided to radio IC circuits 806a-b ( Figure 8 )). The transmit signal path of circuitry 804a may include a power amplifier (PA) to amplify an input RF signal 909 (e.g., provided by radio IC circuitry 806a-b), and one or more filters 912, such as a bandpass filter (BPF), a lowpass filter (LPF), or other type of filter, to generate an RF signal 915 for subsequent transmission via an example duplexer 914 (e.g., through one or more antennas 801 ( Figure 8 )).

[0079] In some dual-mode embodiments for Wi-Fi communications, the FEM circuit 804a can be configured to operate in the 2.4 GHz spectrum or the 5 GHz spectrum. In these embodiments, the receive signal path of the FEM circuit 804a can include a receive signal path duplexer 904 to separate the signal from each spectrum and provide a separate LNA 906 for each spectrum, as shown. In these embodiments, the transmit signal path of the FEM circuit 804a can also include a power amplifier 910 and a filter 912, such as a BPF, LPF, or other type of filter for each spectrum, and a transmit signal path duplexer 904 to provide the signal of one of the different spectrums onto a single transmit path for subsequent transmission by one or more antennas 801 ( Figure 8 In some embodiments, BT communications may utilize a 2.4 GHz signal path and may utilize the same FEM circuit 804a as used for WLAN communications.

[0080] Fig.10 806a according to some embodiments. The radio IC circuit 806a may be suitable for use as a WLAN or BT radio IC circuit 806a / 806b ( Figure 8 ), but other circuit configurations may also be suitable. Alternatively, Fig.10 Examples of may be described in conjunction with example BT radio IC circuit 806b.

[0081] In some embodiments, the radio IC circuit 806a may include a receive signal path and a transmit signal path. The receive signal path of the radio IC circuit 806a may include at least a mixer circuit 1002, such as a down-conversion mixer circuit, an amplifier circuit 1006, and a filter circuit 1008. The transmit signal path of the radio IC circuit 806a may include at least a filter circuit 1012 and a mixer circuit 1014, such as an up-conversion mixer circuit. The radio IC circuit 806a may also include a synthesizer circuit 1004 for synthesizing a frequency 1005 for use by the mixer circuit 1002 and the mixer circuit 1014. According to some embodiments, the mixer circuits 1002 and / or 1014 may be configured to provide a direct conversion function, respectively. Compared to a standard superheterodyne mixer circuit, the latter type of circuit presents a simpler architecture and any flicker noise introduced therefrom may be mitigated by, for example, using OFDM modulation. Fig.10Only a simplified version of the radio IC circuit is shown, and embodiments may be included (although not shown) in which each of the depicted circuits may include more than one component. For example, mixer circuit 1014 may include one or more mixers, respectively, and filter circuits 1008 and / or 1012 may include one or more filters, respectively, such as one or more BPFs and / or LPFs as required by the application. For example, when the mixer circuits are of the direct conversion type, they may each include two or more mixers.

[0082] In some embodiments, mixer circuit 1002 may be configured to generate a synthesized frequency 1005 from FEM circuits 804a-b based on the synthesized frequency 1005 provided by synthesizer circuit 1004. Figure 8 ) down-converts the received RF signal 907. The amplifier circuit 1006 may be configured to amplify the down-converted signal and the filter circuit 1008 may include an LPF configured to remove unwanted signals from the down-converted signal to generate an output baseband signal 1007. The output baseband signal 1007 may be provided to the baseband processing circuits 808a-b ( Figure 8 ) for further processing. In some embodiments, output baseband signal 1007 may be a zero frequency baseband signal, but this is not required. In some embodiments, mixer circuit 1002 may include a passive mixer, although the scope of the embodiments is not limited in this respect.

[0083] In some embodiments, mixer circuit 1014 may be configured to up-convert input baseband signal 1011 based on synthesized frequency 1005 provided by synthesizer circuit 1004 to generate RF output signal 909 for FEM circuits 804a-b. Baseband signal 1011 may be provided by baseband processing circuits 808a-b and may be filtered by filter circuit 1012. Filter circuit 1012 may include an LPF or a BPF, although the scope of the embodiments is not limited in this respect.

[0084] In some embodiments, mixer circuit 1002 and mixer circuit 1014 may each include two or more mixers and may be arranged for quadrature down-conversion and / or up-conversion, respectively, with the aid of synthesizer 1004. In some embodiments, mixer circuit 1002 and mixer circuit 1014 may each include two or more mixers, each mixer being configured for image rejection (e.g., Hartley image rejection). In some embodiments, mixer circuit 1002 and mixer circuit 1014 may each be arranged for direct down-conversion and / or direct up-conversion, respectively. In some embodiments, mixer circuit 1002 and mixer circuit 1014 may be configured for superheterodyne operation, but this is not required.

[0085] According to one embodiment, mixer circuit 1002 may include: quadrature passive mixers (eg, for in-phase (I) and quadrature-phase (Q) paths). In such an embodiment, Fig.10 The RF input signal 907 may be downconverted to provide I and Q baseband output signals to be sent to a baseband processor.

[0086] The quadrature passive mixers may be driven by zero and ninety degree time varying LO switching signals provided by a quadrature circuit, which may be configured to receive an LO frequency (fLO) from a local oscillator or synthesizer, such as LO frequency 1005 (fLO) of synthesizer 1004. Fig.10 ). In some embodiments, the LO frequency may be the carrier frequency, while in other embodiments, the LO frequency may be a fraction of the carrier frequency (e.g., one-half of the carrier frequency, one-third of the carrier frequency). In some embodiments, the zero-degree and ninety-degree time-varying switching signals may be generated by a synthesizer, but the scope of the embodiments is not limited in this respect.

[0087] In some embodiments, the LO signal can differ in duty cycle (the percentage of a cycle that the LO signal is high) and / or offset (the difference between the start points of the cycle). In some embodiments, the LO signal can have an 85% duty cycle and an 80% offset. In some embodiments, each branch of the mixer circuit (e.g., the in-phase (I) and quadrature-phase (Q) paths) can operate at an 80% duty cycle, which can result in a significant reduction in power consumption.

[0088] RF input signal 907 ( Fig. 9 ) may include balanced signals, although the scope of the embodiments is not limited in this respect. The I and Q baseband output signals may be provided to a low noise amplifier, such as amplifier circuit 1006 ( Fig.10 ) or filter circuit 1008 ( Fig.10 ).

[0089] In some embodiments, output baseband signal 1007 and input baseband signal 1011 may be analog baseband signals, although the scope of the embodiments is not limited in this respect. In some alternative embodiments, output baseband signal 1007 and input baseband signal 1011 may be digital baseband signals. In these alternative embodiments, the radio IC circuit may include analog-to-digital converter (ADC) and digital-to-analog converter (DAC) circuits.

[0090] In some dual-mode embodiments, separate radio IC circuits may be provided to process signals for each spectrum, or for signals for other spectrums not mentioned herein, although the scope of the embodiments is not limited in this respect.

[0091] In some embodiments, the synthesizer circuit 1004 may be a fractional-N synthesizer or a fractional N / N+1 synthesizer, although the scope of the embodiments is not limited in this respect as other types of frequency synthesizers may be suitable. For example, the synthesizer circuit 1004 may be a delta-sigma synthesizer, a frequency multiplier, or a synthesizer including a phase-locked loop with a frequency divider. According to some embodiments, the synthesizer circuit 1004 may include a digital synthesizer circuit. One advantage of using a digital synthesizer circuit is that, although it may still contain some analog components, its footprint may be much smaller than that of an analog synthesizer circuit. In some embodiments, the frequency input to the synthesizer circuit 1004 may be provided by a voltage controlled oscillator (VCO), although this is not required. Depending on the desired output frequency 1005, the divider control input may be further controlled by the baseband processing circuits 808a-b ( Figure 8 ) is provided. In some embodiments, the divider control input (e.g., N) can be determined from a lookup table (e.g., within a Wi-Fi card) based on the channel number and channel center frequency determined or indicated by the example application processor 810. The application processor 810 can include or otherwise be connected to one of the example secure signal converter 101 or the example receive signal converter 103 (e.g., depending on which device the example radio architecture is implemented in).

[0092] In some embodiments, the synthesizer circuit 1004 can be configured to generate a carrier frequency as the output frequency 1005, while in other embodiments, the output frequency 1005 can be a fraction of the carrier frequency (e.g., one-half of the carrier frequency, one-third of the carrier frequency). In some embodiments, the output frequency 1005 can be the LO frequency (fLO).

[0093] Fig.11 808a according to some embodiments. The baseband processing circuit 808a is a functional block diagram of a baseband processing circuit 808a that can be suitable for use as a baseband processing circuit 808a ( Figure 8 ) is an example of a circuit, although other circuit configurations may also be suitable. Alternatively, Fig.10 The example can be used to implement Figure 8 An example BT baseband processing circuit 808b.

[0094] The baseband processing circuit 808a may include a receive baseband processor (RX BBP) 1102 for processing signals received by the radio IC circuits 806a-b ( Figure 8 ) and a transmit baseband processor (TX BBP) 1104 for generating a transmit baseband signal 1011 for the radio IC circuits 806a-b. The baseband processing circuit 808a may also include control logic 1106 for coordinating the operation of the baseband processing circuit 808a.

[0095] In some embodiments (e.g., when analog baseband signals are exchanged between baseband processing circuits 808a-b and radio IC circuits 806a-b), baseband processing circuits 808a may include ADC 1110 to convert analog baseband signals 1109 received from radio IC circuits 806a-b into digital baseband signals for processing by RX BBP 1102. In these embodiments, baseband processing circuits 808a may also include DAC 1112 to convert digital baseband signals from TX BBP 1104 into analog baseband signals 1111.

[0096] In some embodiments, such as transmitting an OFDM signal or an OFDMA signal by the baseband processor 808a, the transmit baseband processor 1104 may be configured to generate an OFDM or OFDMA signal suitable for transmission by performing an inverse fast Fourier transform (IFFT). The receive baseband processor 1102 may be configured to process the received OFDM signal or OFDMA signal by performing an FFT. In some embodiments, the receive baseband processor 1102 may be configured to detect the presence of an OFDM signal or OFDMA signal by performing an autocorrelation to detect a preamble such as a short preamble, and to detect a long preamble by performing a cross-correlation. The preamble may be part of a predetermined frame structure for Wi-Fi communications.

[0097] Return to reference Figure 8 In some embodiments, antenna 801 ( Figure 8 ) can each include one or more directional or omnidirectional antennas, including, for example, dipole antennas, monopole antennas, patch antennas, loop antennas, microstrip antennas or other types of suitable antennas for transmission of radio frequency signals. In some multiple-input multiple-output (MIMO) embodiments, the antennas can be effectively separated to take advantage of spatial diversity and the different channel characteristics that may result. Antennas 801 can each include a set of phased array antennas, but the embodiments are not limited thereto.

[0098] Although the radio architecture 105A, 105B is shown as having several separate functional elements, one or more of the functional elements may be combined and may be implemented by a combination of software-configured elements, such as processing elements including digital signal processors (DSPs) and / or other hardware elements. For example, some elements may include one or more microprocessors, DSPs, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), radio frequency integrated circuits (RFICs), and combinations of various hardware and logic circuits for performing at least the functions described herein. In some embodiments, a functional element may refer to one or more processes operating on one or more processing elements.

[0099] Fig.12 1 shows a functional diagram of an exemplary communication station 1200 according to one or more example embodiments of the present disclosure. In one embodiment, Fig.12 FIG. 1 shows a diagram of a device that may be suitable for use as a user device 120 ( Figure 1 ) is a functional block diagram of a communication station of the present invention. The communication station 1200 may also be suitable for use as a handheld device, a mobile device, a cellular phone, a smart phone, a tablet computer, a netbook, a wireless terminal, a laptop computer, a wearable computer device, a femtocell, a high data rate (HDR) user station, an access point, an access terminal, or other personal communication system (PCS) equipment.

[0100] The communication station 1200 may include a communication circuit 1202 and a transceiver 1210 for sending signals to other communication stations and receiving signals from other communication stations using one or more antennas 1201. The communication circuit 1202 may include a circuit that can operate the following communications: physical layer (PHY) communication and / or a medium access control (MAC) communication for controlling access to a wireless medium, and / or any other communication layer for sending and receiving signals. The communication station 1200 may also include a processing circuit 1206 and a memory 1208, which are arranged to perform the operations described herein. In some embodiments, the communication circuit 1202 and the processing circuit 1206 may be configured to perform the operations detailed in the above figures, diagrams, and processes.

[0101] According to some embodiments, the communication circuit 1202 may be arranged to compete for a wireless medium and configure a frame or packet for communication via a wireless medium. The communication circuit 1202 may be arranged to send and receive signals. The communication circuit 1202 may also include circuits for modulation / demodulation, up-conversion / down-conversion, filtering, amplification, etc. In some embodiments, the processing circuit 1206 of the communication station 1200 may include one or more processors. In other embodiments, two or more antennas 1201 may be coupled to the communication circuit 1202 arranged to send and receive signals. The memory 1208 may store information for configuring the processing circuit 1206 to perform operations for configuring and sending message frames and for performing various operations described herein. The memory 1208 may include any type of memory, including non-transitory memory, for storing information in a machine (e.g., computer) readable form. For example, the memory 1208 may include a computer-readable storage device, a read-only memory (ROM), a random access memory (RAM), a disk storage medium, an optical storage medium, a flash memory device, and other storage devices and media.

[0102] In some embodiments, the communication station 1200 can be part of a portable wireless communication device, such as a personal digital assistant (PDA), a laptop or portable computer with wireless communication capabilities, a web tablet, a wireless phone, a smart phone, a wireless headset, a pager, an instant messaging device, a digital camera, an access point, a television, a medical device (e.g., a heart rate monitor, a blood pressure monitor, etc.), a wearable computer device, or other device that can wirelessly receive and / or transmit information.

[0103] In some embodiments, communication station 1200 may include one or more antennas 1201. Antenna 1201 may include one or more directional or omnidirectional antennas, including, for example, dipole antennas, monopole antennas, patch antennas, loop antennas, microstrip antennas, or other types of antennas suitable for transmitting RF signals. In some embodiments, a single antenna with multiple apertures may be used to replace two or more antennas. In these embodiments, each aperture may be considered as a separate antenna. In some multiple-input multiple-output (MIMO) embodiments, antennas may be effectively separated for spatial diversity and different channel characteristics that may be generated between each antenna and the antenna of the transmitting station.

[0104] In some embodiments, the communication station 1200 may include one or more of a keyboard, a display, a non-volatile memory port, multiple antennas, a graphics processor, an application processor, a speaker, and other mobile device elements. The display may be an LCD screen including a touch screen.

[0105] Although the communication station 1200 is shown as having several separate functional elements, two or more functional elements may be combined and may be implemented by a combination of software-configured elements (e.g., processing elements including digital signal processors (DSPs)) and / or other hardware elements. For example, some elements may include one or more microprocessors, DSPs, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), radio frequency integrated circuits (RFICs), and combinations of various hardware and logic circuits for implementing at least the functions described herein. In some embodiments, the functional elements of the communication station 1200 may refer to one or more processes operating on one or more processing elements.

[0106] Certain embodiments may be implemented in one or a combination of hardware, firmware, and software. Other embodiments may also be implemented as instructions stored on a computer-readable storage device, which may be read and executed by at least one processor to perform the operations described herein. A computer-readable storage device may include any non-transitory memory mechanism for storing information in a machine (e.g., computer) readable form. For example, a computer-readable storage device may include a read-only memory (ROM), a random access memory (RAM), a disk storage medium, an optical storage medium, a flash memory device, and other storage devices and media. In some embodiments, the communication station 1200 may include one or more processors and may be configured with instructions stored on a computer-readable storage device.

[0107] Fig.13 A block diagram of an example of a machine 1300 or system is shown, on which any one or more of the techniques (e.g., methods) discussed herein can be performed. In other embodiments, the machine 1300 can operate as a standalone device or can be connected (e.g., networked) to other machines. In a networked deployment, the machine 1300 can operate in the capacity of a server machine, a client machine, or both in a server-client network environment. In an example, the machine 1300 can act as a peer machine in a peer-to-peer (P2P) (or other distributed) network environment. The machine 1300 can be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a wearable computer device, a network device, a network router, a switch or a bridge, or any machine capable of executing instructions (sequential or otherwise) that specify the actions to be taken by the machine (e.g., a base station). In addition, although only a single machine is shown, the term "machine" should also be understood to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more methods discussed herein, such as cloud computing, software as a service (SaaS) or other computer cluster configurations.

[0108] As described herein, examples may include or may operate on a logic or multiple components, modules or mechanisms. A module is a tangible entity (e.g., hardware) that is capable of performing a specified operation when in operation. A module includes hardware. In one example, the hardware may be specifically configured to perform a specific operation (e.g., hardwired). In another example, the hardware may include a configurable execution unit (e.g., a transistor, a circuit, etc.) and a computer-readable medium containing instructions, wherein the instructions configure the execution unit to perform a specific operation at runtime. Configuration may occur under the guidance of the execution unit or a loading mechanism. Therefore, when the device is running, the execution unit is communicatively coupled to the computer-readable medium. In this example, the execution unit may be a member of more than one module. For example, in operation, the execution unit may be configured by a first set of instructions to implement a first module at a point in time, and reconfigured by a second set of instructions to implement a second module at a second point in time.

[0109] The machine (e.g., computer system) 1300 may include a hardware processor 1302 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 1304, and a static memory 1306, some or all of which may communicate with each other via an interconnection link (e.g., a bus) 1308. The machine 1300 may also include a power management device 1332, a graphics display device 1310, an alphanumeric input device 1312 (e.g., a keyboard), and a user interface (UI) navigation device 1314 (e.g., a mouse). In an example, the graphics display device 1310, the alphanumeric input device 1312, and the UI navigation device 1314 may be a touch screen display. The machine 1300 may also include a storage device (i.e., a drive unit) 1316, a signal generating device 1318 (e.g., a speaker), an enhanced HCI ISO data packet generator 1319, a network interface device / transceiver 1320 coupled to an antenna 1330, and one or more sensors 1328, such as a global positioning system (GPS) sensor, a compass, an accelerometer, or other sensors. The machine 1300 may include an output controller 1334, such as a serial (e.g., universal serial bus (USB)), parallel or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate with or control one or more peripheral devices (e.g., printer, card reader, etc.). Operations according to one or more example embodiments of the present disclosure may be performed by a baseband processor. The baseband processor may be configured to generate corresponding baseband signals. The baseband processor may also include a physical layer (PHY) and a media access control layer (MAC) circuit, and may further interface with the hardware processor 1302 for baseband signal generation and processing, and for controlling the operation of the main memory 1304, the memory device 1316 and / or the enhanced HCI ISO data packet generator 1319. The baseband processor may be provided on a single radio card, a single chip, or an integrated circuit (IC).

[0110] The storage device 1316 may include a machine-readable medium 1322 on which is stored one or more sets of data structures or instructions 1324 (e.g., software) embodying or utilized by any one or more of the techniques or functionality described herein. The instructions 1324 may also reside, completely or at least partially, within the main memory 1304, within the static memory 1306, or within the hardware processor 1302 during execution thereof by the machine 1300. In an example, one or any combination of the hardware processor 1302, the main memory 1304, the static memory 1306, or the storage device 1316 may constitute a machine-readable medium.

[0111] The enhanced HCI ISO data packet generator 1319 may perform or implement any of the operations and processes described and illustrated above.

[0112] It should be understood that the above is only a subset of the functions that the enhanced HCI ISO data packet generator 1319 may be configured to perform, and other functions included throughout the present disclosure may also be performed by the enhanced HCI ISO data packet generator 1319.

[0113] Although the machine-readable medium 1322 is illustrated as a single medium, the term “machine-readable medium” may include a single medium or multiple media (eg, a centralized or distributed database, and / or associated caches and servers) configured to store one or more instructions 1324 .

[0114] Various embodiments may be implemented in whole or in part in software and / or firmware. The software and / or firmware may take the form of instructions contained in or on a non-transitory computer-readable storage medium. These instructions may then be read and executed by one or more processors to enable the execution of the operations described herein. The instructions may be in any suitable form, such as, but not limited to, source code, compiled code, parsed code, executable code, static code, dynamic code, etc. Such computer-readable media may include any tangible, non-transitory media for storing information in a form readable by one or more computers, such as, but not limited to, read-only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory, etc.

[0115] The term "machine-readable medium" may include any medium capable of storing, encoding, or carrying instructions for execution by the machine 1300 and causing the machine 1300 to perform any one or more of the techniques of the present disclosure, or capable of storing, encoding, or carrying data structures used by or associated with such instructions. Non-limiting examples of machine-readable media may include solid-state memory and optical and magnetic media. In one example, a large number of machine-readable media include machine-readable media having a plurality of particles having a rest mass. Specific examples of large numbers of machine-readable media may include non-volatile memory, such as semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM) or electrically erasable programmable read-only memory (EEPROM)) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; CD-ROM and DVD-ROM disks.

[0116] The instructions 1324 may also be sent or received over a communication network 1326 using a transmission medium through a network interface device / transceiver 1320 that utilizes any of a variety of transmission protocols (e.g., frame relay, Internet Protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), a mobile telephone network (e.g., a cellular network), a plain old telephone (POTS) network, a wireless data network (e.g., the Institute of Electrical and Electronics Engineers (IEEE) 802.11 series of standards, known as IEEE 802.16 series of standards, known as ), IEEE 802.15.4 family of standards, and peer-to-peer (P2P) networks, etc. In an example, the network interface device / transceiver 1320 may include one or more physical jacks (e.g., Ethernet, coaxial, or telephone jacks) or one or more antennas to connect to the communication network 1326. In an example, the network interface device / transceiver 1320 may include multiple antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) technology. The term "transmission medium" should be understood to include any intangible medium that can store, encode, or carry instructions for execution by the machine 1300, and includes digital or analog communication signals or other intangible media to facilitate the communication of such software.

[0117] The operations and processes described and shown above can be performed or implemented in any suitable order according to the needs in various embodiments. In addition, in some embodiments, at least a portion of the operations can be performed in parallel. In addition, in some embodiments, less than or more than the described operations can be performed.

[0118] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments. The terms "computing device," "user device," "communication station," "station," "handheld device," "mobile device," "wireless device," and "user equipment" (UE) as used herein refer to a wireless communication device, such as a cellular phone, smartphone, tablet computer, netbook, wireless terminal, laptop computer, femtocell, high data rate (HDR) subscriber station, access point, printer, point of sale device, access terminal, or other personal communication system (PCS) device. The device may be mobile or fixed.

[0119] As used in this document, the term "communication" is intended to include sending or receiving, or both sending and receiving. This may be particularly useful in a claim when describing the organization of data transmitted by one device and received by another device, but requiring only the functionality of one of these devices would infringe the claim. Similarly, a two-way data exchange between two devices (both devices that send and receive during the exchange) may be described as "communication" when only the functionality of one of these devices is required. The term "communication" as used herein with respect to wireless communication signals includes sending wireless communication signals and / or receiving wireless communication signals. For example, a wireless communication unit capable of transmitting wireless communication signals may include a wireless transmitter that sends wireless communication signals to at least one other wireless communication unit, and / or a wireless communication receiver that receives wireless communication signals from at least one other wireless communication unit.

[0120] As used herein, unless otherwise indicated, the use of ordinal adjectives "first," "second," "third," etc. to describe common objects merely indicates different instances of the similar objects referred to, and is not intended to imply that the objects so described must be in a given order, whether temporally, spatially, in ranking, or in any other manner.

[0121] The term "access point" (AP) as used herein may be a fixed station. An access point may also be referred to as an access node, a base station, an evolved Node B (eNodeB), or some other similar terms known in the art. An access terminal may also be referred to as a mobile station, a user equipment (UE), a wireless communication device, or some other similar terms known in the art. The embodiments disclosed herein are generally related to wireless networks. Some embodiments may relate to a wireless network operating according to one of the IEEE 802.11 standards.

[0122] Some embodiments may be used in conjunction with various devices and systems, such as a personal computer (PC), a desktop computer, a mobile computer, a laptop computer, a notebook computer, a tablet computer, a server computer, a handheld computer, a handheld device, a personal digital assistant (PDA) device, a handheld PDA device, a vehicle-mounted device, a non-vehicle-mounted device, a hybrid device, a vehicle-mounted device, a non-vehicle-mounted device, a mobile or portable device, a consumer device, a non-mobile or non-portable device, a wireless communication station, a wireless communication device, a wireless access point (AP), a wired or wireless router, a wired or wireless modem, a video device, an audio device, an audio-video (A / V) device, a wired or wireless network, a wireless local area network, a wireless video local area network (WVAN), a local area network (LAN), a wireless local area network (WLAN), a personal area network (PAN), a wireless PAN (WPAN), etc.

[0123] Some embodiments may be used in conjunction with the following systems or devices: one-way and / or two-way radio communication systems, cellular radio-telephone communication systems, mobile phones, cellular phones, wireless phones, personal communication system (PCS) devices, PDA devices including wireless communication devices, mobile or portable global positioning system (GPS) devices, devices including GPS receivers or transceivers or chips, devices including RFID elements or chips, multiple-input multiple-output (MIMO) transceivers or devices, single-input multiple-output (SIMO) transceivers or devices, multiple-input single-output (MISO) transceivers or devices, devices with one or more internal antennas and / or external antennas, digital video broadcasting (DVB) devices or systems, multi-standard radio devices or systems, wired or wireless handheld devices (such as smart phones), wireless application protocol (WAP) devices, etc.

[0124] Some embodiments may be used in conjunction with one or more types of wireless communication signals and / or systems that follow one or more wireless communication protocols, such as radio frequency (RF), infrared (IR), frequency division multiplexing (FDM), orthogonal FDM (OFDM), time division multiplexing (TDM), time division multiple access (TDMA), extended TDMA (E-TDMA), general packet radio service (GPRS), extended GPRS, code division multiple access (CDMA), wideband CDMA (WCDMA), CDMA 2000, single carrier CDMA, multi-carrier CDMA, multi-carrier modulation (MDM), discrete multi-tone (DMT), Global Positioning System (GPS), Wi-Fi, Wi-Max, ZigBee, Ultra-Wideband (UWB), Global System for Mobile Communications (GSM), 2G, 2.5G, 3G, 3.5G, 4G, fifth generation (5G) mobile networks, 3GPP, Long Term Evolution (LTE), LTE Advanced, Enhanced Data Rates for GSM Evolution (EDGE), etc. Other embodiments may be used in various other devices, systems and / or networks.

[0125] The following paragraphs describe examples of various embodiments.

[0126] Example 1 includes an apparatus comprising: an interface; and a processor circuit, wherein the processor circuit is used to: generate a host controller interface (HCI) synchronization (ISO) data packet; and encode the HCI ISO data packet for transmission to a logical entity in Bluetooth communication via the interface, wherein the HCI ISO data packet includes multiple service data units (SDUs).

[0127] Example 2 includes the apparatus of Example 1, wherein the HCI ISO data packet includes an HCI ISO Num subfield for indicating a number of the plurality of SDUs.

[0128] Example 3 includes the apparatus of Example 1 or 2, wherein each of the plurality of SDUs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes a first Connection Handle subfield and a second Connection Handle subfield, the first Connection Handle subfield corresponding to a left SDU of the plurality of SDUs to indicate a logical channel for the left SDU, and the second Connection Handle subfield corresponding to a right SDU of the plurality of SDUs to indicate a logical channel for the right SDU.

[0129] Example 4 includes the apparatus of any of Examples 1-3, wherein the first Connection Handle subfield or the second Connection Handle subfield includes a flag to indicate whether the HCI ISO data packet includes more than one SDU.

[0130] Example 5 includes the apparatus of any one of Examples 1-4, wherein each of the multiple SUDs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes multiple Length Left SDU subfields and multiple Length Right SDU subfields, each Length Left SDU subfield is used to indicate the length of the corresponding left SDU, and each Length Right SDU subfield is used to indicate the length of the corresponding right SDU.

[0131] Example 6 includes the apparatus of any of Examples 1-5, wherein each Length Left SDU subfield is immediately followed by a corresponding left SDU, and each Length Right SDU subfield is immediately followed by a corresponding right SDU.

[0132] Example 7 includes the apparatus of any of Examples 1-6, wherein the processor circuit is further configured to decode an event message received from the logical entity in response to the HCI ISO data packet to obtain a number of free buffers for a next HCI ISO data packet transmission.

[0133] Example 8 includes the apparatus of any of Examples 1-7, wherein the apparatus is part of a host, and wherein the logical entity comprises a controller.

[0134] Example 9 includes the apparatus of any of Examples 1-8, wherein the apparatus is part of a controller, and wherein the logical entity comprises a host.

[0135] Example 10 includes the apparatus of any of Examples 1-9, wherein the interface comprises a host controller interface (HCI).

[0136] Example 11 includes an apparatus comprising: an interface; and a processor circuit, wherein the processor circuit is used to: decode a host controller interface (HCI) synchronization (ISO) data packet, the HCI ISO data packet being received from a logical entity in Bluetooth communication via the interface; and in response to the HCI ISO data packet, encode an acknowledgement for transmission to the logical entity via the interface, wherein the HCI ISO data packet includes a plurality of service data units (SDUs).

[0137] Example 12 includes the apparatus of Example 11, wherein the HCI ISO data packet comprises an HCI ISO Num subfield to indicate a number of the plurality of SDUs.

[0138] Example 13 includes the apparatus of Example 11 or 12, wherein each of the plurality of SDUs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes a first Connection Handle subfield and a second Connection Handle subfield, the first Connection Handle subfield corresponding to a left SDU of the plurality of SDUs to indicate a logical channel for the left SDU, and the second Connection Handle subfield corresponding to a right SDU of the plurality of SDUs to indicate a logical channel for the right SDU.

[0139] Example 14 includes the apparatus of any of Examples 11-13, wherein the first Connection Handle subfield or the second Connection Handle subfield includes a flag to indicate whether more than one SDU is included in the HCI ISO data packet.

[0140] Example 15 includes the apparatus of any of Examples 11-14, wherein each of the multiple SUDs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes multiple Length Left SDU subfields and multiple Length Right SDU subfields, each Length Left SDU subfield is used to indicate the length of the corresponding left SDU, and each Length Right SDU subfield is used to indicate the length of the corresponding right SDU.

[0141] Example 16 includes the apparatus of any of Examples 11-15, wherein each Length Left SDU subfield is immediately followed by a corresponding left SDU, and each Length Right SDU subfield is immediately followed by a corresponding right SDU.

[0142] Example 17 includes the apparatus of any of Examples 11-16, wherein the processor circuit is further configured to, after confirming the HCI ISO data packet, encode an event message for transmission to the logical entity, the event message being configured to indicate a number of free buffers for transmission of a next HCI ISO data packet.

[0143] Example 18 includes the apparatus of any of Examples 11-17, wherein the apparatus is part of a host, and wherein the logical entity comprises a controller.

[0144] Example 19 includes the apparatus of any of Examples 11-18, wherein the apparatus is part of a controller, and wherein the logical entity comprises a host.

[0145] Example 20 includes the apparatus of any of Examples 11-19, wherein the interface comprises a host controller interface (HCI).

[0146] Example 21 includes a method comprising: generating a host controller interface (HCI) isochronous (ISO) data packet; and encoding the HCI ISO data packet for transmission to a logical entity in Bluetooth communication via an interface, wherein the HCI ISO data packet includes a plurality of service data units (SDUs).

[0147] Example 22 includes the method of Example 21, wherein the HCI ISO data packet includes an HCI ISO Num subfield to indicate a number of the plurality of SDUs.

[0148] Example 23 includes the method of Example 21 or 22, wherein each SUD of the plurality of SDUs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes a first Connection Handle subfield and a second Connection Handle subfield, the first Connection Handle subfield corresponding to a left SDU of the plurality of SDUs to indicate a logical channel for the left SDU, and the second Connection Handle subfield corresponding to a right SDU of the plurality of SDUs to indicate a logical channel for the right SDU.

[0149] Example 24 includes the method of any of Examples 21-23, wherein the first Connection Handle subfield or the second Connection Handle subfield includes a flag to indicate whether more than one SDU is included in the HCI ISO data packet.

[0150] Example 25 includes the method of any one of Examples 21-24, wherein each of the multiple SUDs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes multiple Length Left SDU subfields and multiple Length Right SDU subfields, each Length Left SDU subfield is used to indicate the length of the corresponding left SDU, and each Length Right SDU subfield is used to indicate the length of the corresponding right SDU.

[0151] Example 26 includes the method of any of Examples 21-25, wherein each Length Left SDU subfield is immediately followed by a corresponding left SDU, and each Length Right SDU subfield is immediately followed by a corresponding right SDU.

[0152] Example 27 includes the method of any of Examples 21-26, further comprising decoding an event message received from the logical entity in response to the HCI ISO data packet to obtain a number of free buffers for a next HCI ISO data packet transmission.

[0153] Example 28 includes the method of any of Examples 21-27, wherein the method is applicable to a host, and wherein the logical entity includes a controller.

[0154] Example 29 includes the method of any of Examples 21-28, wherein the method is applicable to a controller, and wherein the logical entity comprises a host.

[0155] Example 30 includes the method of any of Examples 21-29, wherein the interface comprises a host controller interface (HCI).

[0156] Example 31 includes a method comprising: decoding a host controller interface (HCI) synchronization (ISO) data packet, the HCI ISO data packet being received via an interface from a logical entity in Bluetooth communication; and encoding an acknowledgment for transmission to the logical entity via the interface in response to the HCI ISO data packet, wherein the HCI ISO data packet includes a plurality of service data units (SDUs).

[0157] Example 32 includes the method of Example 31, wherein the HCI ISO data packet includes an HCI ISO Num subfield to indicate a number of the plurality of SDUs.

[0158] Example 33 includes the method of Example 31 or 32, wherein each SUD of the plurality of SDUs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes a first Connection Handle subfield and a second Connection Handle subfield, the first Connection Handle subfield corresponding to a left SDU of the plurality of SDUs to indicate a logical channel for the left SDU, and the second Connection Handle subfield corresponding to a right SDU of the plurality of SDUs to indicate a logical channel for the right SDU.

[0159] Example 34 includes the method of any of Examples 31-33, wherein the first Connection Handle subfield or the second Connection Handle subfield includes a flag to indicate whether more than one SDU is included in the HCI ISO data packet.

[0160] Example 35 includes the method of any one of Examples 31-34, wherein each of the multiple SUDs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes multiple Length Left SDU subfields and multiple Length Right SDU subfields, each Length Left SDU subfield is used to indicate the length of the corresponding left SDU, and each Length Right SDU subfield is used to indicate the length of the corresponding right SDU.

[0161] Example 36 includes the method of any of Examples 31-35, wherein each Length Left SDU subfield is immediately followed by a corresponding left SDU, and each Length Right SDU subfield is immediately followed by a corresponding right SDU.

[0162] Example 37 includes the method of any of Examples 31-36, further comprising: after confirming the HCI ISO data packet, encoding an event message for transmission to the logical entity, the event message being used to indicate the number of free buffers for the next HCI ISO data packet transmission.

[0163] Example 38 includes the method of any of Examples 31-37, wherein the method is applicable to a host, and wherein the logical entity includes a controller.

[0164] Example 39 includes the method of any of Examples 31-38, wherein the method is applicable to a controller, and wherein the logical entity comprises a host.

[0165] Example 40 includes the method of any of Examples 31-39, wherein the interface comprises a host controller interface (HCI).

[0166] Example 41 includes an apparatus comprising: a component for generating a host controller interface (HCI) isochronous (ISO) data packet; and a component for encoding the HCI ISO data packet for transmission via an interface to a logical entity in Bluetooth communication, wherein the HCI ISO data packet includes a plurality of service data units (SDUs).

[0167] Example 42 includes the apparatus of Example 41, wherein the HCI ISO data packet comprises an HCI ISO Num subfield to indicate a number of the plurality of SDUs.

[0168] Example 43 includes the apparatus of Example 41 or 42, wherein each of the plurality of SDUs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes a first Connection Handle subfield and a second Connection Handle subfield, the first Connection Handle subfield corresponding to a left SDU of the plurality of SDUs to indicate a logical channel for the left SDU, and the second Connection Handle subfield corresponding to a right SDU of the plurality of SDUs to indicate a logical channel for the right SDU.

[0169] Example 44 includes the apparatus of any of Examples 41-43, wherein the first Connection Handle subfield or the second Connection Handle subfield includes a flag to indicate whether more than one SDU is included in the HCI ISO data packet.

[0170] Example 45 includes the apparatus of any of Examples 41-44, wherein each of the plurality of SUDs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes a plurality of Length Left SDU subfields and a plurality of Length Right SDU subfields, each Length Left SDU subfield being used to indicate the length of a corresponding left SDU, and each Length Right SDU subfield being used to indicate the length of a corresponding right SDU.

[0171] Example 46 includes the apparatus of any of Examples 41-45, wherein each Length Left SDU subfield is immediately followed by a corresponding left SDU, and each Length Right SDU subfield is immediately followed by a corresponding right SDU.

[0172] Example 47 includes the apparatus of any of Examples 41-46, further comprising a component for decoding an event message received from the logical entity in response to the HCI ISO data packet to obtain a number of free buffers for a next HCI ISO data packet transmission.

[0173] Example 48 includes the apparatus of any of Examples 41-47, wherein the apparatus is applicable to a host, and wherein the logical entity comprises a controller.

[0174] Example 49 includes the apparatus of any of Examples 41-48, wherein the apparatus is applicable to a controller, and wherein the logical entity comprises a host.

[0175] Example 50 includes the apparatus of any of Examples 41-49, wherein the interface comprises a host controller interface (HCI).

[0176] Example 51 includes an apparatus comprising: a component for decoding a host controller interface (HCI) synchronization (ISO) data packet, the HCI ISO data packet being received via an interface from a logical entity in Bluetooth communication; and a component for encoding an acknowledgment for transmission to the logical entity via the interface in response to the HCI ISO data packet, wherein the HCI ISO data packet includes a plurality of service data units (SDUs).

[0177] Example 52 includes the apparatus of Example 51, wherein the HCI ISO data packet comprises an HCI ISO Num subfield to indicate a number of the plurality of SDUs.

[0178] Example 53 includes the apparatus of Example 51 or 52, wherein each of the plurality of SDUs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes a first Connection Handle subfield and a second Connection Handle subfield, the first Connection Handle subfield corresponding to a left SDU of the plurality of SDUs to indicate a logical channel for the left SDU, and the second Connection Handle subfield corresponding to a right SDU of the plurality of SDUs to indicate a logical channel for the right SDU.

[0179] Example 54 includes the apparatus of any of Examples 51-53, wherein the first Connection Handle subfield or the second Connection Handle subfield includes a flag to indicate whether more than one SDU is included in the HCI ISO data packet.

[0180] Example 55 includes the apparatus of any of Examples 51-54, wherein each of the multiple SUDs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes multiple Length Left SDU subfields and multiple Length Right SDU subfields, each Length Left SDU subfield is used to indicate the length of the corresponding left SDU, and each Length Right SDU subfield is used to indicate the length of the corresponding right SDU.

[0181] Example 56 includes the apparatus of any of Examples 51-55, wherein each Length Left SDU subfield is immediately followed by a corresponding left SDU, and each Length Right SDU subfield is immediately followed by a corresponding right SDU.

[0182] Example 57 includes the apparatus of any of Examples 51-56, further comprising: a component for encoding an event message for transmission to the logical entity after confirming the HCI ISO data packet, the event message being used to indicate the number of free buffers for the next HCI ISO data packet transmission.

[0183] Example 58 includes the apparatus of any of Examples 51-57, wherein the apparatus is applicable to a host, and wherein the logical entity comprises a controller.

[0184] Example 59 includes the apparatus of any of Examples 51-58, wherein the apparatus is applicable to a controller, and wherein the logical entity comprises a host.

[0185] Example 60 includes the apparatus of any of Examples 51-59, wherein the interface comprises a host controller interface (HCI).

[0186] Example 61 includes a computer-readable medium having instructions stored thereon, wherein the instructions, when executed by a processing circuit, cause the processing circuit to perform a method as described in any of Examples 21-30.

[0187] Example 62 includes a computer-readable medium having instructions stored thereon, wherein the instructions, when executed by a processing circuit, cause the processing circuit to perform a method as described in any of Examples 31-40.

[0188] Embodiments according to the present disclosure are specifically disclosed in the attached claims for methods, storage media, devices, and computer program products, wherein any feature mentioned in one claim category (e.g., method) may also be claimed in another claim category (e.g., system). Dependencies or references in the attached claims are selected for formal reasons only. However, any subject matter resulting from intentional tracing back to any previous claim (especially multiple dependencies) may also be claimed, so that any combination of claims and their features is disclosed and may be claimed, regardless of the dependencies selected in the attached claims. The subject matter that may be claimed includes not only the combination of features listed in the attached claims, but also any other combination of features in the claims, wherein each feature mentioned in the claims may be combined with any other feature or combination of other features in the claims. In addition, any embodiments and features described or depicted herein may be claimed in separate claims and / or in any combination with any embodiment or feature described or depicted herein or with any feature of the attached claims.

[0189] The foregoing description of one or more embodiments provides illustration and description, but is not intended to be exhaustive or to limit the scope of the embodiments to the precise forms disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the various embodiments.

[0190] Certain aspects of the present disclosure are described above with reference to block diagrams and flow charts of systems, methods, devices and / or computer program products according to various embodiments. It should be understood that one or more blocks in the block diagrams and flow charts and combinations of blocks in the block diagrams and flow charts can be implemented by computer executable program instructions, respectively. Likewise, according to some embodiments, some blocks of the block diagrams and flow charts may not necessarily need to be executed in the order presented, or may not need to be executed at all.

[0191] These computer executable program instructions can be loaded onto a special purpose computer or other specific machine, processor or other programmable data processing device to produce a specific machine, so that these instructions executed on the computer, processor, or other programmable data processing device create a device for implementing one or more functions specified in one or more flowchart blocks. These computer program instructions can also be stored in a computer readable storage medium or memory, which can instruct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable storage medium produce a product, which includes an instruction means for implementing one or more functions specified in a flowchart block or block. As an example, some embodiments can provide a computer program product, including a computer readable storage medium having a computer readable program code or program instruction implemented therein, and the computer readable program code is suitable for being executed to implement one or more functions specified in one or more flowchart blocks. Computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating elements or steps are executed on a computer or other programmable device, thereby generating a computer-implemented process, so that the instructions executed on a computer or other programmable device provide elements or steps for implementing the functions specified in one or more flowchart blocks.

[0192] Therefore, the blocks of the block diagrams and flow charts support a combination of devices for performing a specified function, a combination of elements or steps for performing a specified function, and a program instruction means for performing a specified function. It will also be understood that each block of the block diagrams and flow charts and the combination of blocks in the block diagrams and flow charts can be implemented by a dedicated, hardware-based computer system or a combination of dedicated hardware and computer instructions that performs a specified function, element or step.

[0193] Conditional language, such as "may" or "might", etc., unless expressly stated otherwise or otherwise understood in the context of use, is generally intended to convey that certain embodiments may include, while other embodiments do not include, certain features, elements, and / or operations. Thus, such conditional language is generally not intended to imply that features, elements, and / or operations are in any way required for one or more embodiments, or that one or more embodiments must include logic for determining, with or without user input or prompting, whether such features, elements, and / or operations are included in any particular embodiment or are to be performed in any particular embodiment.

[0194] Many modifications and other embodiments of the disclosure set forth herein will clearly benefit from the teachings presented in the foregoing description and the associated drawings. Therefore, it should be understood that the disclosure is not limited to the specific embodiments disclosed, and modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are used herein, they are used in a general and descriptive sense only and not for the purpose of limitation.

Claims

1. A device comprising: interface; and Processor circuit, Wherein, the processor circuit is used for: generating a host controller interface (HCI) isochronous (ISO) data packet; and encoding the HCI ISO data packet for transmission to a logical entity in Bluetooth communication via the interface, The HCI ISO data packet includes a plurality of service data units (SDUs).

2. The device according to claim 1, wherein: The HCI ISO data packet includes an HCI ISO Num subfield, which is used to indicate the number of the multiple SDUs.

3. The device according to claim 1, wherein: Each of the plurality of SDUs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes a first Connection Handle subfield and a second Connection Handle subfield, wherein the first Connection Handle subfield corresponds to a left SDU of the plurality of SDUs to indicate a logical channel for the left SDU, and the second Connection Handle subfield corresponds to a right SDU of the plurality of SDUs to indicate a logical channel for the right SDU.

4. The device according to claim 3, wherein: The first Connection Handle subfield or the second Connection Handle subfield includes a flag for indicating whether the HCI ISO data packet includes more than one SDU.

5. The device according to claim 1, wherein: Each of the multiple SUDs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes multiple Length Left SDU subfields and multiple Length Right SDU subfields, each Length Left SDU subfield is used to indicate the length of a corresponding left SDU, and each Length Right SDU subfield is used to indicate the length of a corresponding right SDU.

6. The device according to claim 5, wherein: Each Length Left SDU subfield is immediately followed by the corresponding left SDU, and each Length Right SDU subfield is immediately followed by the corresponding right SDU.

7. The device according to claim 1, wherein: The processor circuit is further configured to: An event message received from the logical entity in response to the HCI ISO data packet is decoded to obtain the number of free buffers for the next HCI ISO data packet transmission.

8. The device according to claim 1, wherein: The apparatus is part of a host, and wherein the logical entity comprises a controller.

9. The device according to claim 1, wherein: The apparatus is part of a controller, and wherein the logical entity comprises a host.

10. The device according to any one of claims 1 to 9, wherein: The interface comprises a host controller interface (HCI).

11. An apparatus comprising: interface; and Processor circuit, Wherein, the processor circuit is used for: decoding a host controller interface (HCI) isochronous (ISO) data packet received from a logical entity in Bluetooth communication via the interface; and responsive to the HCI ISO data packet, encoding an acknowledgement for transmission to the logical entity via the interface, The HCIISO data packet includes multiple service data units (SDUs).

12. The device according to claim 11, wherein The HCI ISO data packet includes an HCI ISO Num subfield, which is used to indicate the number of the multiple SDUs.

13. The device according to claim 11, wherein: Each of the plurality of SDUs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes a first Connection Handle subfield and a second Connection Handle subfield, wherein the first Connection Handle subfield corresponds to a left SDU of the plurality of SDUs to indicate a logical channel for the left SDU, and the second Connection Handle subfield corresponds to a right SDU of the plurality of SDUs to indicate a logical channel for the right SDU.

14. The device according to claim 13, wherein: The first Connection Handle subfield or the second Connection Handle subfield includes a flag for indicating whether the HCI ISO data packet includes more than one SDU.

15. The device according to claim 11, wherein Each of the multiple SUDs includes a left SDU and a right SDU, and wherein the HCI ISO data packet includes multiple Length Left SDU subfields and multiple Length Right SDU subfields, each Length Left SDU subfield is used to indicate the length of a corresponding left SDU, and each Length Right SDU subfield is used to indicate the length of a corresponding right SDU.

16. The device according to claim 15, wherein: Each Length Left SDU subfield is immediately followed by the corresponding left SDU, and each Length Right SDU subfield is immediately followed by the corresponding right SDU.

17. The device according to claim 11, wherein: The processor circuit is further configured to: After the HCI ISO data packet is acknowledged, an event message is encoded for transmission to the logical entity, the event message being used to indicate the number of free buffers for the next HCI ISO data packet transmission.

18. The device according to claim 11, wherein The apparatus is part of a host, and wherein the logical entity comprises a controller.

19. The device according to claim 11, wherein: The apparatus is part of a controller, and wherein the logical entity comprises a host.

20. The device according to any one of claims 11 to 19, wherein: The interface comprises a host controller interface (HCI).