README.md (9a0af64aaaecc692a8e13150ace05c499ecd43c4) | README.md (71f4b58fd72671b27d7da5ff4ebb479a8c1352c8) |
---|---|
1# 2 3In this chapter, we first explain how Bluetooth chipsets are connected physically and then provide information about popular Bluetooth chipset and their use with BTstack. 4 5## HCI Interface 6 7The communication between a Host (a computer or an MCU) and a Host Controller (the actual Bluetooth chipset) follows the Host Controller Interface (HCI), see {@fig:HostChipsetConnection}. HCI defines how commands, events, asynchronous and synchronous data packets are exchanged. Asynchronous packets (ACL) are used for data transfer, while synchronous packets (SCO) are used for Voice with the Headset and the Hands-Free Profiles. 8 --- 71 unchanged lines hidden (view full) --- 80| EM 9304 | LE | SPI, H4 | Yes | n.a. | Yes | Yes | n.a. | Don't know | em9301 | Custom HCI SPI implementation | 81| EM 9305 | LE | SPI, H4 | Yes | n.a. | Yes | Yes | n.a. | Yes | em9301 | Custom HCI SPI implementation | 82| Intel Dual Wireless 3165, 8260, 8265 | Dual mode | USB | Yes | Probably | Don't know | Don't know | Don't know | Don't know | intel | Firmware size: 400 kB | 83| Nordic nRF | LE | H4 | Fixed Random | n.a. | Yes | Yes | n.a. | Yes | | Requires HCI firmware | 84| NXP 88W8997 | Dual mode | H4 | Yes | Partially(2) | Yes | Yes | No | Yes | nxp | Requires initial firmware | 85| NXP IW416 | Dual mode | H4 | Yes | No | Yes | Yes | No | Yes | nxp | Requires initial firmware | 86| NXP IW61x | Dual mode | H4 | Yes | Partially(2) | Yes | Yes | No | Yes | nxp | Requires initial firmware | 87| STM STLC2500D | Classic | H4 | No | Don't know | n.a | n.a. | No | n.a. | stlc2500d | Custom deep sleep management not supported | | 1# 2 3In this chapter, we first explain how Bluetooth chipsets are connected physically and then provide information about popular Bluetooth chipset and their use with BTstack. 4 5## HCI Interface 6 7The communication between a Host (a computer or an MCU) and a Host Controller (the actual Bluetooth chipset) follows the Host Controller Interface (HCI), see {@fig:HostChipsetConnection}. HCI defines how commands, events, asynchronous and synchronous data packets are exchanged. Asynchronous packets (ACL) are used for data transfer, while synchronous packets (SCO) are used for Voice with the Headset and the Hands-Free Profiles. 8 --- 71 unchanged lines hidden (view full) --- 80| EM 9304 | LE | SPI, H4 | Yes | n.a. | Yes | Yes | n.a. | Don't know | em9301 | Custom HCI SPI implementation | 81| EM 9305 | LE | SPI, H4 | Yes | n.a. | Yes | Yes | n.a. | Yes | em9301 | Custom HCI SPI implementation | 82| Intel Dual Wireless 3165, 8260, 8265 | Dual mode | USB | Yes | Probably | Don't know | Don't know | Don't know | Don't know | intel | Firmware size: 400 kB | 83| Nordic nRF | LE | H4 | Fixed Random | n.a. | Yes | Yes | n.a. | Yes | | Requires HCI firmware | 84| NXP 88W8997 | Dual mode | H4 | Yes | Partially(2) | Yes | Yes | No | Yes | nxp | Requires initial firmware | 85| NXP IW416 | Dual mode | H4 | Yes | No | Yes | Yes | No | Yes | nxp | Requires initial firmware | 86| NXP IW61x | Dual mode | H4 | Yes | Partially(2) | Yes | Yes | No | Yes | nxp | Requires initial firmware | 87| STM STLC2500D | Classic | H4 | No | Don't know | n.a | n.a. | No | n.a. | stlc2500d | Custom deep sleep management not supported | |
88| STM32WB | LE | VHCI | Yes | n.a. | Yes | Yes | n.a. | Yes | | See port/stm32wb55x-nucleo-freertos | 89| STM32WB0 | LE | VHCI, H4 | Yes | n.a. | Yes | Yes | n.a. | Yes | | HCI Firmware part of STM32WB0 Cube Package | |
|
88| Renesas RX23W | LE | H4 | No | n.a. | Yes | Yes | n.a . | Don't know | | HCI Firmware part of BTTS | 89| Realtek RTL8822CS | Dual mode + Wifi | H5 | Yes | Yes | Don't know | Don't know | Don't know | Don't know | | Requires initial firmware + config | 90| Realtek USB Dongles | Dual mode + Wifi | USB | Yes | Yes | Don't know | Don't know | Don't know | Don't know | realtek | Requires initial firmware + config | 91| Toshiba TC35661 | Dual mode | H4 | No | No | No | No | No | No | tc3566 | Only -007/009 models provide full HCI. See below | 92| TI CC256x, WL183x | Dual mode | H4, H5, eHCILL | Yes | Yes | No | Yes for CC256XC | No | No | cc256x | Also WL185x, WL187x, and WL189x | 93 94**Notes**: 95 --- 207 unchanged lines hidden (view full) --- 303**Init script** is required. 304 305**BTstack integration**: H4/H5 Controller require firmware upload. 'rtk_attach' can be used for this. For USB Controllers, 306*btstack_chipset_realtek.c* implements the patch and config upload mechanism. See port/libusb for details on how to use it. 307 308 309## Renesas Electronics 310 | 90| Renesas RX23W | LE | H4 | No | n.a. | Yes | Yes | n.a . | Don't know | | HCI Firmware part of BTTS | 91| Realtek RTL8822CS | Dual mode + Wifi | H5 | Yes | Yes | Don't know | Don't know | Don't know | Don't know | | Requires initial firmware + config | 92| Realtek USB Dongles | Dual mode + Wifi | USB | Yes | Yes | Don't know | Don't know | Don't know | Don't know | realtek | Requires initial firmware + config | 93| Toshiba TC35661 | Dual mode | H4 | No | No | No | No | No | No | tc3566 | Only -007/009 models provide full HCI. See below | 94| TI CC256x, WL183x | Dual mode | H4, H5, eHCILL | Yes | Yes | No | Yes for CC256XC | No | No | cc256x | Also WL185x, WL187x, and WL189x | 95 96**Notes**: 97 --- 207 unchanged lines hidden (view full) --- 305**Init script** is required. 306 307**BTstack integration**: H4/H5 Controller require firmware upload. 'rtk_attach' can be used for this. For USB Controllers, 308*btstack_chipset_realtek.c* implements the patch and config upload mechanism. See port/libusb for details on how to use it. 309 310 311## Renesas Electronics 312 |
311Please see Dialog Semiconducator for DA14xxx Bluetooth SoCs above. | 313Please see Dialog Semiconductor for DA14xxx Bluetooth SoCs above. |
312 313Renesas currently has 3 LE-only SoCs: the older 16-bit RL78 and the newer RX23W and the RA4W1. 314For the newer SoCs, Renesas provides a pre-compiled HCI firmware as well as an HCI project for their e2 Studio IDE. 315The HCI firmware needs to be programmed into the SoC Flash. 316 317Both newer SoC provide the newer Bluetooth 5.0 features like DLE, 2M-PHY, Long Range, and Multiple Roles. 318 319To install the HCI Firmware on the [Target Board for RX23W](https://www.renesas.com/us/en/products/software-tools/boards-and-kits/eval-kits/rx-family-target-board.html): --- 27 unchanged lines hidden (view full) --- 347 348**BTstack integration**: Support for the STLC2500C is provided by *btstack_chipset_stlc.c*. During the setup, *btstack_chipset_stlc2500d_instance* function is used to get a *btstack_chipset_t* instance and passed to *hci_init* function. It enables higher UART baud rate and to set the BD Addr during startup. 349 350 351### BlueNRG 352 353The BlueNRG series is an LE-only SoC which can be used with an HCI Firmware over a custom SPI interface. 354 | 314 315Renesas currently has 3 LE-only SoCs: the older 16-bit RL78 and the newer RX23W and the RA4W1. 316For the newer SoCs, Renesas provides a pre-compiled HCI firmware as well as an HCI project for their e2 Studio IDE. 317The HCI firmware needs to be programmed into the SoC Flash. 318 319Both newer SoC provide the newer Bluetooth 5.0 features like DLE, 2M-PHY, Long Range, and Multiple Roles. 320 321To install the HCI Firmware on the [Target Board for RX23W](https://www.renesas.com/us/en/products/software-tools/boards-and-kits/eval-kits/rx-family-target-board.html): --- 27 unchanged lines hidden (view full) --- 349 350**BTstack integration**: Support for the STLC2500C is provided by *btstack_chipset_stlc.c*. During the setup, *btstack_chipset_stlc2500d_instance* function is used to get a *btstack_chipset_t* instance and passed to *hci_init* function. It enables higher UART baud rate and to set the BD Addr during startup. 351 352 353### BlueNRG 354 355The BlueNRG series is an LE-only SoC which can be used with an HCI Firmware over a custom SPI interface. 356 |
355### STM32-WB5x | 357### STM32-WB |
356 | 358 |
357The new STM32-WB5x series microcontroller is an SoC with a multi-protocol 2.4 Ghz radio co-processor. It provides a virtual HCI interface. | 359The STM32-WB5x series microcontroller is an SoC with a multi-protocol 2.4 Ghz radio co-processor. It provides a virtual HCI interface. |
358 | 360 |
361### STM32-WB0 |
|
359 | 362 |
363The STM32-WB50 series microcontroller is an SoC with a multi-protocol 2.4 Ghz radio co-processor. 364The [STM32Cube MCU Package for STM32WB0 series](https://www.st.com/en/embedded-software/stm32cubewb0.html) provides the HCI firmware. 365 366To flash this firmware, you can: 367- [Download and Install STM32CubeIDE](https://www.st.com/en/development-tools/stm32cubeide.html) 368- [Download and Unzip the STM32WB0 MCU Package](https://www.st.com/en/embedded-software/stm32cubewb0.html) 369- Open STM32CubeIDE 370- Import projects`Projects/{Your DevKit}/Applications/BLE/BLE_TransparentMode/STM32CubeIDE` and make sure the option 'copy into workspace' is unchecked 371- In `ble_conf.h`, add the line: 372 - `#define BLESTACK_CONTROLLER_ONLY 1` 373- Replace the controller+stack library with the controller only library: 374 - Go to Properties->C/C++ Build->Settings->Tool Settings->MCU GCC Linker->Libraries in STM32CubeIDE 375 - Replace `:stm32wb0x_ble_stack.a` with `:stm32wb0x_ble_stack_controller_only.a` 376- Connect your Nucleo board and press the "Run" button 377 378The HCI firmware is configured for 921600 baud and no hardware flow control. You can modify these settings in `MX_USART1_UART_Init()` in `main.c`. 379Use `UART_HWCONTROL_RTS_CTS` to enable hardware flowcontrol. 380 381 |
|
360## Texas Instruments CC256x series 361 362The Texas Instruments CC256x series is currently in its fourth iteration and provides a Classic-only (CC2560), a Dual-mode (CC2564), and a Classic + ANT (CC2567) model. A variant of the Dual-mode chipset is also integrated into TI's WiLink 8 Wifi+Bluetooth combo modules of the WL183x, WL185x, WL187x, and WL189x series. Some of the latter support ANT as well. 363 364The CC256x chipset is connected via an UART connection and supports the H4, H5 (since third iteration), and eHCILL. 365 366The latest generation `CC256xC` chipsets support multiple LE roles in parallel. 367 --- 58 unchanged lines hidden --- | 382## Texas Instruments CC256x series 383 384The Texas Instruments CC256x series is currently in its fourth iteration and provides a Classic-only (CC2560), a Dual-mode (CC2564), and a Classic + ANT (CC2567) model. A variant of the Dual-mode chipset is also integrated into TI's WiLink 8 Wifi+Bluetooth combo modules of the WL183x, WL185x, WL187x, and WL189x series. Some of the latter support ANT as well. 385 386The CC256x chipset is connected via an UART connection and supports the H4, H5 (since third iteration), and eHCILL. 387 388The latest generation `CC256xC` chipsets support multiple LE roles in parallel. 389 --- 58 unchanged lines hidden --- |