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



Similar documents
How To Develop A Toolstick

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

QSG105 GETTING STARTED WITH SILICON LABS WIRELESS NETWORKING SOFTWARE

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

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

UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS

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

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

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

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

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

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

AN220 USB DRIVER CUSTOMIZATION

USB FM Radio-RD USB FM RADIO USER S GUIDE. 1. USB FM Radio Setup. One-time set-up enables configuration of presets and region specific FM band

AN220 USB DRIVER CUSTOMIZATION

Figure 1. 8-Bit USB Debug Adapter

UG103-13: Application Development Fundamentals: RAIL

UG103.9 EMBER APPLICATION DEVELOPMENT FUNDAMENTALS: ZLL

AN335 USB DRIVER INSTALLATION METHODS. 1. Introduction. 2. Relevant Documentation. 3. DPInst Installation and Customization

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

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

AN335 USB DRIVER INSTALLATION UTILITY. 1. Description. 2. Installation Install Package

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

CodeWarrior Development Studio for Freescale S12(X) Microcontrollers Quick Start

In the idle state, the TIP lead will be high impedance to ground and the RING lead will have the battery voltage. See Figure 1.

UG103.8: Application Development Fundamentals: Tools

Building and Debugging a project using Keil MDK-ARM Eclipse plug-in

Software User Guide UG-461

AND8336. Design Examples of On Board Dual Supply Voltage Logic Translators. Prepared by: Jim Lepkowski ON Semiconductor.

Developing an Application on Core8051s IP-Based Embedded Processor System Using Firmware Catalog Drivers. User s Guide

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

Bidirectional wireless communication using EmbedRF

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

Capacitive Touch Lab. Renesas Capacitive Touch Lab R8C/36T-A Family

Agilent Automated Card Extraction Dried Blood Spot LC/MS System

TWR-KV31F120M Sample Code Guide for IAR Board configuration, software, and development tools Rev.0

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

Lab Experiment 1: The LPC 2148 Education Board

An Introduction to MPLAB Integrated Development Environment

SUDT AccessPort TM Advanced Terminal / Monitor / Debugger Version 1.37 User Manual

etpu Host Interface by:

AN111: Using 8-Bit MCUs in 5 Volt Systems

32-bit AVR UC3 Microcontrollers. 32-bit AtmelAVR Application Note. AVR32769: How to Compile the standalone AVR32 Software Framework in AVR32 Studio V2

AN141 SMBUS COMMUNICATION FOR SMALL FORM FACTOR DEVICE FAMILIES. 1. Introduction. 2. Overview of the SMBus Specification. 2.1.

Software Real Time Clock Implementation on MC9S08LG32

APPLICATION NOTE. AT07175: SAM-BA Bootloader for SAM D21. Atmel SAM D21. Introduction. Features

10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition

In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM

AN3354 Application note

RN-131-PICTAIL & RN-171-PICTAIL Web-Server Demo Application

Quick Start Guide. TWR-MECH Mechatronics Board TOWER SYSTEM

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

UM0834 User manual. Developing and debugging your STM8S-DISCOVERY application code. Introduction. Reference documents

Bootloader with AES Encryption

BLE113 DEVELOPMENT KIT

ChipScope Pro Tutorial

Initializing the TSEC Controller

Freescale Semiconductor, I

EDK 350 (868 MHz) EDK 350U (902 MHz) EnOcean Developer Kit

TFTP Firmware upgrade

CodeWarrior Development Studio Floating Licensing Quick Start

Centran Version 4 Getting Started Guide KABA MAS. Table Of Contents

UM1680 User manual. Getting started with STM32F429 Discovery software development tools. Introduction

Developing an Application for the i.mx Devices on the Linux Platform

STSW-IDW002. Hands-On Training for SPWF01SC and SPWF01SA Wi-Fi modules. Features. Description

Getting Started with Kinetis SDK (KSDK)

Figure 1. Typical Measurement Configuration Antenna Board, Pico Board, and Wireless Motherboard

Using WinUSB in a Visual Studio Project with Freescale USB device controller

FLEXlm License Management

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

Tutorial for MPLAB Starter Kit for PIC18F

WNMS Mobile Application

Virtual COM Port Driver Installation Manual

Virtual COM Port Driver Installation Manual

SIMATIC. WinCC V7.0. Getting started. Getting started. Welcome 2. Icons 3. Creating a project 4. Configure communication 5

CB-OLP425 DEVELOPMENT KIT GETTING STARTED

Block 3 Size 0 KB 0 KB 16KB 32KB. Start Address N/A N/A F4000H F0000H. Start Address FA000H F8000H F8000H F8000H. Block 2 Size 8KB 16KB 16KB 16KB

PM1122 INT DIGITAL INTERFACE REMOTE

Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v Steps to Developing a QNX Program Quickstart Guide

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

UM0985 User manual. Developing your STM32VLDISCOVERY application using the IAR Embedded Workbench software. Introduction

USER GUIDE. ZigBit USB Stick User Guide. Introduction

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

Windows 7: Using USB TAP on a Classic CodeWarrior Installation (MGT V9.2 DSC V8.3)

IQRF Quick Start Guide

UM1727 User manual. Getting started with STM32 Nucleo board software development tools. Introduction

RSA Security Analytics Netflow Collection Configuration Guide

Printer Driver Installation Manual

Quick Start Tutorial. Using the TASKING* Software Development Tools with the Intel 8x930 Family Evaluation Board

RSA Security Analytics Netflow Collection Configuration Guide

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

ebus Player Quick Start Guide

Embedded Component Based Programming with DAVE 3

How To Use An Atmel Atmel Avr32848 Demo For Android (32Bit) With A Microcontroller (32B) And An Android Accessory (32D) On A Microcontroller (32Gb) On An Android Phone Or

Robust Over-the-Air Firmware Updates Using Program Flash Memory Swap on Kinetis Microcontrollers

SIM900 Eclipse environment install Application Note_V1.00

JEROME COMMUNICATIONS SOFTWARE (JCS) INSTALLATION and OPERATION MANUAL V1.02 for Windows XP

USER GUIDE EDBG. Description

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

Develop a Dallas 1-Wire Master Using the Z8F1680 Series of MCUs

Transcription:

R ANGE TEST APPLICATION FOR EZRADIO AND EZRADIOPRO 1. Introduction The range evaluation demo provides an easy way to evaluate the link budget of EZRadio and EZRadioPRO devices by performing a range test between two nodes. The range test demo implements Packet Error Rate (PER) measurement. PER is a commonly-used technique for measuring the quality of RF links in wireless systems under particular conditions. 2. Supported Radio Types The following RF ICs are supported by the range evaluation demo: Si4012 Transmitter Si4355 Receiver Si4455 Transceiver Si4060 Transmitter Si4063 Transmitter Si4362 Receiver Si4460 Transceiver Si4461 Transceiver Si4463 Transceiver Si4464 Transceiver Si4438 Transceiver Si4467 Transceiver Si4468 Transceiver Rev. 0.6 Copyright 2014 by Silicon Laboratories AN655

3. Development Kits The range evaluation demo can run on the development boards described in the following subsections. 3.1. Wireless Mother Board Hardware Platform The wireless motherboard platform is a demo, evaluation, and development platform for radio ICs. It consists of a wireless motherboard and interchangeable MCU and RF Pico boards. Figure 1. Wireless Motherboard Platform 2 Rev. 0.6

3.2. LCD Base Board Platform The LCD Base Board is a development board that can be used with a connected RF Pico board. Figure 2. LCD Base Board Platform Rev. 0.6 3

4. Basics of the Packet Error Rate The range test demo provides measured results regarding the quality of the RF link. The demo uses two RF nodes. In the one-way link range test, one node is used as the transmitter (TX) and the other as the receiver (RX). The transmitter sends packets to the receiver repeatedly. The packet includes the address of the transmitter and number of the sent packet. The packet number increments from packet to packet. The receiver receives the packet and checks its address. If their addresses match, the packet number is stored. In the two-way link range test, the receiver can send an acknowledge packet (ACK) back to the transmitter. The ACK packet also includes the address and packet number of the received packet. Packet error rate can be calculated with the following equation: P TX P RX Packet Error Rate (%) = ------------------------------- 100 P TX where P TX is the number of sent packets and P RX is the number of received packets. 4.1. Packet Structure Figure 3. Packet Structure 5. Prerequisites for Code Development The range test project has a unified structure and common driver set. This section provides a brief introduction of the structure of the range test projects. This structure may be familiar to customers who have already used the exportable example projects from WDS. The settings in the sample project files assume that some Silicon Labs or third-party software tools are already installed on the PC on which the sample project will be compiled. The tools that need to be installed depend on the functionality to be used. The following list contains a complete set of such programs: Silicon Laboratories IDE Used to open the preconfigured project files and manage the build process. Keil C51 v9.0 (or higher) Compilers to use with the Silicon Laboratories IDE to manage build process. Silicon Labs Flash Programming Utility (optional) Needed only if programming outside the Silicon Labs IDE is necessary. Make (optional) This tool is needed in case another compiler is used or the build process takes place outside of the SiLabs IDE. The Makefile required by this tool is already included in the project. However, it is only recommended for advanced users since it may require manual editing. 4 Rev. 0.6

6. Deploying Code to the Silicon Labs IDE The Silicon Labs integrated development environment (IDE) is a standard tool for program development for any Silicon Labs 8-bit MCUs, including the C8051F93x and C8051F91x that are used on the hardware platforms. The Silicon Laboratories IDE integrates a project manager, source-code editor, source-level debugger, and an insystem flash programmer. The IDE interfaces to third-party development tool chains to provide system designers a complete embedded software development environment. The Range Test application is intended to be built via the Keil C51 toolchain. The project deployed from WDS comes with a predefined project file that is already configured to use the Keil C51. The Keil Demonstration Toolset includes a compiler, linker, and assembler and easily integrates into the IDE. 6.1. Workflow for Downloading and Running a Project Perform the following steps to download and run a project: 1. Connect the hardware platform to the PC according to the description of the platform used. 2. Start Silicon Labs IDE (IDE 4.40 or higher required) on your computer. 3. Select Project Open Project... to open the Range Test project file. 4. Before connecting to the target device, several connection options may need to be set. a. Open the Connection Options window by selecting Options Connection Options... in the IDE menu. b. Select USB Debug Adapter in the Serial Adapter section. c. If more than one adapter is connected, choose the appropriate serial number from the drop-down list. d. Check Power target after disconnect if the target board is currently being powered by the USB Debug Adapter. The board will remain powered after the software is disconnected by the IDE. e. Next, the correct Debug Interface must be selected. Check the C2 Debug Interface.Once all the selections are made, click the OK button to close the window. 5. Click the Connect button in the toolbar or select Debug Connect from the menu to connect to the MCU of the platform. 6. Erase the flash of the MCU in the Debug Download object code Erase all code space menu item. 7. Download the compiled HEX file either by hitting the Download code (Alt+D) toolbar button or from the Debug Download object code menu item. Rev. 0.6 5

7. Directory Structure of the Range Test Code The range test code has a common directory structure with separate source and project files to ease understanding of the individual modules. For every sample project, the following directories and files can be found in the main directory: bin Contains the SiLabs project files for Keil compiler and the Makefile if the make tool is used instead. doc Doxygen-generated documentation based on comments inside the source files in html format. out The outputs of the compilation process are sent to this folder. After a successful compilation, this directory contains files, such as the hex file, the linker output, and the OMF file. src Directories containing the source files. a. Application b. Common c. Drivers Doxyfile This file contains the Doxygen documentation generator settings. Cleanup.bat This is the batch file used to delete all files generated during the build process. The individual software modules are organized into several source files. The sample projects contain one header file (bsp.h) that is included in the source files and collects the individual headers that need to be included. Under the src folder, the application folder contains application-related sources. The common directory contains software modules that are intended to separate the hardware and radio-dependent drivers and low-level modules and provide an independent API to the application layer. These middle-layer modules are dependent on the services provided by the low-level drivers, and their compiled object files are highly dependent on the actual defined platform and radio. The low-level driver modules (e.g., handlers, drivers) are located under the driver directory. 6 Rev. 0.6

8. Software Layers Like all of our sample projects, the layered software approach is followed. There is a distinct scope for each software module, and all modules can communicate through each other's API functions. The software modules are separated and focused to cover one specific task. The following figure shows the software layers and its relations. 8.1. Application Layer Figure 4. Software Layers of the Range Test The application layer is located at the top of the modules hierarchy. It logically controls the whole range test demo. Functionally, it is independent of the hardware peripherals and the radio, and its logical operation can remain unchanged even if the layers below have been modified later. It can be adapted to any device without difficulty. Generally, it can control the radio to work as a transmitter, a receiver, or a transceiver. It calculates the moving average packet error rate based on the transmitted and received packets. It maintains the graphical menu on the LCD screen and supervises the interaction of the user. In the menu, the preloaded radio settings generated by the WDS can be configured. The radio settings are located in the sradioconfig.h header. This header file contains the custom and preloaded radio configurations according to the actual RF Pico board and the host platform. This file has been automatically generated and is not allowed to be modified manually. Figure 5. Application Layer Related Files Rev. 0.6 7

8.2. Common Layer In the modules hierarchy, the common layer works between the low-level driver and the application layer. Functionally, it is dependent on the hardware peripherals and the radio. It is responsible for showing the dynamically changing menu that is updated on the LCD screen. It can store and load the actual configuration from and to the FLASH memory. It can send log information about packet error rate to the UART interface that can be processed by a monitoring computer. If any errors are encountered during the range test demo, it can provide helpful information about the sources of these errors. It can control the radio RFIC to send and receive packets. It can request information from the radio about its internal state, such as the current RSSI value during reception, and it can check whether or not a packet transmission has successfully occurred. Figure 6. Common Layer Related Files 8 Rev. 0.6

8.3. Low-Level Driver AN655 In the modules hierarchy, the low-level driver is located between the common layer and the hardware. It consists of a set of interfaces that provide possible options for controlling various peripherals on modular HW platforms. Registers can be initialized with preconfigured settings, and peripherals can be enabled to start/stop their own processing. The major tasks of these software modules are to initialize the hardware elements and control their behaviors. The principle of their installation is to provide a façade for the upper layers. Functionally, the application layer at the top of the hierarchy can be independent of the hardware, and its logical operation can remain unchanged even if the hardware has been modified later. All the modules are primarily responsible for handling the dedicated internal peripherals, such as the IO, timers, SPI and PCA, SMBUS, UART, and LCD. Figure 7. Low Level Driver Related Files More detailed information about the radio drivers can be found in the following application notes: AN692: Si4355/Si4455 programming guide AN633: Programming Guide for EZRadioPRO Devices. Rev. 0.6 9

9. Menu System After running the demo, the first screen is the welcome screen. It shows the Silicon Laboratories logo as long as any of the buttons are pressed. If the motherboard cannot recognize the type of RF Pico board, then it shows an error message. In this case, it is recommended that the user follow the instruction displayed on the screen. Figure 8. RF Pico Board Identification The on-screen menu system is designed for easy configuration. For accurate range testing, the demo measures the actual packet error rate (PER) of the radio link. The RF settings of the radio can be configured based on data rate, modulation, and frequency settings, output power, packet count, and payload length. It is also possible to change the self- and remote-ids of the participants. The menu also provides an option to select how the strength of the received signal (RSSI) is shown on the screen. It can be represented as a moving graph if Icon is selected, a decimal number if Number is selected, or a decibel value if dbm is selected. The signal strength of the incoming packet is measured during packet reception. If the RSSI is presented as a graph on the screen, the dynamic change in RSSI value can be observed accurately by configuring the moving average window size. The actual RSSI value is latched and shown when the sync word of the packet is received. The RSSI is typically used to qualify the link: a higher number or greater level shows a better link quality. For more information about how the decimal number relates to actual received strength value, refer to the EZRadio/EZRadioPRO data sheet. The log functionality can be enabled to provide information about the transmitted and received packets. Figure 9. Configuration Menu 10 Rev. 0.6

Figure 10. Menu System Rev. 0.6 11

Figure 11. Range Test Information Four push buttons are used to navigate the menu system; soft labels describe the current function of the given buttons. In general, push buttons 1 and 2 are used to navigate down and up through the menu items. Push buttons 3 and 4 are used to configure the menu item selected by the pointer. The demo can be configured through several menu items. After the menu items are configured, the range test can be started. During the test, all of the measured information can be observed on the LCD screen. It is also possible to switch to the RSSI graph and the runtime info screens. 12 Rev. 0.6

10. Range Test Perform the following steps to conduct the range test: 1. Connect RF Pico boards to the two hardware platforms. 2. Put batteries into the devices and switch the devices on. 3. Connect the hardware platforms to the Wireless Development Suite. 4. Select the Range Test project and configure your custom settings through the Frequency and Power, RF parameters (etc ) tabs. Nonetheless, WDS also appends additional RF canned settings that are optimized to the RF Pico board. Deploy project either by Download Project or Generate Source. 5. Configure both devices to be in TRX mode or one of them to be RX and the other to be in TX mode. Note that Si4355-based devices can only be receivers, and Si4012-based devices can only be transmitters. 6. Configure the range test through the menu items. Select either from the canned settings or the custom setting. 7. Confirm that the transmitter sends packets and that the receiver answers. The range test can be performed inside a building if indoor propagation is tested. However, it is advised to perform the test outside the building, line-of-sight, to get the best possible range result. 8. If PER>1%, reset the PER on the transmitter and try to walk further in the area. Propagation conditions usually improve if the user distances himself from a possibly shadowed area. 11. Radio Configuration Settings to Test The Wireless Development Suite provides several optimized radio configurations and one additional custom configuration to test. Basically, the modulation type can be OOK, 2FSK, 2GFSK, 4FSK, or 4GFSK. According to the RF matching network of the connected RF Pico board, WDS determines the frequency band and offers three different frequency options in the given band by default. Given the modulation type and the concrete center frequency, WDS offers four different data rate options. As a result, the maximum combination of automaticallygenerated configurations can be up to 60. They are stored in a linked list. The custom radio configuration is appended to the end of the list. WDS automatically generates the list and puts it into the range test project. Figure 12. Predefined Configurations and the Custom Setting Provided by the WDS as a Linked List Rev. 0.6 13

12. Test Modes 12.1. Bidirectional Communication The range test can also be performed by means of two-way radio communication. Transmission can be initiated by selecting TRX in the MODE menu item. The originator transmits a ping packet for the other node. If it receives the packet correctly, it transmits back an acknowledgment packet. Each ping packet has a serial number increased by the originator after every packet transmission, which is transmitted back by the acknowledgment packet. If the originator receives the acknowledgment within a predefined timeout, then it considers the link functional; otherwise, it increases the number of missed packets by one. The originator also stores the number of transmitted ping packets so the demo can calculate the Packet Error Rate based on this information. 12.2. One-Way Communication The range test can also be performed by means of one-way radio communication. Transmission can be initiated by selecting TX and RX in the MODE menu item. In this case, one end of the link must be set up as a transmitter (this will be the originator as described in the bidirectional link), and the other end of the link must be a receiver. The test needs to be started at the transmit side by pressing TX ON. The demo runs as long as the number of transmitted or received packets reaches the predefined number or until the demo is interrupted by Button 1. The user can follow the number of transmitted packets on the LCD screen. The one-way range test demo works the same as the bidirectional range test; however, the number of lost packets and the packet error rate are defined only at the receive side and are based on the first and last received packet IDs. 14 Rev. 0.6

CONTACT INFORMATION Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 Tel: 1+(512) 416-8500 Fax: 1+(512) 416-9669 Toll Free: 1+(877) 444-3032 Please visit the Silicon Labs Technical Support web page: https://www.silabs.com/support/pages/contacttechnicalsupport.aspx and register to submit a technical support request. Patent Notice Silicon Labs invests in research and development to help our customers differentiate in the market with innovative low-power, small size, analogintensive mixed-signal solutions. Silicon Labs' extensive patent portfolio is a testament to our unique approach and world-class engineering team. The information in this document is believed to be accurate in all respects at the time of publication but is subject to change without notice. Silicon Laboratories assumes no responsibility for errors and omissions, and disclaims responsibility for any consequences resulting from the use of information included herein. Additionally, Silicon Laboratories assumes no responsibility for the functioning of undescribed features or parameters. Silicon Laboratories reserves the right to make changes without further notice. Silicon Laboratories makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Silicon Laboratories assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. Silicon Laboratories products are not designed, intended, or authorized for use in applications intended to support or sustain life, or for any other application in which the failure of the Silicon Laboratories product could create a situation where personal injury or death may occur. Should Buyer purchase or use Silicon Laboratories products for any such unintended or unauthorized application, Buyer shall indemnify and hold Silicon Laboratories harmless against all claims and damages. Silicon Laboratories and Silicon Labs are trademarks of Silicon Laboratories Inc. Other products or brandnames mentioned herein are trademarks or registered trademarks of their respective holders. Rev. 0.6 15