Bluetooth controller device and method thereof
By designing multiple Bluetooth controllers as central roles in the protocol layer view to synchronize clocks and negotiate packet transmission and reception times, the CCI and ACI issues in multi-Bluetooth radio circuits are resolved, improving system performance.
Patent Information
- Application Number
- CN202510928325.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-06-19
- Filing Date
- 2025-07-07
- Publication Date
- 2026-01-09
Smart Images

Figure CN121310099A_ABST
Abstract
Description
[0001] CROSS REFERENCE
[0002] This application claims the benefit of U.S. Provisional Application No. 63 / 668,370, filed July 8, 2024. The contents of this application are incorporated herein by reference. TECHNICAL FIELD
[0003] The present invention relates to Bluetooth technology, and more particularly, to a Bluetooth controller device and a method for effectively reducing ACI noise of multiple Bluetooth controllers. BACKGROUND
[0004] Generally speaking, in recent years, the 2.4 GHz band has become increasingly crowded. Co-Channel Interference (CCI) and Adjacent Channel Interference (ACI) have been major challenges for communication system designers. In this case, integrating two or even more Bluetooth radio circuits into a single integrated circuit will undoubtedly exacerbate the problem of CCI and ACI. SUMMARY
[0005] Therefore, one of the objectives of the present invention is to provide a Bluetooth controller device and a corresponding method to solve the above problems.
[0006] According to an embodiment, a Bluetooth controller device is disclosed. The Bluetooth controller device is coupled to a host device through a host interface function communication interface, and is coupled to a plurality of Bluetooth radio circuits. The Bluetooth controller device includes a plurality of Bluetooth controllers. The plurality of Bluetooth controllers are configured to control the plurality of Bluetooth radio circuits respectively to transmit and receive Bluetooth packets using a same configuration of a link control protocol transmitted from the host device, and clocks of the plurality of Bluetooth controllers are synchronized with each other. The plurality of Bluetooth controllers are configured to act as a central role, negotiate with a corresponding peer Bluetooth controller, act as a peripheral role related to the central role, and separate a packet transmission time of a first Bluetooth radio circuit of the plurality of Bluetooth radio circuits from a packet reception time of a second Bluetooth radio circuit of the plurality of Bluetooth radio circuits by respectively ignoring or rejecting at least a request from the corresponding peer Bluetooth controller.
[0007] According to an embodiment, a method of a Bluetooth controller device is disclosed. The Bluetooth controller device is coupled to a host device through a host interface function communication interface, and coupled to a plurality of Bluetooth radio circuits. The method comprises: providing a plurality of Bluetooth controllers to control the plurality of Bluetooth radio circuits respectively to transmit and receive Bluetooth packets using a same configuration of a link control protocol transmitted from the host device, the clocks of the plurality of Bluetooth controllers are synchronized with each other; and configuring the plurality of Bluetooth controllers respectively as a central role, negotiating with a corresponding peer Bluetooth controller as a peripheral role related to the central role, making a packet transmission time of a first Bluetooth radio circuit of the plurality of Bluetooth radio circuits separate from a packet reception time of a second Bluetooth radio circuit of the plurality of Bluetooth radio circuits by ignoring or rejecting at least a request from the corresponding peer Bluetooth controller respectively.
[0008] These and other objects of the present application will become readily apparent after a reading of the following detailed description of the preferred embodiments in conjunction with the drawings. BRIEF DESCRIPTION OF DRAWINGS
[0009] Figure 1 is a schematic diagram of a Bluetooth controller device according to an embodiment of the present application.
[0010] Figure 2 is a conceptual example showing transmission and reception of two Bluetooth radio circuits (e.g. RF_0 and RF_1) based on the disclosed multi-Bluetooth coexistence method according to an embodiment of the present application.
[0011] Figure 3 is an example showing synchronization of time reference points used by the Bluetooth controllers respectively according to an embodiment of the present application.
[0012] Figure 4 is an example showing a Bluetooth controller (used as a central / master role) setting and negotiating link control protocol parameters with a peer Bluetooth controller (used as a peripheral / slave role) according to an embodiment of the present application.
[0013] Figure 5 is a schematic diagram showing a Bluetooth controller forcing a fixed payload length between a Bluetooth controller and its peer side Bluetooth controller to be the same length according to an embodiment of the present application.
[0014] Figure 6 Figure 1 is a schematic diagram showing a Bluetooth controller enforcing a fixed load length between the Bluetooth controller and its peer Bluetooth controller according to one embodiment of the present application.
[0015] Figure 7 Figure 2 is a schematic diagram showing a Bluetooth controller enforcing only one pair of transmission and reception (TRX) between the Bluetooth controller and its peer Bluetooth controller and adjusting the length of the packet interval time according to one embodiment of the present application. DETAILED DESCRIPTION
[0016] The present BT application aims to provide a Bluetooth controller device that supports a multi-Bluetooth coexistence method. Figure 1 Figure 1 is a schematic diagram showing a Bluetooth controller device 100 according to one embodiment of the present application. The Bluetooth controller device 100 is coupled to a host device 101 through a host interface function (HIF) communication interface 102, and is coupled to a plurality of Bluetooth radio circuits, such as RF_0, RF_1,..., and RF_N, respectively. The Bluetooth controller device 100 includes a plurality of Bluetooth controllers 105_0, 105_1,..., and 105_N, which are associated with and correspond to the Bluetooth radio circuits, such as RF_0, RF_1,..., and RF_N, respectively. The number of Bluetooth controllers is not a limitation of the present application. Each Bluetooth controller includes a classic (BR / EDR) Bluetooth controller and a low energy (LE) controller. For example, the Bluetooth controller 105_0 includes a classic (BR / EDR) Bluetooth controller numbered 0 and an LE (low energy) controller numbered 0. Similarly, the Bluetooth controller 105_1 includes a classic (BR / EDR) Bluetooth controller numbered 1 and an LE (low energy) controller numbered 1, and the Bluetooth controller 105_N includes a classic (BR / EDR) Bluetooth controller numbered N and an LE (low energy) controller numbered N. That is, each Bluetooth controller can support the functions and operations of the classic (BR / EDR) controller and the functions and operations of the low energy controller.
[0017] Multiple Bluetooth controllers 105_0, 105_1, ..., and 105_N, using the same configuration settings of the link control protocol sent from host device 101, control multiple Bluetooth radio circuits RF_0, RF_1, ..., and RF_N respectively to transmit and receive Bluetooth packets. The clocks of the multiple Bluetooth controllers 105_0, 105_1, ..., and 105_N are synchronized with each other.
[0018] In the protocol layer view, multiple Bluetooth controllers 105_0, 105_1, ..., and 105_N serve as the central / master roles, corresponding to their peer Bluetooth controllers ( Figure 1 (Not shown in the diagram) Through negotiation, these peer Bluetooth controllers will act as peripheral / slave roles in relation to the central / master role. By ignoring or rejecting at least one request from the respective peer Bluetooth controller, the packet transmission time of the first Bluetooth radio circuit (e.g., RF_0) scheduled by the first Bluetooth controller 105_0 is separated from the packet reception time of the second Bluetooth radio circuit (e.g., RF_1) scheduled by the second Bluetooth controller 105_1. It should be noted that in this embodiment, the packet transmission time of the first Bluetooth radio circuit (e.g., RF_0) and the packet reception time of the second Bluetooth radio circuit (e.g., RF_1) are separated by the operation of the central role (i.e., Bluetooth controllers 105_0, 105_1, ..., and 105_N) designed in the protocol layer view, without requiring additional circuit design for Bluetooth radio circuits RF_0, RF_1, ..., and RF_N in the physical layer view.
[0019] In this embodiment, based on a synchronized clock and the same configuration settings of the link control protocol sent from host device 101, Bluetooth controllers 105_0, 105_1, ..., and 105_N are respectively set as central roles in the protocol layer view, and the packet transmission / reception times of Bluetooth radio circuits RF_0, RF_1, ..., and RF_N can be aligned with each other. This effectively separates the packet transmission time of one Bluetooth radio circuit (e.g., RF_0) from the packet reception times of other Bluetooth radio circuits RF_1, ..., and RF_N.
[0020] Figure 2is a schematic diagram showing a conceptual example of transmission and reception of two Bluetooth radio circuits (e.g., RF_0 and RF_1) scheduled by Bluetooth controllers 105_0 and 105_1 based on the disclosed multi-Bluetooth coexistence method, according to one embodiment of the present application. In Figure 2 In part (a) of FIG. 1, based on the disclosed multi-Bluetooth coexistence method, two Bluetooth radio circuits (e.g., RF_0 and RF_1) can transmit packets (or receive packets) at the same time, respectively. That is, the packet transmission time of Bluetooth radio circuits (e.g., RF_0 and RF_1) is aligned, and the packet reception time of Bluetooth radio circuits (e.g., RF_0 and RF_1) is also aligned. Since the packet transmission time can be separated from the packet reception time, no adjacent channel interference (ACI) is introduced to the overall communication system, i.e., a type of interference that occurs in wireless communication when a signal from a nearby frequency channel interferes with the intended signal on the desired channel. The overall communication system can be more easily designed to mitigate co-channel interference (CCI), i.e., a type of interference that occurs in a wireless communication system when two or more transmitters use the same frequency channel, without considering the ACI effect.
[0021] In Figure 2 In part (b) of FIG. 1, for a conventional Bluetooth radio circuit, since the packet transmission time of the conventional Bluetooth radio circuit arranged by the conventional Bluetooth controller overlaps with the packet reception time of another conventional Bluetooth radio circuit arranged by another conventional Bluetooth controller, the packet reception of the channel of signal BT1 will be affected by adjacent channel interference (ACI) from the packet transmission BT2 of the adjacent channel from the perspective of the antenna port. The performance of the conventional scheme will be significantly degraded.
[0022] In addition, in practice, in one embodiment, the plurality of Bluetooth controllers includes a first Bluetooth controller (e.g., 105_0) associated with a first Bluetooth radio circuit (e.g., RF_0) and a second Bluetooth controller 105_1 associated with a second Bluetooth radio circuit (e.g., RF_1). The time reference point used by the first Bluetooth controller 105_0 is synchronized with the time reference point used by the second Bluetooth controller 105_1 to schedule packet transmission and packet reception.
[0023] Figure 3is a schematic diagram showing the synchronization of the time reference points used by Bluetooth controllers 105_0 and 105_1 respectively according to one embodiment of the present application. In Figure 3 the time reference points are anchor points (specific points in time) derived from the clocks of the central / master Bluetooth controllers 105_0 and 105_1 respectively as the absolute time reference for all packet transmissions in the two piconets. By doing so, the anchor point Anchor_0 used by the first Bluetooth controller 105_0 is the same as the anchor point Anchor_1 used by the second Bluetooth controller 105_1, and the time interval T_0 of the first Bluetooth controller 105_0 can be the same as the time interval T_1 of the second Bluetooth controller 105_1 if the two time intervals T_0 and T_1 are configured to be of the same length. That is, the connection interval (e.g. T_0) of the link control protocol determined by the first Bluetooth controller (e.g. 105_0) is equal to the connection interval (e.g. T_1) of the link control protocol determined by the second Bluetooth controller (e.g. 105_1). Both Bluetooth controllers 105_0 and 105_1, acting as central roles, are arranged to set or determine the connection intervals to be of the same length.
[0024] Furthermore, in one embodiment, the packet length used by the first Bluetooth controller 105_0 is equal to the packet length used by the second Bluetooth controller 105_1 for packet transmission and packet reception, for example. For example, in Figure 3In this embodiment, the data length of packet transmission (TX) arranged and scheduled by the first Bluetooth controller 105 0 is configured to be the same as the data length of packet transmission (TX) arranged and scheduled by the second Bluetooth controller 105 1. In addition, the data length of packet reception (RX) arranged and scheduled by the first Bluetooth controller 105 0 is configured to be the same as the data length of packet reception (RX) arranged and scheduled by the second Bluetooth controller 105 1. By doing so, when the anchor points Anchor 0 and Anchor 1 are the same, the data properties (e.g., the data length of packet transmission (TX) and packet reception (RX)) of different Bluetooth controllers are respectively the same, and the order of packet transmission (TX) and packet reception (RX) of different Bluetooth controllers are arranged to be the same, the packet transmission time of the Bluetooth controllers 105 0 and 105 1 can occur completely simultaneously, and later the packet reception time of the Bluetooth controllers 105 0 and 105 1 can also occur completely simultaneously. Therefore, equivalently, the packet transmission time of the Bluetooth controller 105 0 can be completely separated from the packet reception time of the Bluetooth controller 105 1, and the packet reception time of the Bluetooth controller 105 0 can be completely separated from the packet transmission time of the Bluetooth controller 105 1. The ACI noise can be reduced.
[0025] Further, for example, in another embodiment, the number of packet pairs determined by the first Bluetooth controller (e.g., 105_0) for the first peer Bluetooth controller is equal to the number of packet pairs determined by the second Bluetooth controller (e.g., 105_1) for the second peer Bluetooth controller. For example, in time interval T_0, the number of packet pairs determined by the first Bluetooth controller 105_0 is equal to two, i.e., two pairs of packet transmission and reception. In time interval T_1, the number of packet pairs determined by the second Bluetooth controller 105_1 is also equal to two, i.e., two pairs of packet transmission and reception. By doing so, when the anchors Anchor_0 and Anchor_1 are the same, the data properties (e.g., data length of packet transmission (TX) and data packet reception (RX)) of different Bluetooth controllers are respectively the same, the order of packet transmission (TX) and data packet reception (RX) of different Bluetooth controllers are arranged to be the same, and the number of packet pairs of different Bluetooth controllers are configured to be the same, the packet transmission time of Bluetooth controllers 105_0 and 105_1 in the entire time interval T_0 and T_1 can be more accurately simultaneous, and later the data packet reception time of Bluetooth controllers 105_0 and 105_1 in the entire time interval T_0 and T_1 can also be more accurately simultaneous. Therefore, equivalently, the packet transmission time of Bluetooth controller 105_0 in the entire time interval T_0 can be completely separated from the data packet reception time of Bluetooth controller 105_1 in the entire time interval T_1, and the data packet reception time of Bluetooth controller 105_0 in the entire time interval T_0 can be completely separated from the packet transmission time of Bluetooth controller 105_1 in the entire time interval T_1. The ACI noise can be reduced.
[0026] Further, in one embodiment, for example, the time of packet transmission (e.g., the start of a data packet) determined by the first Bluetooth controller (e.g., 105_0) is aligned with the time of packet transmission (e.g., the start of a data packet) determined by the second Bluetooth controller 105_1, and the time of data packet reception determined by the first Bluetooth controller 105_0 is aligned with the time of data packet reception determined by the second Bluetooth controller 105_1.
[0027] Figure 4is a diagram showing Bluetooth controllers 105_0 (acting as a central / master role) setting and negotiating parameters of a link control protocol with a peer Bluetooth controller (acting as a peripheral / slave role) according to one embodiment of the present application. The host device 101 sends a first configuration setting to the Bluetooth controller 105_0 through the HIF communication interface 102, and a peer host device can send a second configuration setting to the peer Bluetooth controller through another HIF communication interface. The first and second configuration settings can be different if the two Bluetooth controllers are of different types, and can be the same if the two Bluetooth controllers are of the same type. The Bluetooth controller 105_0 based on the first configuration setting is arranged to compete for acting as a central role, which is arranged to force at least one parameter of a link control protocol to be configured as a specified / default parameter. Likewise, the Bluetooth controller 105_1 is also a central role, and is arranged to force at least one parameter of a link control protocol to be configured as a specified / default parameter. That is, in this embodiment, multiple Bluetooth controllers (e.g. 105_0 and 105_1) are used to force at least one parameter of a link control protocol to be the same based on the same first configuration setting.
[0028] For example, the Bluetooth controllers (e.g. 105_0 and 105_1) are classic type Bluetooth controllers, and the at least one parameter can include at least one of a connection packet type, an automatic rate of a link management protocol, a preferred data rate of a link management protocol, a maximum number of slots, a negotiation message of a link management protocol, and a request packet type of a link management protocol. For example (but not limited to), the Bluetooth controllers (e.g. 105_0 and 105_1) can force the connection packet type to be a single slot packet type.
[0029] In this case, to configure the connection packet type to be a single-slot packet type, in effect, the host device 101 is arranged to disable the connection packet type from being set to a multi-slot packet type by sending a specific instruction, such as an HCI change connection packet type command, to inform the Bluetooth controller 105 0 that the Bluetooth controller 105 0 can use a packet type for active connections, such as selecting a single-slot packet type for active connections. The host device 101 can then use and send an HCI create connection command to the Bluetooth controller 105 0 to initiate a connection with another Bluetooth device. Next, the Bluetooth controller 105 0, upon initiating the firmware component, is arranged to execute the firmware component to configure the default packet type to be a single-slot packet type.
[0030] Bluetooth controller 105_0 used as the central role can then send a command LMP AUT RATE, a specific Link Management Protocol (LMP) Protocol Data Unit (PDU) or message / command, to the peer Bluetooth controller coupled to the peer host device to change the status of the CQDDR (Channel Quality Driven Data Rate) function to a disabled state. That is, the Bluetooth controller 105_0 sends the command LMP AUT RATE to disable the CQDDR function, which is a feature of the classic (BR / EDR) Bluetooth system, designed to optimize the connection by monitoring the quality of the radio frequency signal. Once the peer Bluetooth controller accepts the command LMP AUT RATE, both Bluetooth controllers update their internal state to “CQDDR Disabled”. By doing so, the Bluetooth controller 105_0 used as the central role can turn off the automatic mechanism that allows the Bluetooth controller 105_0 and the peer Bluetooth controller to dynamically change their packet types according to the quality of the wireless link. The Bluetooth controller 105_0 used as the central role can then send a command LMP PREFERRED RATE, a specific Link Management Protocol (LMP) Protocol Data Unit (PDU) or message / command, to the peer Bluetooth controller coupled to the peer host device to suggest / inform the peer Bluetooth controller of the preferred rate setting of the Bluetooth controller 105_0 in the CQDDR disabled state to adjust or influence its behavior in the CQDDR disabled state. The Bluetooth controller 105_0 used as the central role can then send a pair of commands LMP MAX SLOT and LMP MAX SLOT REQ, two commands in the Link Management Protocol for managing the data throughput of the connection, to the peer Bluetooth controller coupled to the peer host device to negotiate the use of multi-slot (or single-slot) packets. The command LMP MAX SLOT sent by the Bluetooth controller 105_0 is used to inform the peer Bluetooth controller of the maximum number of slots allowed for a single packet transmission. In this embodiment, the Bluetooth controller 105_0 configures the command LMP MAX SLOT to indicate a maximum number of one slot length to limit to only a single slot. Furthermore, the command LMP MAX SLOT REQ sent by the Bluetooth controller 105_0 to the peer Bluetooth controller is used to request a new maximum slot value. In this embodiment, the Bluetooth controller 105_0 configures the command LMP MAX SLOT REQ to indicate a maximum number of one slot length to limit to only a single slot.For the peer Bluetooth controller, if they compete as a central / master role, the peer Bluetooth controller can send the request / command LMP_AUT_RATE, LMP_PREFERRED_RATE, LMP_MAX_SLOT, LMP_MAX_SLOT_REQ, and LMP_PACKET_TYPE_TABLE_REQ to the Bluetooth controller 105_0. The command LMP_PACKET_TYPE_TABLE_REQ is a command used in the Bluetooth link management protocol by the Bluetooth controller device to propose a set of available packet types to switch the asynchronous connectionless (ACL) link. In this case, the Bluetooth controller 105_0 is arranged to ignore or reject the request / command from the corresponding peer Bluetooth controller, i.e. not to accept the request / command of the peer Bluetooth controller. Thus, after the above negotiation, the Bluetooth controller 105_0 successfully acts as a central role while the peer Bluetooth controller acts as a corresponding peripheral role.
[0031] In one embodiment, if the request / command LMP_AUT_RATE, LMP_PREFERRED_RATE, LMP_MAX_SLOT, LMP_MAX_SLOT_REQ, and LMP_PACKET_TYPE_TABLE_REQ sent by the peer Bluetooth controller are all limited to the single-slot type, the Bluetooth controller 105_0 can be arranged to accept these request / commands. That is, if the settings of the request / commands sent by the peer Bluetooth controller are equal to the settings of the request / commands sent by the Bluetooth controller 105_0, the Bluetooth controller 105_0 can accept these request / commands.
[0032] Alternatively, in another embodiment, for example (but not limited to), the Bluetooth controllers (e.g. 105_0 and 105_1) are Bluetooth controllers of the low energy type (i.e. BLE (Bluetooth Low Energy) controllers), and the at least one parameter can include at least one of a connection packet type, a connection interval of a link layer control protocol (LLCP), a packet length of the link layer control protocol, a physical transmission rate of the link layer control protocol, and a number of packets transmitted and received of the link layer control protocol. Similarly, the Bluetooth controllers (e.g. 105_0 and 105_1) can force the connection packet type to be a single-slot packet type.
[0033] Further, for example, to configure a fixed packet length, the host device 101 is arranged to set the same parameters for the plurality of Bluetooth controllers 105_0, 105_1,... and 105_N. In practice, the host device 101 can send a HCI LE Create Connection command, i.e. an instruction in a Bluetooth Low Energy (BLE) system for a host device to instruct its Bluetooth controller (chip) to establish a connection with a specific advertising peripheral device, into a Bluetooth controller such as 105_0. Then, the host device 101 can send a HCI LE Connection Update command, i.e. an instruction in a Bluetooth Low Energy (BLE) system that allows the host device 101 to request to change existing connection parameters, to the Bluetooth controller such as 105_0. After the two BLE controller devices have connected, the HCI LE Connection Update command can be used to renegotiate their communication rules to optimize for low power, higher throughput, or lower latency. Then, the host device 101 can send a HCI LE Remote Connection Parameter Request Reply command, i.e. a command that the host device 101 sends to its own Bluetooth controller such as 105_0. The HCI LE Remote Connection Parameter Request Reply command is used to accept a request from a connected peer device to change connection parameters. Then, the host device 101 can send a HCI LE Set Data Length command, i.e. an instruction that the host device 101 uses to request a Bluetooth controller (e.g. 105_0) to increase the maximum payload size of packets for a specific and active connection. Then, the host device 101 can send a HCI LE Write Suggested Default Data Length command, i.e. an instruction that the host device 101 uses to provide a set of default values for data length extension (DLE) for all future BLE connections for its Bluetooth controller (e.g. 105_0). Then, the host device 101 can send a HCI LE Extended Create Connection command, i.e. an instruction in a Bluetooth 5.0 system for creating a Bluetooth Low Energy connection, to the Bluetooth controller (e.g. 105_0).The host device 101 can then receive an HCI LE PHY Update Complete message / event from the Bluetooth controller (e.g., 105 0) that is used to report the final result of the physical layer change procedure back to the host device 101.
[0034] The Bluetooth controllers 105 0, 105 1,..., and 105 N are then arranged to execute the firmware component to configure its packet length to the default packet length with the same parameters as per the above-mentioned command received from the host device 101 after starting the firmware component for the side of the Bluetooth controllers 105 0, 105 1,..., and 105 N.
[0035] The Bluetooth controller 105 0, as the central role, can then send a request LL_CONNECTION_PARAM_REQ, for example, which is a formal request sent by the Bluetooth controller 105 0 over the air to the peer Bluetooth controller to negotiate connection parameter changes for the active link, for LLCP communication of the Bluetooth protocol stack. In this example, the command LL_CONNECTION_PARAM_REQ is limited to interval updates only. Further, the Bluetooth controller 105 0, as the central role, can send a request LL_LENGTH_REQ, for example, which is a specific message sent by the Bluetooth controller 105 0 over the air to the peer Bluetooth controller to initiate a data length extension (DLE) negotiation. The request LL_LENGTH REQ is limited to the default packet length only. Further, similarly, the Bluetooth controller 105 0, as the central role, can send messages LL_LENGTH_RSP and LL_PHY_REQ to the peer Bluetooth controller. The Bluetooth controller 105 0, as the central role, can receive requests / messages LL_CONNECTION_UPDATE_IND, LL_CONNECTION_PARAM_REQ, LL_CONNECTION_PARAM_RSP, LL_LENGTH_REQ, LL_LENGTH_RSP, LL_PHY_REQ, and LL_PHY_RSP from the peer Bluetooth controller. The message LL_LENGTH_RSP is a link layer control protocol data unit used in the data length extension (DLE) negotiation procedure as a mandatory response to the PDU LL_LENGTH_REQ in the Bluetooth low energy system.
[0036] The message LL PYH REQ is a link layer control protocol data unit sent over the air from one Bluetooth controller to another to formally initiate a physical layer update procedure, allowing Bluetooth devices to dynamically switch between different physical layer modulations to optimize connection speed, range, or a balance of speed and range. The message LL PHY RSP is a link layer control protocol data unit sent by a peripheral device (e.g., a peer Bluetooth controller) to a central device such as the Bluetooth controller 105 0 in response to receiving the LL PHY REQ PDU.
[0037] The message LL CONNECTION UPDATE IND is a link layer control protocol data unit sent from a central role to a peripheral role to command a change in connection parameters. Thus, the Bluetooth controller 105 0 as a central device contender is arranged to ignore or reject the message LL CONNECTION UPDATE IND from a peer Bluetooth controller.
[0038] The message LL CONNECTION PARAM REQ is a link layer control protocol data unit sent over the air by one Bluetooth controller to a peer Bluetooth controller to formally request a negotiation of a change in connection parameters for an active link. Similarly, the Bluetooth controller 105 0 as a central role can ignore or reject the message LL CONNECTION PARAM REQ from a peer Bluetooth controller.
[0039] The message LL CONNECTION PARAM RSP is a link layer control protocol data unit sent by a peripheral Bluetooth controller to a central Bluetooth controller in response to receiving the message LL CONNECTION PARAM REQ. In this example, the Bluetooth controller 105 0 as a central role can accept the message LL CONNECTION PARAM RSP from a peer Bluetooth controller.
[0040] The message LL_LENGTH_REQ is a link layer control protocol data unit used to initiate negotiation for use of larger packets. Similarly, the Bluetooth controller 105_0 in the central role can ignore or reject the message LL_LENGTH_REQ from a peer Bluetooth controller to remain in the central role. The message LL_LENGTH_RSP is a link layer control protocol data unit that is a response to the message LL_LENGTH_REQ. The Bluetooth controller 105_0 in the central role can accept the reply message LL_LENGTH_RSP from a peer Bluetooth controller.
[0041] Similarly, the message LL_PHY_REQ is a link layer control protocol data unit sent over the air from one Bluetooth controller to another to formally initiate the physical layer update procedure that allows Bluetooth devices to dynamically switch between different physical layer modulations to optimize connection speed, range, or a balance of speed and range. The Bluetooth controller 105_0 in the central role can ignore or reject the message LL_PHY_REQ from a peer Bluetooth controller. The message LL_PHY_RSP is a link layer control protocol data unit that is a response sent by a peripheral device (e.g., a peer Bluetooth controller) to a central device such as the Bluetooth controller 105_0 after receiving the message LL_PHY_REQ. Thus, the Bluetooth controller 105_0 in the central role can accept the message LL_PHY_RSP from a peer Bluetooth controller.
[0042] In this way, the Bluetooth controller 105_0 in the central role is arranged to ignore or reject request messages from a peer Bluetooth controller to remain in the central role and can only accept reply messages from a peer Bluetooth controller.
[0043] Figure 5 is a schematic diagram of the Bluetooth controllers 105_0 and 105_1 enforcing that the fixed payload length between the Bluetooth controllers 105_0 and 105_1 and their peer Bluetooth controllers is the same length in accordance with an embodiment of the application. In Figure 5Bluetooth controller 105_0 and 105_1 are configured to have the same payload length, e.g., 10 bytes (denoted by "10B", where the trailing "B" denotes a unit of one byte), and also can be forced to have a payload length less than an upper limit, e.g., 18 bytes ("18B"). Thus, based on the same parameters of the link layer protocol (i.e., the same payload length, the same lengths of the connection intervals T_0 and T_1, the same order of data transmission and reception, and the same starting points of the connection intervals T_0 and T_1 ), the packet transmission times scheduled by Bluetooth controller 105_0 can be precisely aligned with the packet transmission times scheduled by Bluetooth controller 105_1, and the packet reception times scheduled by Bluetooth controller 105_0 can be precisely aligned with the packet reception times scheduled by Bluetooth controller 105_1 during the connection intervals T_0 and T_1.
[0044] Figure 6 Bluetooth controllers, e.g., 105_0 and 105_1, are configured to have the same payload length, e.g., 10 bytes (denoted by "10B", where the trailing "B" denotes a unit of one byte), and also can be forced to have a payload length less than an upper limit, e.g., 18 bytes ("18B"), and also are allowed to have only one pair of packet transmission and reception. Thus, based on the same parameters of the link layer protocol (i.e., only one pair of packet transmission and reception, the same payload length, the same lengths of the connection intervals T_0 and T_1, the same order of data transmission and reception, and the same starting points of the connection intervals T_0 and T_1 ), the only one pair of packet transmission times scheduled by Bluetooth controller 105_0 can be precisely aligned with the only one pair of packet transmission times scheduled by Bluetooth controller 105_1, and the only one pair of packet reception times scheduled by Bluetooth controller 105_0 can be precisely aligned with the only one pair of packet reception times scheduled by Bluetooth controller 105_1 during the connection intervals T_0 and T_1. Figure 6
[0045] In the link layer control protocol, the maximum data length of a transmission packet is determined by the first Bluetooth controller to separate the tail portion of the transmission packet from the head portion of a reception packet received by the second Bluetooth controller using a frame interval. Figure 7 In accordance with an embodiment of the present application, Bluetooth controllers such as 105_0 and 105_1 enforce that only one pair of transmission and reception (TRX) between Bluetooth controllers 105_0 and 105_1 and their peer Bluetooth controllers and adjust the length of the packet interval time. In Figure 7 Bluetooth controllers 105_0 and 105_1 both act as the central role of their peer Bluetooth controllers, configure their payload length to different lengths, e.g., 18 bytes (denoted by "18B", where the trailing "B" denotes a unit of one byte) and 10 bytes (denoted by "10B") for packet transmission, as shown in Figure 1 Bluetooth controllers 105_0 and 105_1 both act as the central role of their peer Bluetooth controllers, configure their payload length to different lengths, e.g., 18 bytes (denoted by "18B", where the trailing "B" denotes a unit of one byte) and 10 bytes (denoted by "10B") for packet transmission, as shown in
[0046] Thus, based on the same parameters of the link layer protocol (i.e., only one pair of packet transmission and reception, the guard time TIFS, the same length of the connection intervals T_0 and T_1, the same order of data transmission and reception, and the same starting point of the connection intervals T_0 and T_1), the only one pair of packet transmission times scheduled by Bluetooth controller 105_0 can be precisely aligned with the only one pair of packet transmission times scheduled by Bluetooth controller 105_1, and the only one pair of packet reception times scheduled by Bluetooth controller 105_0 can be precisely aligned with the only one pair of packet reception times scheduled by Bluetooth controller 105_1 during the connection intervals T_0 and T_1.
[0047] Those skilled in the art will readily observe that numerous modifications and changes in device and method can be made without departing from the teachings of the present application. Accordingly, the above disclosure is intended only to be illustrative. It will be understood by those skilled in the art that various changes in form and details can be made without departing from the scope of the application.
Claims
1. A Bluetooth controller device, coupled to a host device via a host interface functional communication interface, and coupled to multiple Bluetooth radio circuits, the Bluetooth controller device comprising: Multiple Bluetooth controllers, each controlling a plurality of Bluetooth radio circuits to transmit and receive Bluetooth packets using the same configuration settings of the link control protocol sent from the host device, wherein the clocks of the plurality of Bluetooth controllers are synchronized with each other; In this configuration, the multiple Bluetooth controllers each act as a central role, negotiating with their respective peer Bluetooth controllers. As peripheral roles associated with the central roles, they separate the packet transmission time of the first Bluetooth radio circuit and the packet reception time of the second Bluetooth radio circuit in the multiple Bluetooth radio circuits by ignoring or rejecting at least one request from the respective peer Bluetooth controller.
2. The Bluetooth controller device as described in claim 1, wherein, The plurality of Bluetooth controllers includes a first Bluetooth controller associated with the first Bluetooth radio circuit and a second Bluetooth controller associated with the second Bluetooth radio circuit; and the time reference point used by the first Bluetooth controller is synchronized with the time reference point used by the second Bluetooth controller to schedule packet transmission and packet reception.
3. The Bluetooth controller device as described in claim 1, wherein, The plurality of Bluetooth controllers includes a first Bluetooth controller associated with the first Bluetooth radio circuit and a second Bluetooth controller associated with the second Bluetooth radio circuit; and the data packet length used by the first Bluetooth controller is equal to the data packet length used by the second Bluetooth controller for packet transmission and packet reception.
4. The Bluetooth controller device as described in claim 1, wherein, The plurality of Bluetooth controllers includes a first Bluetooth controller associated with the first Bluetooth radio circuit and a second Bluetooth controller associated with the second Bluetooth radio circuit; and the number of packet pairs determined by the first Bluetooth controller for the first peer Bluetooth controller is equal to the number of packet pairs determined by the second Bluetooth controller for the second peer Bluetooth controller.
5. The Bluetooth controller device as described in claim 1, wherein, The plurality of Bluetooth controllers includes a first Bluetooth controller associated with the first Bluetooth radio circuit and a second Bluetooth controller associated with the second Bluetooth radio circuit; and the connection interval of the link control protocol is determined by the first Bluetooth controller to be equal to the connection interval of the link control protocol is determined by the second Bluetooth controller.
6. The Bluetooth controller device as described in claim 1, wherein, The plurality of Bluetooth controllers includes a first Bluetooth controller associated with the first Bluetooth radio circuit and a second Bluetooth controller associated with the second Bluetooth radio circuit; and the packet transmission time determined by the first Bluetooth controller is aligned with the packet transmission time determined by the second Bluetooth controller, and the packet reception time determined by the first Bluetooth controller is aligned with the packet reception time determined by the second Bluetooth controller.
7. The Bluetooth controller device as claimed in claim 1, wherein, The plurality of Bluetooth controllers are used to force at least one parameter of the link control protocol to be set to the same configuration; and the at least one parameter includes at least one of connection packet type, automatic rate of the link management protocol, preferred data rate of the link management protocol, maximum number of timeslots, negotiation message of the link management protocol, and request packet type of the link management protocol.
8. The Bluetooth controller device as claimed in claim 1, wherein, The plurality of Bluetooth controllers are used to force at least one parameter of the link control protocol to be set to the same configuration; and the at least one parameter includes at least one of connection packet type, connection interval of the link layer control protocol, packet length of the link layer control protocol, physical transmission rate of the link layer control protocol, and number of transmitted and received packet pairs of the link layer control protocol.
9. The Bluetooth controller device as claimed in claim 1, wherein, The plurality of Bluetooth controllers includes a first Bluetooth controller associated with the first Bluetooth radio circuit and a second Bluetooth controller associated with the second Bluetooth radio circuit; a single packet pair determined by the first Bluetooth controller for a first peer Bluetooth controller is equal to a single packet pair determined by the second Bluetooth controller for a second peer Bluetooth controller; and, in the link layer control protocol, the maximum data length of the transmission packet determined by the first Bluetooth controller uses a frame interval to separate the tail portion of the transmission packet from the header portion of the received packet received by the second Bluetooth controller.
10. A method for using a Bluetooth controller device, the Bluetooth controller device being coupled to a host device via a host interface functional communication interface and to a plurality of Bluetooth radio circuits, the method comprising: Multiple Bluetooth controllers are provided to control the multiple Bluetooth radio circuits to transmit and receive Bluetooth packets using the same configuration settings of the link control protocol sent from the host device, and the clocks of the multiple Bluetooth controllers are synchronized with each other; and The multiple Bluetooth controllers are configured as central roles and negotiate with their respective peer Bluetooth controllers as peripheral roles associated with the central roles. By ignoring or rejecting at least one request from the respective peer Bluetooth controller, the packet transmission time of the first Bluetooth radio circuit in the multiple Bluetooth radio circuits is separated from the packet reception time of the second Bluetooth radio circuit in the multiple Bluetooth radio circuits.
11. The method of claim 10, wherein, The plurality of Bluetooth controllers includes a first Bluetooth controller associated with the first Bluetooth radio circuit and a second Bluetooth controller associated with the second Bluetooth radio circuit; and the time reference point used by the first Bluetooth controller is synchronized with the time reference point used by the second Bluetooth controller to schedule packet transmission and packet reception.
12. The method of claim 10, wherein the plurality of Bluetooth controllers includes a first Bluetooth controller associated with a first Bluetooth radio circuit and a second Bluetooth controller associated with a second Bluetooth radio circuit; and the data packet length used by the first Bluetooth controller is equal to the data packet length used by the second Bluetooth controller for packet transmission and data packet reception.
13. The method of claim 10, wherein the plurality of Bluetooth controllers includes a first Bluetooth controller associated with a first Bluetooth radio circuit and a second Bluetooth controller associated with a second Bluetooth radio circuit; and the number of packet pairs determined by the first Bluetooth controller for the first peer Bluetooth controller is equal to the number of packet pairs determined by the second peer Bluetooth controller.
14. The method of claim 10, wherein the plurality of Bluetooth controllers includes a first Bluetooth controller associated with a first Bluetooth radio circuit and a second Bluetooth controller associated with a second Bluetooth radio circuit; and the link control protocol connection interval determined by the first Bluetooth controller is equal to the link control protocol connection interval determined by the second Bluetooth controller.
15. The method of claim 10, wherein the plurality of Bluetooth controllers includes a first Bluetooth controller associated with a first Bluetooth radio circuit and a second Bluetooth controller associated with a second Bluetooth radio circuit; and the packet transmission time determined by the first Bluetooth controller is aligned with the packet transmission time determined by the second Bluetooth controller, and the data packet reception time determined by the first Bluetooth controller is aligned with the data packet reception time determined by the second Bluetooth controller.
16. The method of claim 10, further comprising: Force at least one parameter of the link control protocol to be set to the same configuration. The at least one parameter includes at least one of the following: connection packet type, automatic rate of the link management protocol, preferred data rate of the link management protocol, maximum number of time slots, negotiation message of the link management protocol, and request packet type of the link management protocol.
17. The method of claim 10, further comprising: Force at least one parameter of the link control protocol to be set to the same configuration. The at least one parameter includes at least one of the following: connection packet type, connection interval of the link layer control protocol, packet length of the link layer control protocol, physical transmission rate of the link layer control protocol, and number of data packet pairs transmitted and received by the link layer control protocol.
18. The method of claim 10, wherein the plurality of Bluetooth controllers includes a first Bluetooth controller associated with a first Bluetooth radio circuit and a second Bluetooth controller associated with a second Bluetooth radio circuit; the first Bluetooth controller determines that a single data packet pair is equal to a single data packet pair determined by the second peer Bluetooth controller; and, in a link layer control protocol, the maximum data length of the transmission data packet determined by the first Bluetooth controller uses an inter-frame interval to separate the tail portion of the transmission data packet from the header portion of the data packet received by the second Bluetooth controller.