Hardware Reference
In-Depth Information
that hides the complexity and real-time requirements from the rest of the layers (see
“Host Controller Interface (HCI)” on page 24 ).
Computationally expensive, easily automated functionality is typically implemented in
hardware by silicon vendors to avoid overloading the central processing unit that runs
all of the software layers in the stack. This functionality usually includes:
• Preamble, Access Address, and air protocol framing
• CRC generation and verification
• Data whitening
• Random number generation
• AES encryption
The software half of the Link Layer manages the link state of the radio, which is how
the device connects to other devices. A BLE device can be a master, a slave, or both,
depending on the use case and requirements. Devices that initiate connections will be
masters and devices that advertise their availability and accept connections will be slaves.
A master can connect to multiple slaves and a slave can be connected to multiple masters.
Typically, devices such as smartphones or tablets tend to act as a master, while smaller,
simpler, and memory-constrained devices such as standalone sensors usually adopt the
slave role.
Bluetooth Low Energy has an inherent asymmetry in its lower layers between master
and slave devices, because it requires more resources to act as a master. This asymmetry
is similar to USB, in which USB hosts require more resources than USB devices. This
type of architectural asymmetry allows low-cost peripherals running on cheap micro‐
controllers and radios, while the majority of the low-level protocol complexity occurs
on devices with more resources, such as smartphones and tablets.
The Link Layer defines the following roles:
Advertiser
A device sending advertising packets.
Scanner
A device scanning for advertising packets.
Master
A device that initiates a connection and manages it later.
Slave
A device that accepts a connection request and follows the master's timing.
These roles can be logically grouped into two pairs: advertiser and scanner (when not
in an active connection) and master and slave (when in a connection).
Search WWH ::




Custom Search