0% found this document useful (0 votes)
26 views9 pages

An1209 Dynamic Multiprotocol Connect Bluetooth

This application note outlines the development of Dynamic Multiprotocol applications using Bluetooth and Silicon Labs Connect, detailing configuration in Simplicity Studio and the necessary software tools. It includes instructions for building and running example applications, as well as steps for creating a DMP application. The document also highlights hardware requirements and provides resources for further guidance on multiprotocol architecture and data storage.

Uploaded by

products
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views9 pages

An1209 Dynamic Multiprotocol Connect Bluetooth

This application note outlines the development of Dynamic Multiprotocol applications using Bluetooth and Silicon Labs Connect, detailing configuration in Simplicity Studio and the necessary software tools. It includes instructions for building and running example applications, as well as steps for creating a DMP application. The document also highlights hardware requirements and provides resources for further guidance on multiprotocol architecture and data storage.

Uploaded by

products
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

AN1209: Dynamic Multiprotocol Development

with Bluetooth® and Silicon Labs Connect


This application note provides details on developing Dynamic
Multiprotocol applications using Bluetooth and Connect.This KEY POINTS

document describes how to configure applications in Simplicity • About the Connect DMP examples.
Studio using Connect in the Silicon Labs Flex SDK. For details on • Building Connect/Bluetooth example
Dynamic Multiprotocol Application development that apply to all files.

protocol combinations, as well as for underlying information • Creating a DMP project.

specific to 802.15.4 protocols, see UG305: Dynamic Multiprotocol


User’s Guide.
Proprietary is supported on all EFR32FG devices. For others, check the device's data
sheet under Ordering Information > Protocol Stack to see if Proprietary is supported. In
Proprietary SDK version 2.7.n, Connect is not supported on EFR32xG22.

silabs.com | Building a more connected world. Rev. 0.2


AN1209AN1209: Dynamic Multiprotocol Development with Bluetooth and Silicon Labs Connect
Introduction

1 Introduction

This application note provides details on how to build and configure a Connect/Bluetooth LE Dynamic Multiprotocol application. It is
intended to be used when developing your own multiprotocol implementations.

Note: The Connect dynamic multiprotocol solution is currently only supported for SoC architectures. Support for NCP architectures is not
yet available. Please contact Silicon Labs Sales for more information on our multiprotocol software roadmap.

1.1 Resources
• UG305: Dynamic Multiprotocol User's Guide provides details on:
• Dynamic Multiprotocol Architecture
• Radio Scheduler operation (with examples)
• Task Priority management
• AN1135: Using Third Generation Non-Volatile Memory (NVM3) Data Storage explains how NVM3 can be used as non-volatile data
storage in Dynamic Multiprotocol applications with Connect and Bluetooth.

1.2 Development Environment Requirements

The required hardware for the example implementation is EFR32xG12\xG13 using the sub-gigahertz range.

Along with the Simplicity Studio development environment, required software tools are:
• Silicon Labs Flex SDK version 2.6.0 or higher
• Bluetooth SDK version 2.12.0 or higher
• Micrium OS-5 kernel.

silabs.com | Building a more connected world. Rev. 0.2 | 2


AN1209AN1209: Dynamic Multiprotocol Development with Bluetooth and Silicon Labs Connect
Building and Running Connect/Bluetooth Examples

2 Building and Running Connect/Bluetooth Examples

To work with Connect/Bluetooth dynamic multiprotocol applications you must install both the Silicon Labs Flex SDK version 2.6.0.0 or
higher, and the Bluetooth SDK version 2.12.0 or higher. The Micrium kernel is installed along with the Flex SDK.

Dynamic multiprotocol applications are generated, built, and uploaded in the same way as other applications. If you are not familiar with
these procedures, see QSG138: Getting Started with the Silicon Labs Flex SDK for the Wireless Gecko (EFR32™) Portfolio for details.

Note: Two applications are provided that can be used to create a Connect/Bluetooth example setup. The purpose of the examples is
show a use case of a dynamic multiprotocol application using the Silicon Labs Connect stack.
• Connect (SoC): Demo Connect Light: This is a non-DMP application running the Connect stack only. When in "factory reset"
state upon power up (or optionally on a user action), scans all allowed channels for the lowest energy and forms a Connect point-
to-point network. Upon user action, it opens its network for another device to join.
• Connect (SoC): Demo DMP Connect Switch: On a user action (for example a button press) starts scanning on all allowed
channels to find the above open network and connect.

The light is a coordinator and the DMP Switch is an end device. The light and switch go through a key exchange session to establish a
symmetric key and all the further communication is secured with this key between the nodes.

A mobile phone can join on Bluetooth interface with the switch and can control the light. Similarly, when the switch operates the light, the
mobile phone gets updates on the status through Bluetooth notification.

A Connect (SoC): Empty Example - DMP sample application is also included in the Flex SDK. This is a minimal project structure that
can be used as a starting point for custom applications that will run both Connect and Bluetooth LE protocols.

silabs.com | Building a more connected world. Rev. 0.2 | 3


AN1209AN1209: Dynamic Multiprotocol Development with Bluetooth and Silicon Labs Connect
Building and Running Connect/Bluetooth Examples

The following summary procedure uses the Connect (SoC): Demo Connect Light example application.
1. In the Simplicity Studio launcher perspective, click New Project.
2. In the new project dialog, select Silicon Labs Flex SDK and click Next.
3. Select the Connect (SoC): Demo Connect Light and click Next.
4. Name the project and, if desired, change the default location. Click Next.
5. In project setup, select a board, part, and compiler if your choices aren’t already populated. Click Finish.
6. AppBuilder opens. Depending on the board you selected, you may need to choose a radio PHY on the Radio Configuration tab (for
example for BRD4162A the radio PHY is ‘2.4GHz’, as shown in the following figure). Click Generate.

7. Compile and flash the project.

silabs.com | Building a more connected world. Rev. 0.2 | 4


AN1209AN1209: Dynamic Multiprotocol Development with Bluetooth and Silicon Labs Connect
Creating a Dynamic Multiprotocol Application in Connect

3 Creating a Dynamic Multiprotocol Application in Connect

Every Connect sample application can be turned into a DMP Connect+BLE sample application by following the steps below. The illustra-
tions are from the Connect (SoC): Empty Example - DMP sample application, which is already configured for you.

Enable the BLE plugin.

Configure your Bluetooth LE application using the GATT Configurator in the BLE tab. At minimum, you should add one item among
“Profiles”, “Services”, “Characteristics” or “Descriptors” to your configuration. For more information, refer to UG365: GATT Configurator
User’s Guide supplied with the Bluetooth SDK documentation. .

silabs.com | Building a more connected world. Rev. 0.2 | 5


AN1209AN1209: Dynamic Multiprotocol Development with Bluetooth and Silicon Labs Connect
Creating a Dynamic Multiprotocol Application in Connect

If the Idle/Sleep plugin is enabled, it should be disabled.

Enable the Micrium RTOS plugin. You could also optionally enable the plugin option Enable EM1/EM2, which will allow your DMP node
to enter a low power mode whenever possible.

silabs.com | Building a more connected world. Rev. 0.2 | 6


AN1209AN1209: Dynamic Multiprotocol Development with Bluetooth and Silicon Labs Connect
Creating a Dynamic Multiprotocol Application in Connect

Enable the NVM3 Library plugin. A DMP application can only be run using the NVM3 non-volatile memory storage system. Disable the
Simulated EEPROM version 1 Library or the Simulated EEPROM version 2 Library plugin, whichever was enabled.

Enable either the Simulated EEPROM version 2 to NVM3 Upgrade Library or Simulated EEPROM version 2 to NVM3 Upgrade
Stub. If you are performing a field upgrade of an existing application and wish to retain the information stored in the device non-volatile
memory, the former should be selected, otherwise you can use the latter, as shown above.

Enable the mbed TLS plugin. Because in DMP you have two stacks both trying to access the crypto acceleration blocks, using mbed
TLS for your crypto guarantees that the hardware is correctly arbitrated among the two stacks.

silabs.com | Building a more connected world. Rev. 0.2 | 7


AN1209AN1209: Dynamic Multiprotocol Development with Bluetooth and Silicon Labs Connect
Creating a Dynamic Multiprotocol Application in Connect

Disable the RAIL Library plugin and enable the RAIL Library Multiprotocol plugin.

In the Callbacks tab you can optionally enable the emberAfPluginBleEventCallback() callback, which allows the application to react to
any occurring Bluetooth LE event.

silabs.com | Building a more connected world. Rev. 0.2 | 8


Simplicity Studio
One-click access to MCU and
wireless tools, documentation,
software, source code libraries &
more. Available for Windows,
Mac and Linux!

IoT Portfolio SW/HW Quality Support and Community


www.silabs.com/IoT www.silabs.com/simplicity www.silabs.com/quality community.silabs.com

Disclaimer
Silicon Labs intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or
intending to use the Silicon Labs products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical"
parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Labs reserves the right to make changes
without further notice to the product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information.
Without prior notification, Silicon Labs may update product firmware during the manufacturing process for security or reliability reasons. Such changes will not alter the specifications or the
performance of the product. Silicon Labs shall have no liability for the consequences of use of the information supplied in this document. This document does not imply or expressly grant
any license to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any FDA Class III devices, applications for which FDA premarket
approval is required or Life Support Systems without the specific written consent of Silicon Labs. A "Life Support System" is any product or system intended to support or sustain life and/or
health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Labs products are not designed or authorized for military applications. Silicon
Labs products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering
such weapons. Silicon Labs disclaims all express and implied warranties and shall not be responsible or liable for any injuries or damages related to use of a Silicon Labs product in such
unauthorized applications.

Trademark Information
Silicon Laboratories Inc.® , Silicon Laboratories®, Silicon Labs®, SiLabs® and the Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, ClockBuilder®, CMEMS®, DSPLL®, EFM®,
EFM32®, EFR, Ember®, Energy Micro, Energy Micro logo and combinations thereof, "the world’s most energy friendly microcontrollers", Ember®, EZLink®, EZRadio®, EZRadioPRO®,
Gecko®, Gecko OS, Gecko OS Studio, ISOmodem®, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY®, Telegesis, the Telegesis Logo®, USBXpress® , Zentri, the Zentri logo and Zentri
DMS, Z-Wave®, and others are trademarks or registered trademarks of Silicon Labs. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings.
Keil is a registered trademark of ARM Limited. Wi-Fi is a registered trademark of the Wi-Fi Alliance. All other products or brand names mentioned herein are trademarks of their respective
holders.
Silicon Laboratories Inc.
400 West Cesar Chavez
Austin, TX 78701
USA

http://www.silabs.com

You might also like