This blog is the sequel of “Bluetooth technology” articles covering the Introduction to Bluetooth Technology, the Physical layer of Bluetooth, Network to Application layer in Bluetooth etc. In the last blog “Bluetooth Profiles”, we discussed in detail about the different profiles and their applications. We covered how a single device can act as different profiles simultaneously. In this article, we will see how a single Bluetooth device can get connected with multiple other devices and the use cases around it. A Bluetooth network is called a piconet and a group of interconnected piconets is called a scatternet.
Bluetooth Piconet
Bluetooth specification defines that one master may communicate with up to seven slaves by forming a piconet. All devices within a given piconet use the clock provided by the master as the base for packet exchange. The master clock ticks with a period of 312.5 μs, two clock ticks then make up a slot of 625 μs, and two slots make up a slot pair of 1250 μs. In the simple case of single-slot packets, the master transmits in even slots and receives in odd slots. The slave, conversely, receives in even slots and transmits in odd slots. Packets may be 1, 3, or 5 slots long, but in all cases, the master's transmission begins in even slots and the slaves in odd slots. In the below diagram device A, C and E act as master for piconet P1, P2 & P3. In a special use case, C act as master for P2 network and slave for P1 network.
P-P and P-M
The Bluetooth system offers two types of connections, point-to-point and point-to-multipoint as shown in the diagram below.
P-P and P-M
In a point-to-point setup, the physical channel is shared between two Bluetooth devices. In a point-to-multipoint setup, the physical channel is shared among several Bluetooth devices. Each Bluetooth device can only use one physical channel at a time.
HCI Baseband Controller
To support multiple operations at once, devices use time-division multiplexing between the channels. This allows a Bluetooth device to seem like it's operating in multiple piconets at the same time, while still being discoverable and connectable. The Host Controller Interface (HCI) layer plays a big role in managing connections with multiple devices. Baseband controller enables the actual physical connection between devices. It concerns connection establishment within piconet, addressing, packet format, timing and power control.
Higher level Bluetooth Protocols
Baseband Control layer provides two basic types of physical links that can be established between a master device and a slave device - Synchronous Connection Oriented (SCO) and Asynchronous Connection-Less (ACL).
Synchronous connection oriented (SCO)
SCO provides a circuit switched connection, where a dedicated, point-to-point link is established between the master device and the slave device before communication starts. SCO is a symmetric link; i.e. fixed slots are allocated for each direction. SCO radio links are used for time critical data transfer, mainly voice data. A master device can support three SCO links with the same or different slaves. A slave device can have a maximum of three SCO links with its master device. The focus is minimization of time latency. The maximum data rate of SCO link is 64,000 bps (bits per second). Four types of packets are allowed on the SCO logical transport: HV1, HV2, HV3 and DV.
HV1 packetThe HV1 packet has 10 information bytes. The bytes are protected at a rate of 1/3 FEC. No MIC (Message Integrity check) is present. No CRC is present. The payload length is fixed at 240 bits. There is no payload header present.
HV2 packetThe HV2 packet has 20 information bytes. The bytes are protected with a rate 2/3 FEC. No MIC is present. No CRC is present. The payload length is fixed at 240 bits. There is no payload header present.
HV3 packetThe HV3 packet has 30 information bytes. The bytes are not protected by FEC. No MIC is present. No CRC is present. The payload length is fixed at 240 bits. There is no payload header present.
DV packetThe DV packet is a combined data - voice packet. The DV packet shall only be used in place of an HV1 packet.
Asynchronous Connection-Less (ACL)
ACL has two frame types, Data Medium rate (DM) (which provides Forward Error Correction:FEC) and DH (Data high rate) (which doesn’t provide FEC)
Number of slots | 1 | 3 | 5 |
---|---|---|---|
BDR w/ FEC | DM1 1-18 byte |
DM3 2 – 123 bytes |
DM5 2 – 226 bytes |
BDR w/0 FEC | DH1 1-28 byte |
DH3 2-185 byte |
DH5 2-341 byte |
EDR 2Mbps | 2 -DH1 2-56 byte |
2 -DH3 2 – 369 byte |
2 -DH5 2 – 681 byte |
EDR 3Mbps | 3-DH1 2 - 85 byte |
3-DH3 2 – 554 bytes |
3-DH5 2 – 1023 bytes |
Multipoint Bluetooth
Bluetooth Multipoint is a handy feature that allows a single Bluetooth slave device to connect to two different master devices simultaneously (for example, laptop and a smartphone). It was introduced with the release of Bluetooth 4.0. With this feature, users can easily switch between their various devices, such as a laptop and smartphone, without needing to constantly disconnect and reconnect. It's a convenient way to stay connected across multiple Bluetooth devices.
Multipoint Bluetooth comes in different flavors. They include simple, advanced multipoint, and triple connectivity. However, manufacturers also have custom solutions that mimic multipoint Bluetooth functionality.
Simple Multipoint BluetoothThis is the most basic type of Bluetooth multipoint you find in every headset device. It lets you connect to two audio sources. But the downside is, if you're on a call and get another call on a different device, it cuts off the first call to answer the second one.
Advanced Multipoint BluetoothAdvanced multipoint Bluetooth works differently from the basic version. Instead of sending your first call when you get a second one, it puts the first call on hold while you answer the new one.
Triple ConnectivityAs the name suggests, triple connectivity is a form of multipoint Bluetooth that allows you to connect three audio source devices simultaneously instead of the standard two.
Multipoint Use cases
Let us see a working principle of multipoint with an example. A slave device needs to be connected with 2 masters, so that user can leverage same device for master on need basis. This is also called a multipoint environment.
Two Device Pairing to one slaveWhile pairing headset, Bluetooth shall be turned ON and search and pair the device from the laptop and smartphone. After the first device/master is connected, disconnect headset and pair the second device/master.
Bluetooth Pairing
Accepting Incoming call
After successfully pairing, power off/on the headset bluetooth. Now headset will connect with both master’s laptop and smartphone. During the incoming call, HV1 SCO connection will be enabled to transfer audio call to headset.
Bluetooth Incoming call
Dual Incoming Call
This is a special case, where the headset is already servicing an incoming call and another call is received from another device/master. In this case, the headset will take an intelligent call based on the application implementation in headset firmware. Based on the priority of the device, the second call might be addressed, and the first call Bluetooth will be disconnected as per simple multipoint. As per advanced multipoint, headset can put the first call on hold and accept the second call from second master.
Bluetooth Dual Incoming call
Conclusion
The robustness and reliability of Bluetooth multipoint connectivity ensure that users can enjoy a seamless experience, whether they're managing calls between a smartphone and a laptop, streaming music from a tablet while receiving navigation prompts from a car's infotainment system, or seamlessly transitioning between various audio sources. The same concept can be extended to different use cases as well.