Simple frequency hopping with the nrf9e5 and nrf24e1

Similar documents
nrf240x ShockBurst technology

nrf905 Evaluation Kit

nrf24ex in a wireless keyboard design

Single chip 2.4GHz wireless mouse using nrf24ex

There are a few places where you typically encounter S/PDIF signals.

PRODUCT SPECIFICATION

RC232 Configuration and Communication Tool (CCT) User Manual

nrf Connect Bluetooth low energy

nrf24lu1+ Development Kit User Guide v1.0

nrf24lu1+ Development Kit

SIGFOX-CCT (Configuration and Communication Tool) User Manual

nrfutil v3.4.x User Guide v _007 v1.3 /

Radiocrafts Embedded Wireless Solutions

AN0512 Channel capacity in ranging applications

MBUS-CCT (Configuration and Communication Tool) User Manual

nrf 24E1 Figure 1: Wireless 2.4GHz mouse/keyboard application

Circuit Board Guidelines for aqfn Package nan-40

Low Cost Networks, ZigBee TM &

AN Philips LPC2000 CAN driver. Document information

LTE Link Monitor. User Guide. v _015 v0.7 /

Hints and tips when using RC1xx0 RF Modules

AN10337 Adding ISP firmware to an LPC900 software project

AN1203 Automatic start of CANopen slave devices

January 2014 Rev FEATURES

nrf5x OTA Testing with LitePoint Bluetooth Advanced nwp_028

CE PSoC 4: Time-Stamped ADC Data Transfer Using DMA

Software Serial Port Implemented with the PCA

Multicasting Overview

DMX512 Receiver Datasheet DMX512Rx V 1.0. Features and Overview

RC1140-RC232 Firmware Product Change Notification

AN10428 UART-SPI Gateway for Philips SPI slave bridges

AN1204 Configuration of CANopen devices via LSS

Use the Status Register when the firmware needs to query the state of internal digital signals.

AN Reduce CPU overhead with Intelligence Interrupt Arbitration (I2A) feature. Document information

INTEGRATED CIRCUITS ABSTRACT

INTEGRATED CIRCUITS. AN408 80C451 operation of port 6

Advanced Driver Configuration. Reference Guide

This optional pin is present if the Mode parameter is set to SyncMode or PulseMode. Otherwise, the clock input does not show.

RC232 Deployment Tool (DT) User Manual

Using UART in radio data transmission with the CDP-02 module By Tomihiko Uchikawa

AN10210 Using the Philips 87LPC76x microcontroller as a remote control transmitter

ComAPI+ API Documentation

EZRadio-2WayLink-DK EZRADIO TWO-WAY LINK DEVELOPMENT KIT USER S GUIDE. 1. Overview

Application Note: JN-AN-1134

Low-Power-Radio Transceiver IC

VHF variable capacitance double diode. Electronic tuning in FM radio applications.

User Manual Reference Design

For one or more fully configured, functional example projects that use this user module go to

AN427 Timer I in non-i 2 C applications of the 83/87C751/752 microcontrollers

nrfutil v2.2.0 User Guide v1.2 Doc. ID 4399_007 v

BME280 Combined humidity and pressure sensor

AN10184 Connecting a keyboard to the Philips LPC9xx microcontroller

Filter_ADC_VDAC_poll Example Project Features. General Description. Development Kit Configuration

RFID SIP Firmware Update Instructions for minipad / rpad

IEC Class B. Abstract. Apply to. Application Note of NUVOTON 32-bit NuMicro Family

AN205 CP210X BAUD RATE SUPPORT. Relevant Devices This application note applies to the following devices: CP2102, CP

Radiocrafts Embedded Wireless Solutions

Writing to Internal Flash in PSoC 3 and PSoC 5

MKW01 Simple Media Access Controller (SMAC) Demonstration Applications User s Guide

PSoC Blocks. CY8C20xx6/6A/6AS/6H/6L, CY8C20xx7/7S, CY7C643xx, CY7C604xx, CYONS2xxx, CYONSxNxxxx, CYRF89x35, CY8C20065, CY8C24x93, CY7C69xxx

& I CODE CL RD701. PEGODA Contactless Smart Card Reader READER COMPONENTS. Product Specification Revision 3.1 PUBLIC.

spwr_base & spwr_chan

MF RD700. PEGODA Contactless Smart Card Reader READER COMPONENTS. Preliminary Product Specification Revision 2.0 PUBLIC. July2002

Old Company Name in Catalogs and Other Documents

WiMOD - im880b. Application Note AN017 / Version 1.1. Firmware Update for im880b. Document ID: 4100/40140/0103. Category:

CM868LRxx & CMUS915LRxx Magnetic contact Programming manual

Use the Status Register when the firmware needs to query the state of internal digital signals.

UM2379. The BlueNRG-1, BlueNRG-2 radio driver. User manual. Introduction

Firmware Upgrading Radiocrafts modules

AN10955 Full-duplex software UART for LPC111x and LPC13xx

Bt865/865A Macrovision Process S865A_A

DYNAMIC ENGINEERING 150 DuBois St. Suite C, Santa Cruz, CA Fax Est.

Product Description. Application Note. AVR360: XmodemCRC Receive Utility for the AVR. Features. Theory of Operation. Introduction

Quick Start Guide Evaluation Board (EVB) PAN1311/21 USB

Programming and Evaluation Tool for Serial EEPROMs

This optional pin is present if the Mode parameter is set to SyncMode or PulseMode. Otherwise, the clock input does not show.

DatraxRF Spread Spectrum Wireless Modem

Interfacing Z8 Encore! XP MCUs with an I 2 C-Based Character LCD

Future Technology Devices International Ltd

ONE PHASE POWER METER (RN8209) SOLUTION

Capable of adjusting detection timings for start bit and data bit

16-Bit Hardware Density Modulated PWM Data Sheet

Wireless M-Bus Host Controller Interface DLL

Optional Pause Pulse for constant frame length of 282 clock ticks

Incremental ADC Data Sheet

SKY33108: BAW GHz WiFi Pass/ GHz WiMAX Reject Filter

Preliminary. Gas Sensor Analog Front End Datasheet GasSensorAFE V Features and Overview. This datasheet contains Preliminary information.

Weight Indicator WT2 FEATURES OPTIONS APPLICATIONS DESCRIPTION OUTLINE DIMENSIONS

24-Bit Pseudo Random Sequence Generator Data Sheet

M16C/26 APPLICATION NOTE. Interfacing with 1-Wire Devices. 1.0 Abstract. 2.0 Introduction Wire Interface. 3.1 Hardware

4 to 1 Analog Multiplexer Data Sheet

Wireless M-Bus Studio

RF900 LoRa Telemetry module V1.0

QKEYPAD-K16 16 Key Proximity Touch Sensing Keypad

The following table lists user modules used in this code example and the hardware resources occupied by each user module.

[WIR-1286]868MHz LORA Wireless Module. Page 1. LORA 868MHz Wireless serial link [WIR-1286]

Product Description. Applications. Features

CY8C29/27/24/23/21xxx, CY8CLED02/04/08/16, CY8CLED0xD, CY8CLED0xG, CY8C28x45, CY8CPLC20, CY8CLED16P01, CY8C28xxx. Main UM

nrf5x Command Line Tools v9.4.0

INTEGRATED CIRCUITS MF RC531. ISO Reader IC. Short Form Specification Revision 3.2. April Philips Semiconductors

Transcription:

Simple frequency hopping with the nrf9e5 and nrf24e1,qwurgxfwlrq This paper presents a simple frequency-hopping protocol for the nrf9e5 and nrf24e1. A demo application is made for each device showing how to use the protocol. The demo on the nrf9e5 is a simple temperature measurement application using the LM35 temperature sensor on the evaluation board. Two EVBOARDS are needed for the demo; one local connected to your PC via the serial port and one remote communicating with the local board using the frequency hopping protocol described below. A simple Visual Basic application is used to display the temperature on each board. To demonstrate the protocol on the nrf24e1 a simple file transfer application is implemented on top of the frequency-hopping protocol for easy demonstration with a PC with two serial ports interfacing the serial ports on two EVBOARDS. 3URWRFROGHVFULSWLRQ The frequency hopping code hops between 64 channels (channel 2 to channel 65) pseudo-randomly distributed in a 256-bytes constant table embedded in the code. The hopping functions as follows. Each time the transmitter sends a packet on a channel it starts waiting for an acknowledge packet (ACK) on the same channel. If the ACK is received within a predefined time-out (3ms in this example) the transmitter selects the next channel in the hopping table and sends the next packet on the newly selected channel. If an ACK is not received within the time-out period the packet is re-transmitted on the same channel. If this does not result in a valid ACK the transmitter hops to the next channel and repeats the procedure above. This process is repeated until an ACK is received or a time-out (3 seconds in the demo applications) is reached and if the time-out is reached the function returns with an error. A simple float diagram of the TransmitPacket function can be found in the appendix. The functionality on the receiver mirrors that of the transmitter. Each time a packet is received an ACK is sent before changing to the next channel in the hopping table. In addition to the address and CRC, each packet consists of 0-25 bytes of data and one byte of control information as shown in the figure below.

4 bytes ShockBurst address mmmm ssss 0-25 bytes message data 16 bits CRC 4 bits sequence number 4 bits message type At present there are two message types defined: data message (type=0001b) and ACK (type=0010b). The ACK has 0 bytes message data in this application. The sequence bits contain a four bits counter that increments after each packet is sent, is used by the receiver to keep track of which packet it has received. $SSOLFDWLRQ3URJUDPPLQJ,QWHUIDFH$3, The frequency hopping code is completely self-contained and can easily be adapted to your own application. The hopping code is stored in the file radio.cand the API is declared in the file radio.h. A 1ms timer is also required. In the example code Timer0 is used and the timer routines can be found in the file util.c. The API consists of the following functions: void InitReceiver(unsigned char n, unsigned char *paddr) void InitTransmitter(unsigned char n, unsigned char *paddr) void ReceiverTimeout(unsigned tout); void TransmitterTimeout(unsigned tout); unsigned char TransmitPacket(unsigned char *pbuf) unsigned char ReceivePacket(unsigned char *pbuf) Here, n is the number of bytes (0-25) in the packet described above, paddr is a pointer to a buffer containing four address bytes, tout is the time-out in ms and pbuf is a pointer to a buffer of at least n unsigned characters. The ReceiverTimeout function set how long in ms the receiver should wait for a packet before returning to the caller with an error and the TransmitterTimeout function sets how long the transmitter should try to get in contact with the receiver. The default time-out for both receiver and transmitter is 3000ms. To use the hopping protocol, first call InitReceiver and InitTransmitter with the number of bytes (must be the same number for both receiver and transmitter) and a pointer to a four bytes array of address bytes, and then call TransmitPacket and ReceivePacket as appropriate. If you call InitReceiver and InitTransmitter with paddr=0 a default address will be used. Please note that the present code is half-duplex. )LOHWUDQVIHUDSSOLFDWLRQZLWKWKHQ5)( A simple file transfer application has been built on top of the hopping protocol. A packet length of maximum is used; 24 bytes of file data and one byte with the number of bytes used in the packet. A packet with the number of bytes set to zero signals end of file. The application functions as follows.

After initializing the UART and timers both evaluation boards start waiting for a character on the serial port. If the character is T the InitTransmitter function of the hopping code is called with the number of bytes set to 25 and a file transfer is initiated. If the character is R the InitReceiver function is called with the same number of bytes and a file reception is initiated. After this packets are exchanged with the PC on both sides with the following format: The character P, number of bytes n and n data bytes. A packet with n set to zero signifies end of file. The file transfer application is called filetx.exe and can be found in the zip-file accompanying this document. To test the file transfer application first program two nrf24e1 evaluation boards with the file hoptest.hex and connect the two evaluation boards to the serial port(s) on one or two PC s. Then start one instance of filetx.exe on each PC or two instances if you are using one PC with two serial ports. The main window of the filetx application is shown in the following figure. Select the serial port(s) you are using then click the Receiver button in one of the windows and the Transmitter button in the other and hit the browse button in each instance and select a file to send and a filename for the file to receive. Finally hit the Receive button on the receiver (it is important to start the receiver first) then the Send button on the transmitter and the file transfer will start. 7HPSHUDWXUHPHDVXUHPHQWZLWKWKHQ5)( A simple temperature measurement application has been built on top of the hopping protocol. A packet length of 2 bytes is used. There is one receiver connected to the PC via the serial port and one remote transmitter. The receiver is selected by shorting P0.6 and P0.4 and the transmitter by shorting P0.6 and P0.5. The application functions as follows. After initializing the UART the receiver starts waiting for a character on the serial port. If the character is L the temperature sensor on the local EVBOARD is read and the result written to the serial port as four ASCII-hex digits. If the character is R the receiver starts waiting for a radio packet containing the temperature from the remote EVBOARD. Again the result is written to the serial port as four ASCII-hex digits.

After initializing the transmitter runs in an endless loop reading the temperature sensor and sending the result in a RF packet to the receiver. A simple Visual Basic client is included for testing the temperature measurement application. You need the VB6 runtime installed on your computer if you want to run the application. The VB6 can be downloaded from the following link: http://download.microsoft.com/download/vb60pro/redist/sp5/win98me/en- US/vbrun60sp5.exe

$33(1',;

TransmitPacket time = 0 n = 0 i = 0 select random channel[n] transmit bytes ACK received within 3ms? yes return 1 (success) to caller no i = i + 1 no i = 2? yes n = (n + 1) mod 256 no time > 3 sec? yes return 0 (failure) to caller

/,$%,/,7<',6&/$,0(5 Nordic VLSI ASA reserves the right to make changes without further notice to the product to improve reliability, function or design. Nordic VLSI does not assume any liability arising out of the application or use of any product or circuits described herein. /,)(6833257$33/,&$7,216 These products are not designed for use in life support appliances, devices, or systems where malfunction of these products can reasonably be expected to result in personal injury. Nordic VLSI ASA customers using or selling these products for use in such applications do so at their own risk and agree to fully indemnify Nordic VLSI ASA for any damages resulting from such improper use or sale. White paper. Revision Date : 18.02.2004. All rights reserved. Reproduction in whole or in part is prohibited without the prior written permission of the copyright holder.

<285127(6

1RUGLF9/6,:RUOG:LGH'LVWULEXWRU )RU<RXUQHDUHVWGHDOHUSOHDVHVHHKWWSZZZQYOVLQR 0DLQ2IILFH Vestre Rosten 81, N-7075 Tiller, Norway Phone: +47 72 89 89 00, Fax: +47 72 89 89 89 9LVLWWKH1RUGLF9/6,$6$ZHEVLWHDWKWWSZZZQYOVLQR