@@ -10,15 +10,14 @@ This page describes the software architecture of Zephyr's Bluetooth protocol
1010stack.
1111
1212.. note ::
13- Zephyr supports mainly Bluetooth Low Energy (BLE ), the low-power
13+ Zephyr supports mainly Bluetooth Low Energy (LE ), the low-power
1414 version of the Bluetooth specification. Zephyr also has limited support
15- for portions of the BR/EDR Host. Throughout this architecture document we
16- use BLE interchangeably for Bluetooth except when noted.
15+ for portions of the BR/EDR Host.
1716
1817.. _bluetooth-layers :
1918
20- BLE Layers
21- ==========
19+ Bluetooth LE Layers
20+ ===================
2221
2322There are 3 main layers that together constitute a full Bluetooth Low Energy
2423protocol stack:
@@ -62,7 +61,7 @@ following configurations are commonly used:
6261
6362* **Single-chip configuration **: In this configuration, a single microcontroller
6463 implements all three layers and the application itself. This can also be called a
65- system-on-chip (SoC) implementation. In this case the BLE Host and the BLE
64+ system-on-chip (SoC) implementation. In this case the Bluetooth Host and the Bluetooth
6665 Controller communicate directly through function calls and queues in RAM. The
6766 Bluetooth specification does not specify how HCI is implemented in this
6867 single-chip configuration and so how HCI commands, events, and data flows between
@@ -75,11 +74,11 @@ following configurations are commonly used:
7574 configuration. This configuration allows for a wider variety of combinations of
7675 Hosts when using the Zephyr OS as a Controller. Since HCI ensures
7776 interoperability among Host and Controller implementations, including of course
78- Zephyr's very own BLE Host and Controller, users of the Zephyr Controller can
77+ Zephyr's very own Bluetooth Host and Controller, users of the Zephyr Controller can
7978 choose to use whatever Host running on any platform they prefer. For example,
80- the host can be the Linux BLE Host stack (BlueZ) running on any processor
79+ the host can be the Linux Bluetooth Host stack (BlueZ) running on any processor
8180 capable of supporting Linux. The Host processor may of course also run Zephyr
82- and the Zephyr OS BLE Host. Conversely, combining an IC running the Zephyr
81+ and the Zephyr OS Bluetooth Host. Conversely, combining an IC running the Zephyr
8382 Host with an external Controller that does not run Zephyr is also supported.
8483
8584.. _bluetooth-build-types :
@@ -88,12 +87,12 @@ Build Types
8887===========
8988
9089The Zephyr software stack as an RTOS is highly configurable, and in particular,
91- the BLE subsystem can be configured in multiple ways during the build process to
90+ the Bluetooth subsystem can be configured in multiple ways during the build process to
9291include only the features and layers that are required to reduce RAM and ROM
9392footprint as well as power consumption. Here's a short list of the different
94- BLE -enabled builds that can be produced from the Zephyr project codebase:
93+ Bluetooth -enabled builds that can be produced from the Zephyr project codebase:
9594
96- * **Controller-only build **: When built as a BLE Controller, Zephyr includes
95+ * **Controller-only build **: When built as a Bluetooth Controller, Zephyr includes
9796 the Link Layer and a special application. This application is different
9897 depending on the physical transport chosen for HCI:
9998
@@ -114,7 +113,7 @@ BLE-enabled builds that can be produced from the Zephyr project codebase:
114113 corresponding device tree node is enabled.
115114
116115* **Host-only build **: A Zephyr OS Host build will contain the Application and
117- the BLE Host, along with an HCI driver (UART or SPI) to interface with an
116+ the Bluetooth Host, along with an HCI driver (UART or SPI) to interface with an
118117 external Controller chip.
119118 A build of this type sets the following Kconfig option values:
120119
@@ -143,12 +142,12 @@ BLE-enabled builds that can be produced from the Zephyr project codebase:
143142 used for Controller-only builds can be built as Combined
144143
145144The picture below shows the SoC or single-chip configuration when using a Zephyr
146- combined build (a build that includes both a BLE Host and a Controller in the
145+ combined build (a build that includes both a Bluetooth Host and a Controller in the
147146same firmware image that is programmed onto the chip):
148147
149148.. figure :: img/ble_cfg_single.png
150149 :align: center
151- :alt: BLE Combined build on a single chip
150+ :alt: Bluetooth Combined build on a single chip
152151
153152 A Combined build on a Single-Chip configuration
154153
@@ -157,25 +156,25 @@ combinations are possible, some of which are depicted below:
157156
158157.. figure :: img/ble_cfg_dual.png
159158 :align: center
160- :alt: BLE dual-chip configuration builds
159+ :alt: Bluetooth dual-chip configuration builds
161160
162161 Host-only and Controller-only builds on dual-chip configurations
163162
164163When using a Zephyr Host (left side of image), two instances of Zephyr OS
165164must be built with different configurations, yielding two separate images that
166165must be programmed into each of the chips respectively. The Host build image
167- contains the application, the BLE Host and the selected HCI driver (UART or
166+ contains the application, the Bluetooth Host and the selected HCI driver (UART or
168167SPI), while the Controller build runs either the
169168:zephyr:code-sample: `bluetooth_hci_uart `, or the
170169:zephyr:code-sample: `bluetooth_hci_spi ` app to provide an interface to
171- the BLE Controller.
170+ the Bluetooth Controller.
172171
173172This configuration is not limited to using a Zephyr OS Host, as the right side
174173of the image shows. One can indeed take one of the many existing GNU/Linux
175- distributions, most of which include Linux's own BLE Host (BlueZ), to connect it
174+ distributions, most of which include Linux's own Bluetooth Host (BlueZ), to connect it
176175via UART or USB to one or more instances of the Zephyr OS Controller build.
177176BlueZ as a Host supports multiple Controllers simultaneously for applications
178- that require more than one BLE radio operating at the same time but sharing the
177+ that require more than one Bluetooth radio operating at the same time but sharing the
179178same Host stack.
180179
181180Source tree layout
0 commit comments