- Silicon Labs Community
- Welcome and Announcements
- Silicon Labs Knowledge Base
- 8-bit MCU
- 32-bit MCU
- Bluetooth / Wi-Fi
- Other Products Category
- Optical/RH/Temp Sensor
- Other Products
- Hardware and Software Tools
- Simplicity Studio and Software
- General Discussions and Suggestions
- Chinese Forum
- Software Libraries
- Development Kits
- Reference Designs
- Third Party Tools
- White Papers
- Official Blog of Silicon Labs
- Chinese Blog
11-11-2016 03:19 AM - edited 11-11-2016 03:42 AM
An Overview of Bluetooth with Low Energy Functionality
Traditional Bluetooth is optimized for sending a steady stream of high quality data in a power-efficient way. Bluetooth low energy technology allows for short bursts of long-range radio connections, making it ideal for applications that depend on long battery life and don’t need high throughput streaming data. This overview focuses on this low energy aspect, but also calls out some of the contrasts with traditional Bluetooth technology.
Bluetooth technology is a core component of the IoT. Bluetooth was designed to offer a wireless alternative to cable connections by exchanging data using radio transmissions. One of the most popular applications for Bluetooth has been wireless audio. This uses a version of Bluetooth called BR/EDR (Bit Rate/Enhanced Data Rate) that is optimized for sending a steady stream of high quality data in a power-efficient way.
Bluetooth version 4.0 introduced Bluetooth with low energy functionality, sometimes referred to as Bluetooth Smart, which gave developers the ability to create sensors that can run on coin-cell batteries for months and even years at a time. Some of these sensors are so efficient that the kinetic energy from just flipping a switch can provide operating power. Bluetooth low energy technology is inherently different from BR/EDR. BR/EDR establishes a relatively short-range, continuous wireless connection, which makes it ideal for uses such as streaming audio from a smartphone to a headset. Bluetooth low energy technology allows for short bursts of longrange radio connections, making it ideal for IoT applications that depend on long battery life. Furthermore, Bluetooth low energy is built on an entirely new development framework using GATT (Generic Attributes). GATT profiles describes a use case, roles, and general behaviors based on the GATT functionality. Theses profiles allow developers to quickly and easily develop applications to connect devices directly to applications running on smartphones, PCs, or tablets.
Bluetooth devices can be either dual mode, supporting both BR/EDR and Bluetooth low energy, or single mode, supporting Bluetooth low energy only. As well as ultra-low power and connectivity to smartphones, PCs, and tablets, other benefits include:
• Low cost
• Reliable and robust: AFH (Adaptive Frequency Hopping), retransmissions and 24-bit CRC (Cyclic Redundancy Checks)
• Secure: pairing, bonding, privacy, MITM (Man in the Middle) protection, and AES-128 encryption
• Supports rapid development:
- Standardized profiles to cover key use cases (HR, HID, Glucose, Proximity, etc.)
- Profiles can be developed as applications, supporting fast deployment
- Vendor-specific profiles omit the need to wait for Bluetooth SIG to standardize profiles and operating system developers to integrate them
• Widely deployable: Supported by major platforms - iOS, Android 4.3 and newer, Windows 8 and 10, OSX, and Linux
In this paper, we’re going to look at the following aspects of Bluetooth low energy:
• Bluetooth with low energy architecture overview
• Radio features
• Basic of link layer • Explanation how device discovery and connections work
• Security overview
• The Attribute Protocol
• The Generic Attribute Profile (GATT) and Bluetooth profiles
An Overview of the Bluetooth Low Energy Architecture
The components are:
• Physical layer: controls radio transmission/receiving.
• Link Layer: defines packet structure, includes the state machine and radio control, and provides link layer-level encryption.
These two layers are often grouped into a controller, with the remaining layers grouped into a host. A host-tocontroller interface (HCI) standardizes communication between the controller and the host.