UG350: Silicon Labs Coexistence
Development Kit (SLWSTK-COEXBP)
The Coexistence Development Kit (SLWSTK-COEXBP) is a development kit designed by Silicon Labs to demonstrate coexistence between different radios transmitting in the 2.4 GHz ISM
band. This document revision pertains to revision 3.0 of the
SLWSTK-COEXBP kit. SLWSTK-COEXBP additionally requires
the EFR32™ Mighty Gecko Wireless Starter Kit
(SLWSTK6000B), which contains the following devices:
• 3 x Wireless starter kit (WSTK) mainboard (BRD4001A)
• 3 x EFR32MG12 2.4 GHz 19 dBm radio board (BRD4161A)
• 3 x EFR32MG12 2.4 GHz 10 dBm radio board (BRD4162A)
A Logic Analyzer, to view the logic signals, is optional but recommended.
The software requirements for running the coexistence features are as follows:
• Either the Silicon labs EmberZNet PRO (Zigbee) SDK or the Silicon Labs OpenThread SDK
• Silicon Labs Flex SDK (includes RAIL)
• Software required to run and view logic analyzer waveforms
KEY POINTS
• Describes coexistence hardware and
related software requirements.
• Provides step-by-step instructions for the
installation and configuration of
coexistence features in software.
• Details hardware included in the kit and
how to use it.
• Explains additional software plugins and
packages used for advanced testing.
The software images required to create a Zigbee or OpenThread network with coexistence features enabled must be built through sample applications in the EmberZNet
PRO or OpenThread SDK, with added modifications.
The software required to exercise the coexistence features is available as a custom application built on top of the Flex stack.
This User's Guide refers to Silicon labs EmberZNet PRO release version 6.2.3.0 and
up, Silicon Labs OpenThread release version 1.1.0.0 and up, and Silicon Labs Flex
SDK release version 2.2.2.1 (only).
The following documents are useful resources for understanding Zigbee networks and
coexistence, and will also be referred to in this user's guide:
• AN1017: Zigbee® and Thread Coexistence with Wi-Fi
silabs.com | Building a more connected world.Rev. 0.4
UG350: Silicon Labs Coexistence Development Kit (SLWSTK-COEXBP)
Introduction
1. Introduction
SLWSTK-COEXBP: Silicon Labs Coexistence Development Kit is designed to demonstrate multiple radio coexistence features available as part of the SDK. These features enable radios in a single product (that is, Gateway, Hub, and so on) running on different protocols to arbitrate network traffic to avoid interference. This User Guide details coexistence features in the EmberZNet stack.
A Coexistence test configuration requires the following components:
• Three WSTK boards with either 19 or 10 dBm radio boards mounted, and loaded with the following software images:
• PTA (Packet Traffic Arbitration) Master: Acts as a Wi-Fi emulator and responds to activity on the co-located Z3Light running the
coexistence features.
• Z3Light: Zigbee router/coordinator with coexistence features enabled and connected to the PTA Master.
• Z3Switch: Used to create a network with the Z3Light to generate Zigbee traffic.
• Coexistence Backplane Board
A logic analyzer is optional but highly recommended to enable signal analysis and debugging. In our setup, we use a Saleae logic analyzer.
To set up the recommended coexistence test configuration, the PTA Master and Z3Light both are plugged into headers on the Coexistence Backplane Board. The Coexistence Backplane Board has routes between those headers that enable connections between the
two boards. The Coexistence Backplane Board also has routes from the headers to external test points. This allows probing of the signals for debugging and evaluation purposes. The Z3Switch is not plugged into the Coexistence Backplane Board. The recommended
configuration for using the Silicon Labs Coexistence Development Kit is shown in the following figure.
Figure 1.1. Typical Zigbee Coexistence Test Configuration
This configuration is shown in the following figures.
silabs.com | Building a more connected world.Rev. 0.4 | 2
UG350: Silicon Labs Coexistence Development Kit (SLWSTK-COEXBP)
Introduction
Figure 1.2. Zigbee Coexistence Test Setup (1)
Figure 1.3. Zigbee Coexistence Test Setup (2)
silabs.com | Building a more connected world.Rev. 0.4 | 3
UG350: Silicon Labs Coexistence Development Kit (SLWSTK-COEXBP)
Theory of Operation
2. Theory of Operation
This section describes the steps required to bring up a Zigbee network with coexistence features enabled. The section is divided into
multiple subsections detailing each step required. The subsections are:
• 2.1 Bringing Up a Standalone Zigbee Network. Introduces building and flashing the Z3Light and Z3Switch applications, and sending
commands over the network between them.
• 2.2 Adding the Throughput Library to Zigbee Devices. The applications are rebuilt with the throughput library, flashed, and network
traffic created between them.
• 2.3 Adding the Coexistence Feature to Zigbee Devices. Coexistence features are added and the coexistence backplane board is
introduced. Network traffic is created using the throughput library added in the previous step.
• 2.4 Using PTA Master within the Test Setup. The PTA Master application is built and flashed to a device, which then is introduced to
the test setup as a coexistence master device.
• 2.5 Replacing PTA Master with an External Wi-Fi Device. The PTA Master device is replaced with an external Wi-Fi chipset.
Note: This section guides through the steps required to set up coexistence on EFR32MG12-based devices. Refer to section 3.1 Jump-
er Wire Configurations for Different Boards/Devices regarding connection and wiring information for other compatible devices.
2.1 Bringing Up a Standalone Zigbee Network
The first step in setting up for coexistence testing is understanding how to set up a Zigbee network between two devices. For this purpose, we recommend following the steps in QSG106: Getting Started with EmberZNet PRO (QSG106) to build, flash, and verify network commands between the Z3Light and Z3Switch example applications. These applications will be modified and used in subsequent
steps. This allows you to become familiar with application development using the Zigbee stack. It is also important to be familiar with
the steps in QSG106 as the document will be referred to extensively in the following steps. QSG106 can be found through the list of
documents on the Simplicity Studio Launcher perspective, and on the Silicon Labs website under Zigbee documentation. A direct link to
the document is below:
2.2 Adding the Throughput Library to Zigbee Devices
This step explains how to modify the example applications to add the throughput library. The throughput library is an additional plugin
available in the EmberZNet PRO stack that allows transmitting data between devices at controllable speeds. It is useful for the evaluation of network quality and connection stability. More information regarding the throughput library can be found in section 4. Throughput
Library.
silabs.com | Building a more connected world.Rev. 0.4 | 4
UG350: Silicon Labs Coexistence Development Kit (SLWSTK-COEXBP)
Theory of Operation
2.2.1 Rebuilding and Flashing the Images
1. If you have not already done so in the previous section, follow the steps in QSG106 to start the Z3Light and Z3Switch example
applications. Otherwise return to the Simplicity IDE perspective for one of the examples. If the .isc file is not open, double-click
the .isc file in the Project Explorer to open it.
2. Do not generate the application yet. Additional plugins need to be added.
3. Go to the Plugins tab and enter the keyword “throughput” to search for the throughput library plugin.
4. Check the checkbox next to the plugin name to enable the plugin.
Figure 2.1. Enabling the Throughput Plugin
5. Repeat for the other example application.
6. Follow the rest of the steps in QSG106 to generate, build, and flash both the Z3Light and Z3Switch application images.
silabs.com | Building a more connected world.Rev. 0.4 | 5
UG350: Silicon Labs Coexistence Development Kit (SLWSTK-COEXBP)
Theory of Operation
2.2.2 Using the Throughput Library to Send Zigbee Traffic
1. From Simplicity studio, access the CLI consoles of the Z3Light and Z3Switch WSTKs. Refer to QSG106 for instructions on opening
CLI consoles.
2. In the console of the Z3Switch example, send the command info to display network information regarding the device. Note the
Node ID in the command's response.
3. In the console of the Z3Light, send the following command
where NodeID is the node ID of the Z3Switch noted in step 2 above, typed as a hex number. This configures the throughput settings.
4. Still in the console of the Z3Light, send the following command:
plugin throughput start
A series of 10 packets is then sent from the Z3Light to the Z3Switch, generating Zigbee traffic. The Z3Switch console also indicates
packets being received.
More information on the commands used in step 3 and 4 as well as other features of the throughput library can be found in section
4. Throughput Library .
2.3 Adding the Coexistence Feature to Zigbee Devices
This step describes the procedure to enable and configure coexistence features in the example applications. This section uses the
Z3Light application as the example, however the same procedure can be used to enable coexistence on any application. The coexistence features are contained in an additional plugin available in the EmberZNet PRO stack. More information regarding the coexistence
plugin can be found in section 4 of document AN1017: Zigbee® and Thread Coexistence with Wi-Fi.
It is also recommended to enable the FEM driver plugin. This plugin provides visibility into the state of the radio for debugging purposes
and monitoring radio activity.
Note: This procedure assumes you have created, built, flashed, and verified example applications with the Throughput library as described in section 2.2 Adding the Throughput Library to Zigbee Devices.
silabs.com | Building a more connected world.Rev. 0.4 | 6
UG350: Silicon Labs Coexistence Development Kit (SLWSTK-COEXBP)
2.3.1 Rebuilding and Flashing the Images
1. Return to the Simplicity IDE perspective for the Z3Light sample application .isc file.
2. Go to the Plugins tab and search for the keyword “coexistence” to find the coexistence configuration plugin.
3. Check the checkbox next to the plugin name to enable the plugin.
Theory of Operation
Figure 2.2. Enabling the Coexistence Configuration Plugin
4. Uncheck the checkbox next to the Stub plugin to disable Stub functions.
5. In the menu on the right, make sure the Enabled box next to Properties of Coexistence is checked.
6. Modify the fields in the menu on the right as follows:
• REQUEST Signal: PC10
• GRANT Signal: PC9
• PRIORITY Signal: PD12
• RHO Signal: Disabled
Leave all other settings with their default values.
7. Still in the Plugins tab, search for keyword “fem” to bring the FEM driver plugin.
silabs.com | Building a more connected world.Rev. 0.4 | 7
8. Check the checkbox next to the plugin name to enable the plugin.
UG350: Silicon Labs Coexistence Development Kit (SLWSTK-COEXBP)
Theory of Operation
Figure 2.3. Enabling the FEM Driver Plugin
9. In the menu on the right, make sure the Enabled box next to Properties of External FEM is checked.
10. Modify the fields in the menu on the right as follows:
• RX PRS channel: CH6
• PRS channel 6 output pin: PD11
• TX PRS channel: CH5
• PRS channel 5 output pin: PD10
• Enable RX mode: True
• Enable TX mode: True
Leave all other settings with their default values.
11. Repeat for the other example application.
12. Follow the rest of the steps in QSG106 to generate, build, and flash the Z3Light application image.
silabs.com | Building a more connected world.Rev. 0.4 | 8
UG350: Silicon Labs Coexistence Development Kit (SLWSTK-COEXBP)
Theory of Operation
2.3.2 Setting up the Coexistence Backplane Board
1. Add the appropriate jumper wires and jumpers as shown in the following figure. This sets the GRANT line to always asserted, and
allows the Z3Light to exercise the coexistence signals.
Figure 2.4. Jumper Configurations for Coexistence Testing
2. Plug the Z3Light board into the CoEx1 position (J2) in the Coexistence Backplane board. Follow the silk label for proper orientation.
3. If using a logic analyzer, probe the test points or pins in header J5 (+3.3V probe header) on the right side to access the following
signals:
• REQUEST_+3.3V – TP9 or J5 pin 2
• GRANT_+3.3V – TP10 or J5 pin 4
• PRIORITY_+3.3V – TP14 or J5 pin 12
• TXA_CoEx1 – TP12 or J5 pin 8
• RXA_CoEx1 – TP13 or J5 pin 10
silabs.com | Building a more connected world.Rev. 0.4 | 9
UG350: Silicon Labs Coexistence Development Kit (SLWSTK-COEXBP)
Theory of Operation
2.3.3 Using the Throughput Library to Send Zigbee Traffic
1. From Simplicity studio, access the CLI consoles of the Z3Light and Z3Switch WSTKs.
2. In the console of the Z3Switch example, send the command info to display network information regarding the device. Note the
Node ID in the command's response.
3. In the console of the Z3Light, send the following command
where NodeID is the node ID of the Z3Switch noted in step 2 above, typed as a hex number. This configures the throughput settings.
4. Still in the console of the Z3Light, send the following command:
plugin throughput start
A series of 10 packets is then sent from the Z3Light to the Z3Switch, generating Zigbee traffic. The Z3Switch console also indicates packets being received.
More information on the commands used in step 3 and 4 as well as other features of the throughput library can be found in section
4. Throughput Library.
5. Activity corresponding to sending 10 packets can also be observed on the logic analyzer. It will look similar to the following capture.
Figure 2.5. Logic Analyzer Result for Coexistence Testing
REQUEST and PRIORITY signals are asserted 10 times during the throughput run, indicating 10 attempts to send the messages.
In addition, TXA is also asserted within these REQUEST cycles, indicating the radio was transmitting. GRANT signal is always
asserted due to the configuration of the board. The RXA signal is de-asserted when the radio is transmitting, otherwise it remains
asserted representing the radio is in receive mode.
2.4 Using PTA Master within the Test Setup
The PTA master application is a custom application built in the Flex SDK. It is designed to assist in evaluating the coexistence features
available in the stack by acting as a Wi-Fi master device emulator. The PTA master only emulates the GPIO behaviors and cannot
generate actual Wi-Fi traffic. More information regarding the features of the PTA Master can be found in section 5. PTA Master Applica-
tion .
Note: This procedure uses the Z3Light and Z3Switch devices created and installed with the Coexistence Backplane board in the previous procedure.
silabs.com | Building a more connected world.Rev. 0.4 | 10
UG350: Silicon Labs Coexistence Development Kit (SLWSTK-COEXBP)
Theory of Operation
2.4.1 Obtaining the PTA Master Application
To obtain the PTA Master application project, you must have the correct version of the Flex SDK (v2.2.2.1) installed. You must also add
the correct board (BRD4161A) to the My Products list in Studio.
To add the correct board, go to Simplicity Studio's Launcher Perspective, and in the My Products section search for "BRD4161A" and
click it to add it to the list.
Figure 2.6. Selected Board Added to My Products
Next, make sure the Preferred SDK is set to Flex SDK 2.2.2.1.
Figure 2.7. Preferred SDK Selected
If this is not the case, click the here link to change the preferred SDK and select Flex SDK 2.2.2.1. Click [OK].
Figure 2.8. Preferred SDK List
silabs.com | Building a more connected world.Rev. 0.4 | 11
UG350: Silicon Labs Coexistence Development Kit (SLWSTK-COEXBP)
Theory of Operation
If you do not see Flex 2.2.2.1 on the list, either it is not set as a Preferred SDK, or it is not installed. Click the Manage SDKs link in the
lower right. A list of installed SDKs opens. If you see Flex 2.2.2.1 on the list, make sure the checkbox next to it is checked and click
[OK]. If you do not see it, follow these steps to install it.
1. Click the Need more SDKs? link in the lower right.
2. Click Package Manager.
Figure 2.9. Installed SDKs
silabs.com | Building a more connected world.Rev. 0.4 | 12
Loading...
+ 25 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.