UG103-13: Application Development Fundamentals: RAIL

Similar documents
UG103.8: Application Development Fundamentals: Tools

AN962: Implementing Master-Slave Timing Redundancy in Wireless and Packet- Based Network Applications

Figure 1. 8-Bit USB Debug Adapter

UG129: ZigBee USB Virtual Gateway Reference Design (RD ) User's Guide

AN111: Using 8-Bit MCUs in 5 Volt Systems

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

AN580 INFRARED GESTURE SENSING. 1. Introduction. 2. Hardware Considerations

AN952: PCIe Jitter Estimation Using an Oscilloscope

AN486: High-Side Bootstrap Design Using ISODrivers in Power Delivery Systems

AN803. LOCK AND SETTLING TIME CONSIDERATIONS FOR Si5324/27/ 69/74 ANY-FREQUENCY JITTER ATTENUATING CLOCK ICS. 1. Introduction

AN862. OPTIMIZING Si534X JITTER PERFORMANCE IN NEXT GENERATION INTERNET INFRASTRUCTURE SYSTEMS. 1. Introduction

TS1005 Demo Board COMPONENT LIST. Ordering Information. SC70 Packaging Demo Board SOT23 Packaging Demo Board TS1005DB TS1005DB-SOT

AN922: Using the Command Line Interface (CLI) for Frequency On-the-Fly with the Si5346/47

ETRX3USB ETRX3USB-LRS ETRX3USB+8M ETRX3USB-LRS+8M PRODUCT MANUAL

UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS

Making Prototyping Boards for the EFM32 kits

UG103.14: Application Development Fundamentals: Bluetooth Smart Technology

Current Digital to Analog Converter

QSG105 GETTING STARTED WITH SILICON LABS WIRELESS NETWORKING SOFTWARE

AN655 R ANGE TEST APPLICATION FOR EZRADIO AND EZRADIOPRO. 1. Introduction. 2. Supported Radio Types

Selecting the Right MCU Can Squeeze Nanoamps out of Your Next Internet of Things Application

QSG108: Blue Gecko Bluetooth Smart Software Quick-Start Guide

Bootloader with AES Encryption

RoHs compliant, Pb-free Industrial temperature range: 40 to +85 C Footprint-compatible with ICS , 2.5, or 3.3 V operation 16-TSSOP

Telegesis is a trademark of Silicon Laboratories Inc. Telegesis ZigBee Communications Gateway. Product Manual

ZigBee Technology Overview

AN614 A SIMPLE ALTERNATIVE TO ANALOG ISOLATION AMPLIFIERS. 1. Introduction. Input. Output. Input. Output Amp. Amp. Modulator or Driver

USB Audio Simplified

AN0822: Simplicity Studio User's Guide

AN583: Safety Considerations and Layout Recommendations for Digital Isolators

ZigBee-2.4-DK 2.4 GHZ ZIGBEE DEVELOPMENT KIT USER S GUIDE. 1. Kit Contents. Figure GHz ZigBee Development Kit

Backup Power Domain. AN Application Note. Introduction

AN437. Si4432 RF PERFORMANCE AND FCC COMPLIANCE TEST RESULTS. 1. Introduction. 2. Relevant Measurements to comply with FCC

Maximizing Range and Battery Life in Low-Cost Wireless Networks

Table 1. RF Pico Boards of the EZRadioPRO Development Kits. Qty Description Part Number

CPU. PCIe. Link. PCIe. Refclk. PCIe Refclk. PCIe. PCIe Endpoint. PCIe. Refclk. Figure 1. PCIe Architecture Components

Overcoming Challenges of Connecting Intelligent Nodes to the Internet of Things

Key Priorities for Sub-GHz Wireless Deployment

UG103.9 EMBER APPLICATION DEVELOPMENT FUNDAMENTALS: ZLL

1 Software Overview ncp-uart ash-v3-test-app ash-v3-test-app Command Line Options Testing... 2

Silabs Ember Development Tools

USER GUIDE EDBG. Description

Design Considerations for DVT and Manufacturing Test of Wireless Devices

AN588 ENERGY HARVESTING REFERENCE DESIGN USER S GUIDE. 1. Kit Contents. 2. Introduction. Figure 1. Energy Harvesting Sensor Node

Introduction to Silicon Labs. November 2015

APPLICATION NOTE. AVR2130: Lightweight Mesh Developer Guide. Atmel MCU Wireless. Features. Description

IEEE /ZigBee USB Dongle

AN710 BRINGING UP CUSTOM DEVICES FOR THE EMBER EM35XX SOC OR NCP PLATFORM. (Formerly document )

Using Xbee in Serial Communication

Thingsquare Technology

PAC52XX Clock Control Firmware Design

Design Challenges for Adding Relative Humidity Sensors

Questions from The New SensorTag - IoT Made Easy Webinar

UG103.1 APPLICATION DEVELOPMENT FUNDAMENTALS: WIRELESS NETWORKING

Bluetooth for device discovery. Networking Guide

Chapter 7 Low-Speed Wireless Local Area Networks

CP2110-EK CP2110 EVALUATION KIT USER S GUIDE. 1. Kit Contents. 2. Relevant Documentation. 3. Software Setup

APPLICATION NOTE. AT05558: Wireless Manufacturing Test Kit. Atmel ATmega256RFR2. Description. Features

Analog to Digital Converter

PC Base Adapter Daughter Card UART GPIO. Figure 1. ToolStick Development Platform Block Diagram

APPLICATION NOTE. AT16268: JD Smart Cloud Based Smart Plug Getting. Started Guide ATSAMW25. Introduction. Features

UG104 TESTING AND DEBUGGING APPLICATIONS FOR THE EMBER EM2XX AND EM35X PLATFORMS

Connect the EFM32 with a Smart Phone through the Audio Jack

XBEE PROTOCOL COMPARISON

Figure 1.Block diagram of inventory management system using Proximity sensors.

APPLICATION. si32library. Callback CMSIS HARDWARE. Figure 1. Firmware Layer Block Diagram

AN3187 Application note

BLUETOOTH SMART CABLE REPLACEMENT

The Internet of Things: Opportunities & Challenges

ETRX3USB ETRX3USB-LRS ETRX3USB+8M ETRX3USB-LRS+8M PRODUCT MANUAL

How To Develop A Toolstick

BLE113 DEVELOPMENT KIT

AN104 I NTEGRATING KEIL 8051 TOOLS INTO THE SILICON LABS IDE. 1. Introduction. 2. Key Points. 3. Create a Project in the Silicon Labs IDE

CSMA/CA. Information Networks p. 1

Use case possibilities with Bluetooth low energy in IoT applications

ZigBee Propagation for Smart Metering Networks

APx4 Wireless System-on-Module 5/8/2013 1

SMARTCARD XPRO. Preface. SMART ARM-based Microcontrollers USER GUIDE

AN75. Si322X DUAL PROSLIC DEMO PBX AND GR 909 LOOP TESTING SOFTWARE GUIDE. 1. Introduction

CWNA Instructor Led Course Outline

Wireless Microcontrollers for Environment Management, Asset Tracking and Consumer. October 2009

Accuracy maintained over the entire operating temperature and voltage range Low Power Consumption

FLYPORT Wi-Fi G

Radiocrafts Embedded Wireless Solutions

Microchip Technology. February 2008 Valerio Moretto Slide 1

SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE

LoRa FAQs. 1 of 4 Semtech. Semtech Corporation LoRa FAQ

Design, implementation and characterization of a radio link in ISM band at 2.4Ghz

Figure 1. Classes of Jitter

Synapse s SNAP Network Operating System

Adding WiFi to Your Embedded System. WPG Americas & Gainspan Titus Wandinger (WPG) & Su Li (Gainspan) April 23, 2013

ZIGBEE ECGR-6185 Advanced Embedded Systems. Charlotte. University of North Carolina-Charlotte. Chaitanya Misal Vamsee Krishna

Quick Start Guide. MRB-KW01 Development Platform Radio Utility Application Demo MODULAR REFERENCE BOARD

Si52144 PCI-EXPRESS GEN 1, GEN 2, & GEN 3 QUAD OUTPUT CLOCK GENERATOR. Features. Applications. Description. Functional Block Diagram

AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE

ES_LPC4357/53/37/33. Errata sheet LPC4357/53/37/33. Document information

Freescale Development Kits IEEE Wireless design made simple. freescale.com/802154

MeshBee Open Source ZigBee RF Module CookBook

Wireless LAN advantages. Wireless LAN. Wireless LAN disadvantages. Wireless LAN disadvantages WLAN:

SX1272/3/6/7/8: LoRa Modem. Low Energy Consumption Design AN TCo. SX1272/3/6/7/8 LoRa Modem Design Guide WIRELESS & SENSING

Transcription:

UG103-13: Application Development Fundamentals: RAIL Silicon Labs RAIL (Radio Abstraction Interface Layer) provides an intuitive, easily-customizable radio interface layer that is designed to support proprietary or standards-based wireless protocols. RAIL is designed to simplify and shorten the development process. Developers no longer have to deal with hundreds of registers across multiple products, but can instead rely on a unified software API. RAIL also makes applications portable across Silicon Labs wireless products. RAILtest, included with the RAIL SDK, supports lab evaluation as well as application development. KIT FEATURES RAIL overview RAIL SDK components, including a core library of features Example applications, including RAILtest RAIL features Silicon Labs Application Development Fundamentals series covers topics that project managers, application designers, and developers should understand before beginning to work on an embedded networking solution using Silicon Labs chips, networking stacks such as EmberZNet PRO or Silicon Labs Bluetooth Smart, and associated development tools. The documents can be used a starting place for anyone needing an introduction to developing wireless networking applications, or who is new to the Silicon Labs development environment. silabs.com Smart. Connected. Energy-friendly. Rev. 0.2

Introduction 1. Introduction Silicon Labs is developing software and hardware products designed to meet the demands of customers as we move to an ever-connected world of devices in the home, what is often referred to as the IoT (Internet of Things). At a high level the goals of IoT for Silicon Labs are to: Connect all smart devices with best-in-class networking, whether with ZigBee PRO, Thread, Bluetooth Smart, or other emerging standards. Leverage the company s expertise in energy-friendly microcontrollers. Enhance established low-power, mixed-signal chips. Provide low-cost bridging to existing Ethernet and Wi-Fi devices. Enable cloud services and connectivity to smartphones and tablets that promote ease of use and a common user experience for customers. One challenge in developing these wireless products is understanding and implementing low-level radio capabilities quickly and efficiently, so as to reduce the time to market. Product developers need an easy and future-proof method to configure the radio so they can focus on application development. To meet this need, Silicon Labs has developed RAIL. RAIL provides an intuitive, easily-customizable radio interface layer that is designed to support proprietary or standards-based wireless protocols. The primary benefits of RAIL are: Implements commonly-used radio functionality, so that it does not have to be written in the application or stack. Eliminates the need for developers to become expert in RF register details of complex wireless SoCs. Simplifies code migration to new wireless ICs and the development of new stacks by providing a common radio interface layer. Allows lab evaluation in addition to application code development. silabs.com Smart. Connected. Energy-friendly. Rev. 0.2 1

RAIL Overview 2. RAIL Overview The Silicon Labs RAIL SDK consists of several components. The RAIL library: Provides a programming interface to radio functionality, as shown in the following figure. The Radio Configurator: Part of Simplicity Studio, the interface that allows developers to configure static parameters of the radio physical layer. Sample applications: Can be used as is for evaluation and also serve as a starting point for application development. Documentation. The RAIL library works by taking intuitive and easy-to-use commands from the RAIL API and translating them into register-level code used to control radio and communications functions. The API commands remain constant across ICs. The changes in the underlying code are transparent to the developer or system tester. This also allows developers to create multiple stacks for different products quickly, as they are always presented with a similar software radio interface. RAIL provides the foundation upon which developers can implement their own MAC layer and network layer functionality. RAIL currently supports the following protocols and applications: Customer proprietary stack Stackless applications (e.g. Range Test, included with the RAIL SDK) RAILtest application for lab evaluation (included with the SDK) (coming in 2016) Silicon Labs Connect stack RAIL supports the Wireless Gecko (EFR32 ) portfolio, primarily focused on the Flex Gecko family of 2.4 GHz proprietary wireless SoCs. Additional support for Sub-GHz and dual band hardware will be available in phases as the hardware becomes available. Figure 2.1. RAIL Stack Structure silabs.com Smart. Connected. Energy-friendly. Rev. 0.2 2

RAIL SDK Components 3. RAIL SDK Components The Silicon Labs RAIL SDK includes the RAIL library, the Radio Configurator, sample applications, and documentation. The RAIL SDK is installed alongside and registered inside of the Simplicity Studio development environment. 3.1 RAIL Library RAIL functionality is delivered as a library that you link to your application. The RAIL library implements the core features and runtime APIs needed to configure and control the radio. The RAIL library is the heart of the RAIL SDK. The RAIL API is documented in the online API reference as well as other documents installed with the stack or available through Simplicity Studio. The RAIL library supports APIs for: General Radio Operation Channel definition and selection Output power configuration Transmit Clear Channel Assessment before Transmit Scheduled Transmit Energy Detection Receive Packet Filtering Calibration CW (Carrier Wave) Transmission Modulated Transmission RFSense configuration as wake source Where possible, all features currently implemented for the EFR32 will be implemented for future ICs, allowing for easy migration of all RAIL-based applications. Planned RAIL features include: Duty Cycled Receive operation Frequency Hopping Receive operation Acknowledgements Antenna Diversity 802.15.4 support 3.2 RAIL Sample Applications The RAIL SDK includes example application code and related documentation to demonstrate the capabilities of the device and the RAIL library. These examples are provided as source code to offer a starting point for application development. The following examples are included in the current release. Additional examples are planned for future releases. silabs.com Smart. Connected. Energy-friendly. Rev. 0.2 3

RAIL SDK Components 3.2.1 RAILtest RAILtest is a general test tool for the RAIL library. RAILtest is developed by the core engineering team working on the RAIL library. As each RAIL library feature is implemented, a RAILtest serial command is added to allow scripted testing and ad hoc experimentation. RAILtest can be built with any PHY, including 802.15.4 and Bluetooth Smart. Many of the RAILtest serial commands can be used for lab evaluation. RAILtest includes commands to: Transmit and receive packets. Schedule transmits at a specific time in the RAIL timebase. Configure RAIL address filtering to receive only specific packets. Enable CCA mechanisms (CSMA/LBT) to validate that a channel is clear before transmit. Set a timer callback in the RAIL timebase to see how the RAIL timer API works. Change the transmit channel within the current configuration's band. Change the transmit power level. Enable RF energy sensing of specified duration across the 2.4 GHz and/or Sub-GHz bands, and sleep to wake on this event. Output a continuous unmodulated tone for debugging. Output a continuous modulated PN9 stream for debugging. Enter into direct mode where data can be sent and received using asynchronous GPIOs as input and output. 3.2.2 Other Example Applications Range Test: Enables over-the-air range testing between two devices customized with user-defined parameters. Range Test is designed to be run on the Silicon Labs WSTK hardware without the need for commands from a host computer. This capability allows for mobility during range testing activities. Bidirectional link: Enables a simple point-to-point link between two devices. Demonstrates how to send/receive a packet and how to send back an ACK. Using Energy Modes with RAIL: Demonstrates how to use energy modes in your RAIL-based application. Duty cycle: Demonstrates duty cycled reception of single packets with a long preamble or one of a blast of packets with normal preamble length. 3.3 Radio Configurator Static parameters such as carrier frequency band, modulation scheme, bit rate, and packet format are set through the Radio Configurator in Simplicity Studio. The Radio Configurator translates requested RF parameters into optimal chip configuration. The RAIL library manages the configuration of the radio using the settings determined by the Radio Configurator. See EFR32 Radio Configurator Guide (AN971) for more details. 3.4 RAIL Documentation RAIL documentation includes: Development Environment online documents: API descriptions Readme Release Notes Getting Started with Silicon Labs RAIL on the Wireless Gecko (EFR32) Portfolio (QSG121) Flex Gecko 2.4 GHz, 20dBm Range Test Demo User's Guide (UG147) EFR32 Radio Configurator Guide (AN971) EFR32 RF Evaluation Guide (AN972) silabs.com Smart. Connected. Energy-friendly. Rev. 0.2 4

RAIL Features 4. RAIL Features The initial RAIL release (v1.0) includes the following features in software. RAIL 1.0 Highlights Description Address Filtering CCA (Clear Channel Assessment) RSSI (Received Signal Strength Indicator) read Scheduled transmission RFSense support Calibration support Improve memory interface for TX and RX packets Symbol-based timer RAIL timer RAIL API to get entropy from radio Compiler support Each packet contains two fields that will be examined during filtering for addresses. Each field may have up to four addresses. Each address may have a size of 1, 2, 4, or 8 bytes Support for broadcast addresses. This is not 15.4 address filtering. Devices can enable or disable address filtering based on a frame type (e.g: ACK). Supports two common medium access methodologies, which delay transmission until the channel is clear: CSMA-CA (Carrier Sense Multiple Access with Collision Avoidance) -- based on IEEE 802.15.4 specification LBT (Listen Before Talk) -- based on ETSI EN 300 220-1 specification Ability to read RSSI manually. Defer transmission to an absolute time after API call. Works with the EFR32 RFSense feature, the ability to sense the presence of RF energy above -20 dbm within either or both the 2.4 GHz and Sub-GHz bands, and trigger an event if that energy is continuously present for certain durations of time. Enable / Disable RFSense. Use RFSense as a wakeup mechanism. Calibration related to temperature changes during RX and Image Rejection. A dynamic and efficient method to handle TX and RX buffers. Code can start and stop a timer that will fire based on symbol time. µsec granularity with a RAIL timer (used to timestamp RX, TX etc.). Radio can be used as a source to generate a random number for security. IAR Embedded Workbench for ARM 7.30 or later. GCC (GNU Compiler for ARM) silabs.com Smart. Connected. Energy-friendly. Rev. 0.2 5

Next Steps 5. Next Steps See Getting Started with Silicon Labs RAIL on the Wireless Gecko (EFR32) Portfolio (QSG121) for instructions on how to install and get started using the RAIL SDK. silabs.com Smart. Connected. Energy-friendly. Rev. 0.2 6

Smart. Connected. Energy-Friendly. Products www.silabs.com/products Quality www.silabs.com/quality Support and Community community.silabs.com Disclaimer Silicon Laboratories 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 Laboratories 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 Laboratories reserves the right to make changes without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Silicon Laboratories shall have no liability for the consequences of use of the information supplied herein. This document does not imply or express copyright licenses granted hereunder to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any Life Support System without the specific written consent of Silicon Laboratories. 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 Laboratories products are not designed or authorized for military applications. Silicon Laboratories 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. 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, ISOmodem, Precision32, ProSLIC, Simplicity Studio, SiPHY, Telegesis, the Telegesis Logo, USBXpress and others are trademarks or registered trademarks of Silicon Laboratories Inc. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. 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