NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
Bluetooth Low Energy Wiki Main Page
This page describes some common configurations when using a CC254x in combination with an external MCU.
Description The CC2540 USB Dongle is a complete example of how to use the USB enabled Bluetooth Low Energy (BLE) Wireless MCU. The reference design can be used to enable Bluetooth Smart and Internet of Things applications on any system that contains a USB host. SERVICE = 'TI USB CDC Driver'. DESCCC2538 = 'TI CC2538 USB CDC Serial Port' DESCCC2540 = 'TI CC2540 USB CDC Serial Port' DESCCC2544 = 'TI CC2544 USB CDC Serial.
Name | Description | Advantages | Disadvantages |
---|---|---|---|
Network Processor |
|
|
|
Network Processor GATT_DB_OFF_CHIP |
|
|
|
Network Processor Custom |
|
|
|
Stand Alone App with Serial Interface |
|
|
|
The HostTestRelease project (included with standard BLE SDK) is the standard BLE Network Processor application. It can be loaded on the CC2540 or CC2541, with the any of the following used as a network processor interface:
1. UART
2. SPI
3. USB CDC virtual UART (CC2540 only)
More information on the HostTestRelease project can be found in the CC254x BLE Software Developer's Guide (http://www.ti.com/lit/pdf/swru271). An overview of the HCI command protocol can be found in the TI BLE Vendor Specific HCI Guide, which is linked from the Windows Start Menu after you have installed the SDK.
For applications which only act as a GATT client and do not need to act as a GATT server, this is an ideal choice.
The HostTestRelease project has an option that can be enabled by including the preprocessor define 'GATT_DB_OFF_CHIP' to the project configuration (under compiler settings). By adding this define, the network processor will be built such that any GATT services are maintained by the external MCU. This includes handling of all peer GATT requests to read, write, and discover services and characteristics.
This option provides for maximum flexibility of the GATT server by the MCU; however the code required on the external MCU is fairly complex.
More information on this type of setup can be found here: http://processors.wiki.ti.com/index.php/LPRF_BLE_NPGATT
Rather than using GATT_DB_OFF_CHIP, another possibility is to manually add your GATT profiles to the HostTestRelease project, and rebuild the project with the services integrated into the network processor. This reduces the complexity of the external MCU code; however it requires the ability to add custom commands to the network processor in order to allow the external MCU to manage the data in the GATT services.
More information on this type of setup can be found here: http://processors.wiki.ti.com/index.php/BLE_HostTest_Add_Cmds
Instead of using the HostTestRelease network processor project, another option is to take one of the existing single-chip projects included in the BLE SDK (e.g SimpleBLEPeripheral, HeartRate, RunningSensor, etc...) and modify it to include a 'UART bridge' or a 'SPI bridge', giving the external MCU the ability to communicate with the CC254x.
In addition to creating the brige using the HAL UART or HAL SPI drivers, a communication protocol must be established, allowing the external MCU to send commands to the CC254x (e.g. start advertising, send notification, etc...). It also must allow the CC254x to send event to the external MCU when specific actions occur (e.g. connection established, connection terminated, etc...). For many applications this protocol can be very simple and just consist of a few key commands and events.
More information on this type of setup can be found here: http://processors.wiki.ti.com/index.php/SimpleBLEPeripheral_SerialInterface
See the following wiki page for all 4 UART configuations: http://processors.wiki.ti.com/index.php/All_4_uart_configs
{{
Please post only comments related to the article CC254X WITH EXT MCU here. | Keystone=
Please post only comments related to the article CC254X WITH EXT MCU here. | C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article CC254X WITH EXT MCU here. | DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article CC254X WITH EXT MCU here. | MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article CC254X WITH EXT MCU here. | OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article CC254X WITH EXT MCU here. | OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article CC254X WITH EXT MCU here. | MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article CC254X WITH EXT MCU here. | For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article CC254X WITH EXT MCU here. }} |
Links | |||
|