Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the purpose of "Access Address" in BLE

The Bluetooth Low Energy specification talks about an "Access Address" that is part of the link layer packet. What purpose doe this Access Address server?

Reference: Bluetooth 4.0 specification(Volume 6, Part B, 2 Air Interface packets)

like image 651
Prasad Rane Avatar asked Dec 11 '22 13:12

Prasad Rane


1 Answers

BLE is a low power protocol where many devices share the same physical radio channels. There is a chance of collision, where a receiver could listen for a packet, and actually receive packet from someone else than expected sender.

On advertising channels, this is not a problem as communication is expected to be unreliable. On data channels, once packets pass CRC check, they are expected to be reliably transceived (for instance, if CRC passes and MIC fails, connection should be closed). Mixing packets from different data connections would be dramatic.

In order to ensure two connections happening on the same data channels have a negligible chance to collide, they have Access Addresses that are assumed to be different (even if there is a chance two masters take the same random AA, it is considered negligible). Remember Master and Slave 48-bit addresses are not present in data packet headers. AA is the only field that identifies a connection.

With specification's constraints on access address (minimum number of transitions, maximum number of consecutive constant bits, etc.), AA also complements the preamble in the purpose of locking receiver PLL. It can also be filtered by hardware, waking up receiver logic in the Phy only if it matches an expected value. This enhance power consumption on receiver side.

like image 120
Nipo Avatar answered Jan 05 '23 18:01

Nipo