NanoLOC Development Kit User Guide

download NanoLOC Development Kit User Guide

of 152

Transcript of NanoLOC Development Kit User Guide

  • 8/20/2019 NanoLOC Development Kit User Guide

    1/152

    nanoLOC Development

    Kit 3.0

    User Guide

    Version 3.0NA-06-0230-0402-3.0

  • 8/20/2019 NanoLOC Development Kit User Guide

    2/152

    Document Information

    nanoLOC Development Kit 3.0 User Guide

    Page ii NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    Document Information

    Document Title: nanoLOC Development Kit 3.0 User Guide

    Document Version: 3.0

    Published (yyyy-mm-dd): 2010-03-22Current Printing: 2010-3-19, 1:00 pm

    Document ID: NA-06-0230-0402-3.0

    Document Status: Released

    Disclaimer 

    Nanotron Technologies GmbH believes the information contained hereinis correct and accurate at the time of release. Nanotron Technologies

    GmbH reserves the right to make changes without further notice to theproduct to improve reliability, function or design. Nanotron Technologies

    GmbH does not assume any liability or responsibility arising out of thisproduct, as well as any application or circuits described herein, neither does it convey any license under its patent rights.

     As far as possible, significant changes to product specifications andfunctionality will be provided in product specific Errata sheets, or in newversions of this document. Customers are encouraged to check the Nan-

    otron website for the most recent updates on products.

    Trademarks

     All other trademarks, registered trademarks, and product names are thesole property of their respective owners.

    This document and the information contained herein is the subject ofcopyright and intellectual property rights under international convention.

     All rights reserved. No part of this document may be reproduced, storedin a retrieval system, or transmitted in any form by any means, elec-tronic, mechanical or optical, in whole or in part, without the prior writtenpermission of NanotronTechnologies GmbH.

    Copyright © 2010 Nanotron Technologies GmbH .

  • 8/20/2019 NanoLOC Development Kit User Guide

    3/152

    Table of Contents

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page iii

    Table of Contents

    List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

    List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

    1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.2 Minimum Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.3 Kit Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2 nanoLOC DK Board Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.1 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.2 Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.3 Voltage Regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.4 nanoLOC TRX Transceiver Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    3 Evaluating Wireless Transmissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.1 Reliability of Radio Frequency (RF) Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.2 Reliable Data Communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.3 Ranging Precision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.4 Obtainable Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.5 Receiver Sensitivity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    3.6 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    4 nanoLOC API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    4.1 nanoLOC nTRX Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    4.2 General Layer Interface – SAP, MESAP and Callback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    4.3 General Message Structure – MsgT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    4.4 Hardware Adaption Layer – Microcontroller and Hardware Dependent . . . . . . . . . . . . . . . . . . . . 13

    4.4.1 SPI Bus Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    4.4.2 Interrupt Service Routine Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    4.5 Chip Initialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    4.6 PHY Layer (nTRX Driver) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    4.6.1 PHY Layer Data SAP – PDSap (). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    4.6.2 PHY Layer Management Entity SAP – PLMESap () . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    4.6.3 Upstream Callback Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    4.7 Application Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    4.7.1 Using PDSap () on the PHY Layer for Data Transmission Requests. . . . . . . . . . . . . . . . . . 15

    4.7.2 Using PLMESap () on the PHY Layer Chip Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    4.7.3 Upstream Callback Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    5 nanoLOC Ranging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    5.1 Symmetrical Double Sided Two-Way Ranging (SDS-TWR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    5.1.1 SDS-TWR Defined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    5.1.2 Propagation and Processing Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    5.1.3 Generating First Set of Time Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    5.1.4 Granting Permission to Perform Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.1.5 Eliminating Clock Errors by a Second Symmetrical Measurement . . . . . . . . . . . . . . . . . . . 20

    5.1.6 Collecting the Time Values with a Third Data Packet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    5.1.7 Calculating the Ranging Distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    5.2 Ranging Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    5.2.1 SDS-TWR 3W_A – Providing Ranging Results to Peer A . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    5.2.2 SDS-TWR 3W_B – Providing Ranging Results to Peer B . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    5.2.3 SDS-TWR 2W_PP – Energy Saving Ranging Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    5.3 Success and Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    5.3.1 Success Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    5.3.2 Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    6 nanoLOC Location Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    6.1 Image Files and the nanoLOC DK Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    6.2 How Tag Locations are Determined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306.2.1 Initializing and Configuring the Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    6.2.2 Requesting Ranging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    http://files/TRX%20Adaptorboard.pdfhttp://files/TRX%20Adaptorboard.pdf

  • 8/20/2019 NanoLOC Development Kit User Guide

    4/152

    Table of Contents

    nanoLOC Development Kit 3.0 User Guide

    Page iv NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    6.2.3 Calculating the X/Y Coordinates of Tag(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    6.3 Location Demo Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    6.4 nanoLOC Location Demo Tutorial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    6.5 Setting Up the Hardware for the Location Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    6.6 Running the Location Demo with the nanoLOC DK Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    6.7 nanoLOC Location Demo GUI Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    6.7.1 GUI Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    6.7.2 Log Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    6.8 Running the Servers with a Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    6.9 Location Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    6.10 Using Hyperterminal to Connect to the Location Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    6.11 Adding Anchors and Tags to the Location Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    6.11.1 Anchor and Tag Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    6.11.2 Creating a New Anchor or Tag Image File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    6.11.3 Adding or Deleting Tags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    6.11.4 Deleting an Anchor from the Location Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    6.12 Reflashing the Default Location Demo Image Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    6.13 nanoLOC Location Demo LED and Key Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496.13.1 Obtaining a Log File Using the nanoLOC DK Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    7 nanoLOC Ranging Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    7.1 Image Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    7.2 Flashing the nanoLOC Ranging Demo Image Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    7.3 Using the nanoLOC Ranging Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    7.4 nanoLOC Ranging Demo LED and Key Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    8 nanoLOC Talk Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    8.1 Image Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    8.2 Running the nanoLOC Talk Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    8.3 Running Talk Demo Using HyperTerminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    8.4 nanoLOC Talk Demo LED and Key Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    9 nanoLOC Throughput Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699.1 Image Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    9.2 Running the Throughput Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    9.3 nanoLOC Throughput Demo LED and Key Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    10 nanoLOC Packet Sniffer Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    10.1 Image File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    10.2 Running the nanoLOC Packet Sniffer Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    10.3 Packet Sniffer Demo LED and Key Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

    11 nanoLOC Ping Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

    11.1 Image File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

    11.2 Running the nanoLOC Ping Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

    12 nanoLOC Light Switch Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    12.1 Image Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8512.2 Running the nanoLOC Light Switch Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    13 Compiling with AVR Studio 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    14 Flashing and Debugging with AVR Studio 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

    14.1 Flashing a Hex File to a nanoLOC DK Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

    14.2 Debugging the Embedded Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

    A1 nanoLOC DK Board Modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

     A1.1 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

     A1.2 Communication Interface (RS-232/UART) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

     A1.3 JTAG Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

     A1.4 In-System-Programming (ISP) Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

     A1.5 Light Sensor (Light to Digital Converter). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

     A1.6 Digital I/O Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001.6.3 PORTC (User-Programmable LEDs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

     A1.7 LED Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

  • 8/20/2019 NanoLOC Development Kit User Guide

    5/152

    Table of Contents

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page v

     A1.8 Function Buttons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

    A2 nanoLOC DK Board Technical Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

     A2.1 Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

     A2.2 PCB Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

     A2.3 Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122.4 Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

    A3 nanoLOC USB Stick Technical Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

     A3.1 Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

     A3.2 PCB Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

     A3.3 Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    A4 2.4 GHz Swivel Antenna Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

     A4.1 Dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

     A4.2 Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

     A4.3 Return Loss and V.S.W.R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

     A4.4 Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

    A5 Compiling with WinAVR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

    A6 Flashing Hex Files with STK500 Board. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127A7 Glossary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

    Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

    http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/

  • 8/20/2019 NanoLOC Development Kit User Guide

    6/152

    Table of Contents

    nanoLOC Development Kit 3.0 User Guide

    Page vi NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    Intentionally Left Blank

  • 8/20/2019 NanoLOC Development Kit User Guide

    7/152

    List of Figures

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page vii

    List of Figures

    Figure 1: nanoLOC Development Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    Figure 2: nanoLOC DK Board key features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    Figure 3: nanoLOC DK Board components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Figure 4: Power supply to the nanoLOC DK Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    Figure 5: Layer structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    Figure 6: nTRX Driver API General layer interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    Figure 7: MsgT message structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    Figure 8: Hardware adaption layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    Figure 9: PHY layer SAPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    Figure 10: Application layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    Figure 11: SDS-TWR (simplified) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    Figure 12: First set of measurements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    Figure 13: Second set of measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    Figure 14: Third Data packet to provide Peer B time values to Peer A . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    Figure 15: Third Data packet to provide Peer A time values to Peer B . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    Figure 16: Third Data packet not required . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    Figure 17: Key components of the nanoLOC Development Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    Figure 18: Locating tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    Figure 19: Request configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    Figure 20: Hardware acknowledgements indicate which tags are alive . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    Figure 21: Request Ranging using Start command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    Figure 22: Ranging performed between each alive tag and each anchor . . . . . . . . . . . . . . . . . . . . . . . . . 31

    Figure 23: Ranging data provided to Location application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    Figure 24: nanoLOC Location Server - no nanoLOC USB Stick detected . . . . . . . . . . . . . . . . . . . . . . . . . 33

    Figure 25: Location Server and Location Engine Server running. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    Figure 26: nanoLOC Location Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Figure 27: nanoLOC Location Demo with Log Area minimized.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    Figure 28: nanoLOC Location Demo – Settings dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    Figure 29: Common Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    Figure 30: Anchors tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    Figure 31: Values entered in the Anchors table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    Figure 32: Tags tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    Figure 33: Saving settings to a configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    Figure 34: nanoLOC Location Demo with loaded tutorial.xml file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    Figure 35: Warning to remove the existing FTDI Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    Figure 36: Placing nanoLOC DK Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    Figure 37: Anchors tab - test settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    Figure 38: Unsaved changes to configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    Figure 39: Raw data in Location Engine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    Figure 40: Log data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    Figure 41: nanoLOC Location Demo running. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    Figure 42: Tag LED and Key usage nanoLOC Location Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    Figure 43: Obtaining a log file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    Figure 44: nanoLOC Ranging Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    Figure 45: nanoLOC Ranging Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    Figure 46: Selecting and opening COM port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    Figure 47: Ranging measurement results displayed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    Figure 48: nanoLOC Ranging Demo - running. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    Figure 49: Ranging report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    Figure 50: Saving a log file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

  • 8/20/2019 NanoLOC Development Kit User Guide

    8/152

    List of Figures

    nanoLOC Development Kit 3.0 User Guide

    Page viii NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    Figure 51: Clear report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

    Figure 52: Exiting the application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

    Figure 53: Tag LED and Key usage nanoLOC Ranging Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    Figure 54: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    Figure 55: nanoLOC Talk Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Figure 56: nanoLOC Talk Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    Figure 57: nanoLOC Talk Demo - Help screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    Figure 58: Open Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    Figure 59: Select COM port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    Figure 60: nanoLOC Talk Demo Console (maximized) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    Figure 61: nn > Prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    Figure 62: nanoLOC Logical Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    Figure 63: Chat mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    Figure 64: Sending chat message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    Figure 65: Talk transmission and response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

    Figure 66: Received chat message displayed in red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

    Figure 67: End Chat mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    Figure 68: Tag LED and Key usage nanoLOC Talk Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    Figure 69: Setup of the nanoLOC Throughput Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    Figure 70: Set Station as Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    Figure 71: nanoLOC Throughput Demo - TX station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    Figure 72: Select COM Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    Figure 73: TX station transmitting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    Figure 74: Set Station as Receiver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    Figure 75: nanoLOC Throughput Demo Receiving Station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    Figure 76: nanoLOC Logical Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    Figure 77: Select COM Port RX station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    Figure 78: RX station receiving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73Figure 79: Tag LED and Key usage nanoLOC Throughput Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    Figure 80: nanoLOC Packet Sniffer Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    Figure 81: nanoLOC Packet Sniffer – open port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

    Figure 82: nanoLOC Packet Sniffer - console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

    Figure 83: nanoLOC Sniffer Demo - prompt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    Figure 84: nanoLOC Logical Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

    Figure 85: Starting promiscuous mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

    Figure 86: nanoLOC Packet Sniffer Demo reporting packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    Figure 87: Example decoded packet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    Figure 88: Tag LED and Key usage nanoLOC Packet Sniffer Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

    Figure 89: Ping application running on nanoLOC DK Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

    Figure 90: Ping application indication LEDs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

    Figure 91: Light Switch application running on nanoLOC DK Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    Figure 92: Light Switch Demo application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

    Figure 93: AVR Studio 4 - Welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    Figure 94: Select project file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

    Figure 95: Loaded project files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

    Figure 96: WinAVR not installed error message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

    Figure 97: nanoLOC Throughput Demo compiled files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

    Figure 98: project compiled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

    Figure 99: Select AVR Programmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

    Figure 100: Locating HEX file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

    Figure 101: Begin flashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

    Figure 102: Flashing complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

  • 8/20/2019 NanoLOC Development Kit User Guide

    9/152

    List of Figures

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page ix

    Figure 103: Debugging an embedded application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

    Figure 104: Debugging complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

    Figure 105: nanoLOC DK Board block diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    Figure 106: Communication Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    Figure 107: Communication Interface schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Figure 108: JTAG connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

    Figure 109: ISP connector (SPI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

    Figure 110: Light sensor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

    Figure 111: PORTB pin connector connected to PORTB on the microcontroller. . . . . . . . . . . . . . . . . . . 101

    Figure 112: LEDs connected to PORTC on the microcontroller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    Figure 113: PORTD pin connector connected to PORTD on the microcontroller. . . . . . . . . . . . . . . . . . . 102

    Figure 114: SPI pin connector and user programmable buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

    Figure 115: nanoLOC DK Board PORTF (ADC and JTAG) connectors. . . . . . . . . . . . . . . . . . . . . . . . . . 104

    Figure 116: nanoLOC DK Board – schematic 1 of 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

    Figure 117: nanoLOC DK Board – schematic 2 of 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

    Figure 118: nanoLOC DK Board – schematic 3 of 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

    Figure 119: nanoLOC DK Board – schematic 4 of 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    Figure 120: nanoLOC DK Board - top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

    Figure 121: nanoLOC DK Board - bottom (inverted) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

    Figure 122: nanoLOC DK Board - top components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

    Figure 123: nanoLOC DK Board dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

    Figure 124: nanoLOC USB Stick - Schematic 1 of 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

    Figure 125: nanoLOC USB Stick - Schematic 2 of 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

    Figure 126: nanoLOC USB Stick - top (scale 2X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

    Figure 127: nanoLOC USB Stick - bottom (scale 2X and inverted) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

    Figure 128: nanoLOC USB Stick - top components (scale 2X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

    Figure 129: Antenna mechanical dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

    Figure 130: Antenna return loss and V.S.W.R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120Figure 131: Antenna E Plane and H Plane patterns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

    Figure 132: Antenna E Plane and H Plane field patterns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

    Figure 133: WinAVR Programmers Notepad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

    Figure 134: Select project file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

    Figure 135: Opened Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

    Figure 136: Make Clean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

    Figure 137: Make All. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

    Figure 138: Connecting the STK500 Board to the nanoLOC DK Board. . . . . . . . . . . . . . . . . . . . . . . . . . 127

    Figure 139: Completed setup of hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

    Figure 140: Select AVR Programmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

    Figure 141: Select AVR Programmer dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

    Figure 142: STK500 dialog – program tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

    Figure 143: Programming hex file to board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

    Figure 144: AVR Studio flashing to nanoLOC DK Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

    Figure 145: Flashing completed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

  • 8/20/2019 NanoLOC Development Kit User Guide

    10/152

    List of Figures

    nanoLOC Development Kit 3.0 User Guide

    Page x NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    Intentionally Left Blank

  • 8/20/2019 NanoLOC Development Kit User Guide

    11/152

    List of Tables

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page xi

    List of Tables

    Table 1: nanoLOC Development Kit components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    Table 2: nanoLOC DK Board components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    Table 3: Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Table 4: Description of MsgT Message structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    Table 5: NTRX_LogChannel attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    Table 6: NTRX_Channel attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    Table 7: Message structure for callback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    Table 8: Message structure for callback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    Table 9: nanoLOC Location Demo image files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    Table 10: Common Settings tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    Table 11: Anchor 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    Table 12: Anchor tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    Table 13: Anchor 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    Table 14: Anchor 3 and Anchor 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    Table 15: Anchor 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    Table 16: Tag tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    Table 17: Common Settings tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    Table 18: Location Demo GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    Table 19: Address range for anchors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    Table 20: Address range for tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    Table 21: NTRX_LogChannel attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    Table 22: Hyperterminal connection properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    Table 23: Transmit power settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    Table 24: NTRX_LogChannel attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    Table 25: NTRX_LogChannel attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    Table 26: MAC frame types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80Table 27: JTAG interface pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

    Table 28: Microcontroller to ISP pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

    Table 29: Microcontroller to light sensor pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

    Table 30: Microcontroller to PORTA pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

    Table 31: Microcontroller to PORTB pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    Table 32: Microcontroller to PORTC pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    Table 33: PORTD pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

    Table 34: ATmega128L microcontroller to PORTE pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

    Table 35: ATmega128L microcontroller to PORTF pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    Table 36: nanoLOC DK Board Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

    Table 37: nanoLOC USB Stick bill of materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    Table 38: Antenna electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

    Table 39: Antenna mechanical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

    Table 40: Antenna environmental specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

    Table 41: Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

    http://files/nanoLOC%20DK_chap01-Introduction.pdfhttp://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://files/nanoLOC%20DK_chap01-Introduction.pdf

  • 8/20/2019 NanoLOC Development Kit User Guide

    12/152

    List of Tables

    nanoLOC Development Kit 3.0 User Guide

    Page xii NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    Intentionally Left Blank

  • 8/20/2019 NanoLOC Development Kit User Guide

    13/152

    Introduction

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page 1

    1

    1 Introduction

    The nanoLOC Development Kit 3.0  is designed for prototyping and developing ranging and loca-

    tion-aware wireless applications based on the nanoLOC TRX Transceiver . The kit includes an

    extensive set of applications as both image files and source code as well the development tools

     AVR Studio® and WinAVR® to get started immediately developing and testing wireless applica-

    tions. This document describes the hardware in the kit and provides instructions for using the

    nanoLOC LOCATION DEMO. Additional instructions are provided for flashing the R ANGING DEMO and

    other other applications to the nanoLOC DK Boards that demonstrate nanoLOC’s ranging and

    robust wireless communication capabilities.

    Note: This document assumes the software for the nanoLOC Development Kit 3.0 has been

    installed and the nanoLOC DK Boards have been assembled. If not, refer to the nanoLOC

    Development Kit 3.0 Quick Start Guide.

    1.1 Components

     All the hardware and software required for developing and testing applications is provided in the

    kit. Figure 1 below shows the hardware components of the nanoLOC Development Kit  3.0.

    Figure 1: nanoLOC Development Kit

    These components are described in the following tables.Table 1: nanoLOC Development Kit components

    Hardware Qty Description

    nanoLOC DK Board  5 This versatile board uses the nanoLOC TRX Transceiver  and the

     ATmega128L microcontroller and is specifically designed for location and

    ranging applications.

    nanoLOC USB Stick  1 Enables the PC to connect to nanoLOC’s wireless network via USB port.

    Required for nanoLOC LOCATION DEMO. FTDI driver for this device is pro-

    vided in kit setup file.

    USB cable

    (type A male/female)

    1 For use with the nanoLOC USB Stick .

     Atmel AVR® STK 500Development System

    1 Used for flashing and debugging under Windows®. Uses the JTAG or ISPinterface on the nanoLOC DK Board .

  • 8/20/2019 NanoLOC Development Kit User Guide

    14/152

    Introduction

    nanoLOC Development Kit 3.0 User Guide

    Page 2 NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    1

    1.2 Minimum Requirements

    The applications included in the nanoLOC Development Kit  operate on a PC running Microsoft®

    Windows® or XP® or later OS with a 1.8 GHz Pentium 4 processor or equivalent. A minimum

    installation of the software requires at least 30 MBs free space, while a full installation requires at

    least 210 MBs free space.

    The nanoLOC LOCATION DEMO uses only one PC, while other demo programs require two PCs or,

    ideally, laptops, all of which need an available USB port.

    2.4 GHz omnidirectional

    antenna

    5 High-quality sleeve dipole omnidirectional antenna. Install in the same

    plane for effective transmissions. Recommended antenna electrical polar-

    ization is vertical.

    Power supply units 5 Provides a regulated 3 V power supply that can be used internationally

    (with adapters not included in kit): 100-240 V, 50-60 Hz, 1 A.

    JTAG-ICE AVR Adapter 1 Third-party device for flashing and debugging. Uses the JTAG interface on

    the nanoLOC DK Board  and a USB port on the PC.

    USB cable

    (type B male/female)

    1 For use with the JTAG Adapter.

    RS-232 cables 5 Required for applications that use the COM port of the PC.

    Software Description

    FTDI Driver Required for the nanoLOC USB Stick 

    Location Server Required for the nanoLOC Location Demo

    Location Client Console program for running the Location Demo. Alternative access

    to the nanoLOC Location Server 

    nanoLOC LOCATION DEMO   + Windows®-based GUI

    + Set of image files

    + Source code: embedded

    application only

    nanoLOC R ANGING DEMO   + Windows®-based GUI

    + Set of image files

    + Source code: embedded

    application only

    nanoLOC T ALK DEMO   + Windows®-based GUI

    + Set of image files+ Source code: embedded

    application only

    nanoLOC THROUGHPUT DEMO   + One set of image files

    + Source code

    nanoLOC P ACKET SNIFFER DEMO   + One image file

    + Source code

    PING  AND LIGHT SWITCH DEMOS   + Set of image files

    + Source code for both

    nanoLOC DRIVER   + Source code

    Third Party Software WIN AVR® and AVR STUDIO® 4 are provided for compiling, flashing,

    and debugging.

    Documentation Description

    Nanotron Documentation Documents for application development. Product flyers also included.

    Third-Party Documentation Datasheets and user guides for third-party software included in the kit.

    Table 1: nanoLOC Development Kit components

    Hardware Qty Description

  • 8/20/2019 NanoLOC Development Kit User Guide

    15/152

    Introduction

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page 3

    1

    1.3 Kit Software

    The nanoLOC Development Kit  includes an extensive set of applications that demonstrate the use

    of the nanoLOC  chip for location-aware, ranging, and robust communication wireless applications.

    Most demo programs have both an embedded application and a Windows®-based graphical user 

    interface. Others are embedded applications only and run on the command line or by key buttonson the nanoLOC DK Boards. Source code (written in ANSI C) of all embedded applications are

    provided as examples for starting your own application development.

    Note: Windows®-based GUIs are not provided as source code.

    + nanoLOC LOCATION DEMO

    Demonstrates nanoLOC’s ranging capabilities using a location algorithm to locate tags in 2D

    space. Uses five nanoLOC DK Boards (4 anchor points and 1 tag), the nanoLOC USB Stick ,

    and the LOCATION SERVER.

    + nanoLOC R ANGING DEMO

    Demonstrates nanoLOC’s ranging capabilities to determine the distance between two nanoLOC

    DK Boards (1 tag and 1 anchor). A set of embedded applications for the tag and reader provide

    ranging data, while a Windows®-based application displays the ranging data results.

    + nanoLOC TALK DEMO

    Demonstrates point-to-point wireless communication between two nanoLOC DK Boards using a

    simple chat application.

    + nanoLOC THROUGHPUT DEMO

    Measures data throughput and packet error rate between two nanoLOC DK Boards.

    + nanoLOC P ACKET SNIFFER DEMO

    Uses a single nanoLOC DK Board  to intercept and log any traffic passing over a wireless nano-

    LOC network.

    + PING DEMO and LIGHT SWITCH DEMO

    Uses two nanoLOC DK Boards to demonstrate sending commands to remote nodes in a nano-LOC network (Ping demo) and operating a simple sensor / actor network (Light Switch demo).

    + nanoLOC nTRX Driver 

    Provides an API for applications and sends MAC layer messages to the nanoLOC chip over the

    SPI interface. Can be integrated into nanoLOC -based wireless applications.

  • 8/20/2019 NanoLOC Development Kit User Guide

    16/152

    Introduction

    nanoLOC Development Kit 3.0 User Guide

    Page 4 NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    1

    Intentionally Left Blank

  • 8/20/2019 NanoLOC Development Kit User Guide

    17/152

    nanoLOC DK Board Overview

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page 5

    2

    2 nanoLOC DK Board Overview

    The nanoLOC DK Board includes a nanoLOC EVR Module and the ATmega128L microcontroller.

    The EVR Module integrates the nanoLOC TRX Transceiver  and required external circuitry.

    2.1 Components

    Figure 2: nanoLOC DK Board key features

    Figure 3: nanoLOC DK Board components

    The components of the nanoLOC DK Board  are described in table 2 below.Note: Schematics and layout and BOM for the nanoLOC DK Board  are provided in Appendix 2:

    nanoLOC DK Board Technical Description on page 107.

    ProgrammableLEDs

    Programmablebuttons

    SMA connector

     ATmega128Lmicrocontroller 

    Connector forRS-232 cable

    2.1 mm barrel connector 

    Connector forbattery pack

    nanoLOC EVR

    Module

    TX/RX

     jumpers for RS-232

    JP2 for Voltage Regulator 

    On/Off Switch

    JTAG connector 

    Reset

    button

    DE-9 D-subconnector 

    RX jumperfor RS-232

    TX jumperfor RS-232

    2.1 mmbarrel

    connector 

    DC-DC

    converter 

    Connector for

    Battery Pack

    JP3 for ADC Converter 

    Port Dconnectors

     ADC/IOconnectors

    JTAGconnector 

    ISPconnectors

    Port Bconnectors

     ATmega128L

    microcontroller  nanoLOC

    EVR Module

    ProgrammableLEDs

    Resetbutton

    TX/RX

    LED

    Programmablebuttons

    SMAconnector for

    2.4 GHzantenna

    PowerLED

    Power On/Offswitch

    LightSensor 

    7.3728 MHz

    External Oscillator 

    32.768 kHzQuartz

    Oscillator 

    JP2 forVoltage

    Regulator 

    Ground

    K3 K2 K1L8 L1

    1

    21

    2

    2

    11

    2

    2

    1

    +-

  • 8/20/2019 NanoLOC Development Kit User Guide

    18/152

    nanoLOC DK Board Overview

    nanoLOC Development Kit 3.0 User Guide

    Page 6 NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    2

    Table 2: nanoLOC DK Board components

    Part Description

    nanoLOC EVR

    Module

    Contains the nanoLOC TRX Transceiver along with external circuitry required for its

    operation. It provides basic RF functionality including transmission (TX) and recep-

    tion (RX) as well as basic digital operations. It also includes an ISM bandpass filterat antenna connector for filtering signal disturbances.

     ATmega128L 

    microcontroller

     A low power CMOS 8-bit microcontroller based on the AVR enhanced RISC archi-

    tecture with 128 Kb Flash and 4 Kb SRAM. This microcontroller drives the

    nanoLOC TRX Transceiver  via the SPI interface. Operates between 2.7 V and 5.5

    V. See also Atmel ATmega128L datasheet  available from Atmel.

    Light sensor Light-to-digital converter (part number TSL2561T).

    Power supply socket Uses a 2.1 mm barrel connector from a maximum 3.0 V unregulated power supply.

    Battery connector pin

    (JP1)

    Connector for a 3.0 V (max.) battery pack.

    Power ON/OFF

    switch

    Disconnects from either the barrel connector or the JP1 power source but NOT from

    the JTAG connector power source.

    PWR LED When illuminated, indicates power supply is on.

    DC-DC converter

    (voltage regulator)

    When a power supply of 3.0 V or less is used, the DC-DC converter is required to

    provide a constant 3.3 V output to the ATmega128L µc and to the nanoLOC RF

    Module. (Input voltage: Between 1.0 V and 3.0 V. Output voltage: 3.3 V)

    Note: The voltage regulator jumpers (JP2) need to be connected when the DC-DC

    converter is used.

    TX/RX LED When illuminated, indicates transmission and reception activity.

    Programmable LEDs Eight user-programmable red, orange, and gold activity LEDs. Their anodes and

    cathodes are connected to PORTC via 680 Ω resistors and to ground.

    DE-9 D-sub connector Connector for serial interface using an RS-232 cable.

    Pin access points Used for testing and measurements.

    Reset button Used to reset the microcontroller.

    Programmable

    buttons

    The nanoLOC ATmega128L Board  provides three user-programmable buttons that

    connect some of the I/O pins to ground and a reset switch.

    I/O Ports The ATmega128L microcontroller provides six I/O ports – PORTA, PORTB,

    PORTC, PORTD, PORTE and PORTF. The pins of these ports are directly con-

    nected to the ports of the microcontroller.

    + PORTA is partly connected to the Light Sensor, with the remaining pins extended

    to RS232 Force On solder pads.

    + PORTB is a general I/O port.

    + PORTC is connected to the eight user-programmable LEDs.

    + PORTD is a general I/O port.

    + PORTE is partly connected to the ISP and partly to the user-programmable but-

    tons.+ PORTF supports the ADC channel inputs and the ATmega128L built-in JTAG

    interface.

    JTAG connector JTAG interface for debugging and flashing purposes.

    Note: If a power supply is provided by the JTAG interface, it must not be higher than

    3.0 V or damage may occur to the board.

    ISP (In-System

    Programming)

    connector 

    SPI Interface for on-chip In-System Programming (ISP).

    The ISP port is compatible with the STK500® Evaluation Board .

    Note: If a power supply is provided by the ISP connector, it must not be higher than

    3.0 V or damage may occur to the board.

    32.768 kHz quartz A 32.768 kHz quartz for the timer/counter oscillator.

    7.3728 MHz external

    oscillator 

     A 7.3728 MHz quartz crystal as an external oscillator.

  • 8/20/2019 NanoLOC Development Kit User Guide

    19/152

    nanoLOC DK Board Overview

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page 7

    2

    2.2 Power Supply

    Both the nanoLOC DK Board  and the nanoLOC EVR Module mounted on the board operate at

    3.3 V. However, since the nanoLOC DK Board  uses an up-converter to 3.3 V, a power supply of 

    between 1.0 V and 3.0 V is required (and should not exceed 3.3 V - see warning below).

    Sliding Switch

    When a power supply is provided to the nanoLOC DK Board , the power supply LED (labelled PWR)

    is illuminated. To switch off the board without having to remove the power supply, a sliding switch

    (labelled ON/OFF) has been provided. Figure 4 shows the location of the ON/OFF sliding switch.

    Note: The ON/OFF sliding switch does not affect power provided by the JTAG/ISP connectors.

    Figure 4: Power supply to the nanoLOC DK Board 

    2.3 Voltage Regulator 

    Both the ATmega128L microcontroller and the nanoLOC RF Module require a steady voltage of

    3.3 V. Therefore, the board provides a voltage regulator, which is a monolithic micropower step-up

    DC-DC converter for powering equipment from battery packs containing either one or two cells.

    The voltage regulator starts up with a voltage of 0.8 V and operates down to less than 0.3 V. This

    regulator is capable of up to 200 mA of output current at an input voltage of 2.0 V and an outputvoltage of 3.3 V.

    Note: The voltage regulator output becomes inaccurate if the input voltage exceeds 3.0 V.

    Table 3: Power Supply 

    Power Supply Units (Included) Battery Packs (Not Included)

     A power supply unit with a maximum 3.0 V unregu-

    lated supply voltage, which uses the 2.1 mm DC bar-

    rel connector (center pin is positive).

    Note: The power supply unit included in the kit has

    been pre-set for 3.0 V.

     A battery pack (not included in kit) with a minimum of

    one 1.5 V AA alkaline cell (two 1.5 V AA alkaline cells

    are recommended) and with a maximum 3.0 V regu-

    lated supply voltage. The battery pack uses the con-

    nector labelled BAT.

    Note: When using the power supply connectors,

    ensure that the battery pack is connected with

    the correct polarity as shown in Figure 4 below.

    THE BATTERY PACK AND THE POWER SUPPLY UNIT CANNOT BE USED AT THE SAME

    TIME. DO NOT LEAVE THE POWER SUPPLY CABLE PLUGGED INTO THE BOARD WHEN

    BATTERIES HAVE BEEN INSTALLED IN THE BATTERY PACK. PERSONAL INJURIES OR

    EXPLOSIONS CAN OCCUR.

     Also, to allow low single battery cell supply voltages down to 1 V, the nanoLOC DK Board does not provide a

    diode to protect against reverse polarity. Therefore, the board will be permanently damaged if a power supply

    is connected to the board with the wrong polarity, and/or with voltages exceeding 3.3 volts.

    Board switched onand PWR LED

    illuminated

    +-

    1 V to 3VpowersupplyORbatterypack

    BAT

  • 8/20/2019 NanoLOC Development Kit User Guide

    20/152

    nanoLOC DK Board Overview

    nanoLOC Development Kit 3.0 User Guide

    Page 8 NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    2

    2.4 nanoLOC TRX Transceiver Features

    The key features of the nanoLOC TRX Transceiver  include:

    Note: For a full technical description, refer to the nanoLOC TRX Transceiver Datasheet .

    + Built-in precise ranging

    + Operates worldwide: 2.45 GHz ISM band

    + Programmable data rates: 250 kbps to

    1 Mbps

    + Modulation technique: CSS (Chirp Spread

    Spectrum)

    + Programmable output power dynamic

    range1: 37.5 dB

    + Receiver sensitivity: -95 dBm @

    BER=0.001 at nominal conditions1 

    (FEC off)

    + Receiver sensitivity: -97 dBm @

    BER=0.001 at nominal conditions1 

    (FEC on)

    + Extended operating temperature range

    (industrial): Tambient = -40°C to +85°C

    + FDMA (Frequency Division Multiplex

     Access) with 3 non-overlapping frequency

    channels and 14 overlapping frequency

    channels

    + In-band Carrier to Interference Ratio (C/I):

    C/I = 0 … 3 dB @ 250 kbps @ C = -65 dBm+  Allows unregulated 2.3 V…2.7 V supply

    voltage

    + Power down mode for increased current

    saving

    + Extremely low shut down current ≤ 2 µA1 

    + Software controlled power supply for exter-

    nal microcontroller allows further energy

    saving

    + 32768 Hz clock available for an external

    microcontroller and other frequencies are

    also available (feature clock)+ Integrated fast SPI interface (27 Mbps,

    slave mode only)

    + Integrated frame buffering

    + Integrated microcontroller management

    function

    + General purpose 4-bit digital I/Os for easy

    connection to sensors and actors

    + Hardware MAC accelerators for time critical

    and computation intensive tasks1. See nanoLOC TRX Transceiver (NA5TR1)

    Datasheet for nominal conditions.

  • 8/20/2019 NanoLOC Development Kit User Guide

    21/152

    Evaluating Wireless Transmissions

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page 9

    3

    3 Evaluating Wireless Transmissions

    The quality and range of wireless transmissions are dependent on a number of key factors. These

    include, but are not limited to, the physical environment in which the transmissions take place and

    the amount of noise or electromagnetic interferers within the vicinity of the transmissions. The fol-lowing provides some general remarks to consider when evaluating the quality and range of wire-

    less transmissions.

    3.1 Reliability of Radio Frequency (RF) Links

    In many applications - especially where wired systems are replaced by wireless systems - often

    the wireless system is expected to have the same reliability as the existing cable-based system.

    However, wireless systems are affected – sometimes significantly – by signal influencing factors

    such as attenuation, reflections, fading, as well as other interfering systems that counteract with a

    reliable data communication.

    To anticipate these expectations for a wireless system, it is necessary to take in account these

    potential influencing factors in the system design.

    3.2 Reliable Data Communication

    In contrast to existing narrowband data transmission methods, nanoLOC’s Chirp Spread Spectrum

    (CSS) technology provides the best possible margin for data communication due to its broadband

    time and frequency spreading characteristics.

    In adverse RF situations such as in the presence of strong RF interferers or high signal attenuation

    (metal enclosures), the RF communication in even the most robust systems can be affected by thephysical constraints of a particular RF environment.

    Note: For more details about Chirp Spread Spectrum, see nanoLOC TRX Transceiver User

    Guide.

    3.3 Ranging Precision

    Strong RF interferers and high signal attenuation also affect the obtainable precision for ranging.

    The implemented ranging algorithm is based on a Time of Flight (ToF) measurement. For very

    reflective RF environments in combination with a blocked direct signal (non-line-of-sight), the mea-

    sured signal can actually be a reflected signal. So the measured distance will be longer than the

    actual distance (direct line) between the two RF devices.

    Note: For more details about ranging, see 5. nanoLOC Ranging  on page 19.

    3.4 Obtainable Range

    In performing ranging, a frequently asked question is “What is the maximum obtainable range?”. In

    general, the range is determined by the link budget that is available for a given data link. Link bud-

    get is the output power of the transmitter vs. the input sensitivity of the receiver.

    For true line-of-sight conditions where no interferers exist, the obtainable distance can be easily

    calculated for a given frequency. However, in most cases this ideal environment is not possible due

    to reflections by walls, buildings, vegetation or the earth’s ground. These interferers can severelyinfluence the propagation characteristics of the signal. This inevitably leads to shorter communica-

    tion ranges compared to ranges calculated for ideal scenarios.

  • 8/20/2019 NanoLOC Development Kit User Guide

    22/152

    Evaluating Wireless Transmissions

    nanoLOC Development Kit 3.0 User Guide

    Page 10 NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    3

    3.5 Receiver Sensitivity

    When interferers are present at the receiver’s end of the wireless link, the receiver’s sensitivity is

    degraded by the prevailing amount of RF noise. For a comparison, consider ordinary audio noise

    at a radio receiver where a considerable noise floor is present. A person’s ear sensitivity has no

    effect on the quality of the audio sound. Likewise, with RF receivers the quality of the received sig-nal is degraded if a considerable noise floor is present. The noise floor determines the receiver’s

    sensitivity and, therefore, limits the maximum obtainable communication range.

    3.6 Summary

    In summary, a communication range can not be stated by considering the RF link alone without

    also taking in account the environment in which the communication takes place.

    The effects mentioned in this section are generally true for RF links. They have to be taken in con-

    sideration during the system design to successfully implement a specified radio application.

  • 8/20/2019 NanoLOC Development Kit User Guide

    23/152

    nanoLOC API

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page 11

    4

    4 nanoLOC API

    This section describes how an application accesses chip functionality through the use of the appli-

    cation programming interface (API) of the nanoLOC nTRX Driver. The API uses the same naming

    convention as IEEE 802.15.4.

    4.1 nanoLOC nTRX Driver 

     Applications access the nanoLOC  TRX Transceiver  through the API of the nanoLOC nTRX Driver .

    Upper layers, including the application layer, communicate with lower layers by sending and

    receiving commands. With this API, the application layer has a simple means of accessing the

    chip’s functions, including chip-specific settings and performance criteria such as address match-

    ing, error checking, modulation methods, and data transmission rates. Hardware adaption layer 

    messages are sent to the nanoLOC  chip over the SPI interface. The nanoLOC  API is located

    within the phy.c module of the nTRX Driver  source code.

    Figure 5: Layer structure

    The nanoLOC TRX Driver API reads and writes values into the registers of the nanoLOC TRX

    Transceiver. Some of the key settings of the nanoLOC TRX Driver  include the following:

    = Message

    = Interface Application Layer 

    TX RX

    Logical Connection

    TX RX

    Physical Connection

    Transmitted Packet

    PHY Layer (nTRX Driver)

    Event Handler 

    Hardware AdaptionLayer 

    nanoLOCTRX Transceiver 

     Application Layer 

    Received Packet

    PHY Layer (nTRX Driver)

    Event Handler 

    Hardware AdaptionLayer 

    nanoLOCTRX Transceiver 

    = SAP

    + Sets the Logical Network ID (which sets the

    SyncWord)

    + Enables / disables address matching

    + Enables / disables Broadcast (Brdcast) or 

    Time Beacon (TimeB) packets

    + Enables / disables receiver CRC2 checking

    + Sets CRC2 method to detect transmission

    bit errors

    + Sets CSMA/CA (carrier sense method for 

    collision avoidance)

    + Enables / disables a backoff scheme for 

    packet collision avoidance

    + Enables / disables Automatic Repeat

    Request (ARQ) on the receiver 

    + Sets the transmission output power 

    + Calibrates frequency of transmission and

    reception oscillators

    + Sets frequency bandwidth

    + Selects frequency channel (for narrowband

    transmission)

    + Reads out range (distance) value

    + Manual starting and stopping packet trans-mission

    + Sets the data transmission rate

    + Enables / disables Forward Error Correction

    (FEC)

  • 8/20/2019 NanoLOC Development Kit User Guide

    24/152

    nanoLOC API

    nanoLOC Development Kit 3.0 User Guide

    Page 12 NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    4

    4.2 General Layer Interface – SAP, MESAP and Callback

     All communication between layers is done by sending and receiving messages. Each layer has the

    same interface and can be easily exchanged or extended without changing the overall interface.

    Service Access Points (SAPs) are implemented as C functions and accepts a single pointer to aC-Struct interpreted as a message. This message contains all the necessary information required

    to execute a task from an upper layer. Figure 6 below illustrates the general layer interface (SAP,

    MESAP and Callback) of the nanoLOC nTRX Driver .

    Figure 6: nTRX Driver API General layer interface

    The PHY layer provides two Service Access Points (SAPs) for downstream messages from the

     Application Layer: LayernameSAP and LayernameMESAP. The PHY layer also provides one call-

    back function for upstream messages from the Hardware Adaption Layer: LayernameCallback.

    The general form for these SAPs are:

    + Downstream SAPs:

    On the PHY layer, these SAPs are:

    + Upstream Callback Function:

    On the PHY layer, this callback function is:

    + In addition to these services, every layer has variables that have to be initialized. This action is

    put into a separate function called LayernameInit:

    On the PHY layer, this function is:

     Application Layer 

    PHY layer (nTRX Driver)

    PDSap PLMESap

    PDCallback

    Hardware Adaption Layer 

    nanoLOC Chip

    SPI Interface IRQ Reset

     APPCallback

    µC and HW dependent

    µC and HW independent

    void LayernameSAP (MsgT *msg);

    void LayernameMESAP (MsgT *msg);

    void PDSap (MsgT *msg)

    void PLMESap (MsgT *msg)

    void LayernameCallback (MsgT *msg);

    void PDCallback (void)

    void LayernameInit (void);

    void PHYInit (void)

  • 8/20/2019 NanoLOC Development Kit User Guide

    25/152

    nanoLOC API

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page 13

    4

    4.3 General Message Structure – MsgT

    For a layer to provide information to a lower layer, the message structure MsgT is used, which is

    located in the file ntrxtypes.h. Return values are also provided with the help of this structure.

    Figure 7: MsgT message structure

    Table 4 below describes the variables in the message structure MsgT.

    4.4 Hardware Adaption Layer – Microcontroller and Hardware Dependent

    The Hardware Adaption Layer  is used to access the nanoLOC TRX Transceiver  and |is dependent

    on the microcontroller and hardware.

    Figure 8: Hardware adaption layer 

    Note: This layer must be written for each microcontroller family. The nanoLOC Development Kit  uses the Atmel ATmega128L microcontroller, which is part of the AVR  family of microcon-

    trollers.

    Table 4: Description of MsgT Message structure

    Variable Description

    uint8_t prim; Primitive name (1 byte)

    AddrT addr; MAC address of destination station (6 bytes)

    uint8_t len; Length of message (1 byte)

    uint8_t *pdu; Points to the beginning of the payload in the buffer 

    uint8_t

    data[MAX_PACKET_SIZE];Payload of message (n bytes to a maximum of 128 bytes)

    uint8_t status; Status indicator used with LayerCallback function (1 byte)

    uint16_t value;Value of requested parameter used for setting or getting chip config-

    uration requests (2 bytes)

    uint8_t attribute;Selected attribute used with the value parameter for setting or get-

    ting chip configuration requests (1 byte)

    typedef struct

    {

    uint8_t prim;

    AddrT addr;

    uint8_t len;

    uint8_t *pdu;

    uint8_t data[CONFIG_MAX_PACKET_SIZE];

    uint8_t status;

    uint16_t value;

    uint8_t attribute;

    } MsgT;

    The primitive of the message.

    MAC address of the message.

    pointer to beginning of payload in buffer 

    Payload length

     Attribute for setting or getting chip configuration requests

    Payload of the message

    Status value for confirmations

    Configuration value of a layer setting

    PDCallback

    Hardware Adaption Layer 

    nanoLOC Chip

    SPI Interface IRQ Reset

  • 8/20/2019 NanoLOC Development Kit User Guide

    26/152

    nanoLOC API

    nanoLOC Development Kit 3.0 User Guide

    Page 14 NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    4

    4.4.1 SPI Bus Functions

    The implementation of the Hardware Adaption Layer  for AVR microcontrollers uses four functions

    to communicate with the nanoLOC  chip over the SPI bus. It also uses an interrupt service routine.

    The functions for the SPI bus include:

    where:

    + NTRXSPIRead reads multiple bytes to the nanoLOC  chip

    + NTRXSPIWrite writes multiple bytes to the nanoLOC  chip

    + NTRXSPIReadByte reads single bytes to the nanoLOC chip

    + NTRXSPIWriteByte writes single bytes to the nanoLOC chip

    4.4.2 Interrupt Service Routine Function

    The function used for interrupt service routines is:

    The interrupt service routine will read the IRQ status register and raise a flag for transmission fin-

    ished or message reception. The actual processing of the interrupt source is done in normal con-

    text through the use of the function PHYPoll().

    4.5 Chip Initialization

    To prepare the nanoLOC  chip for message sending and receiving, the following function is used:

    4.6 PHY Layer (nTRX Driver)

    The PHY layer provides two downstream SAPs for the Application Layer and an upstream callback

    function for the Hardware Adapter Layer, as shown in figure 9 below.

    Figure 9: PHY layer SAPS

    void NTRXSPIRead(uint8_t address, uint8_t *buffer, uint8_t len);

    void NTRXSPIWrite(uint8_t address, uint8_t *buffer, uint8_t len);

    void NTRXSPIReadByte(uint8_t address, uint8_t *buffer);

    void NTRXSPIWriteByte(uint8_t address, uint8_t buffer);

    void NTRXInterrupt (void)

    bool_t NtrxInit(void)

     Application Layer 

    PHY layer (nTRX Driver)

    PDSap PLMESap

    PDCallback

    Hardware Adaption Layer 

     APPCallback

  • 8/20/2019 NanoLOC Development Kit User Guide

    27/152

    nanoLOC API

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page 15

    4

    4.6.1 PHY Layer Data SAP – PDSap ()

    PDSap () is used by the Application Layer for downstream data transmission to the PHY layer.

    This SAP uses the message structure MsgT.

    For details on the structure MsgT and parameters required for the SAP PDSap (), see 4.7.1. Using 

    PDSap () on the PHY Layer for Data Transmission Requests on page 15:

    4.6.2 PHY Layer Management Entity SAP – PLMESap ()

    PLMESap() is used by the Application Layer for nanoLOC  chip configuration requests and que-

    ries.

    For details on the structure MsgT and parameters required for the SAP PLMESap (), see 4.7.2.

    Using PLMESap () on the PHY Layer Chip Configuration on page 16:

    4.6.3 Upstream Callback Function

    The PHY layer provides a single upstream Callback function PDCallback.

    4.7 Application Layer 

    The Application Layer accesses the two downstream SAPs on the PHY layer PDSap () and

    PLMESap ()and provides to the PHY layer an upstream callback function, as shown in figure 10

    below:

    Figure 10: Application layer 

    4.7.1 Using PDSap () on the PHY Layer for Data Transmission Requests

    The Application layer uses the PHY layer SAP PDSap () for data transmission.

    The Application layer uses MsgT, as described in section 4.3 (unused parameters noted below).

    void PDSap (MsgT *msg)

    void PLMESap (MsgT *msg)

    void PDCallback (void)

     Application Layer 

    PHY layer (nTRX Driver)

    PDSap PLMESap

     APPCallback

    void PDSap (MsgT * msg)

    typedef struct

    {

    uint8_t prim;

    AddrT addr;

    uint8_t len;

    uint8_t *pdu;

    uint8_t data[128];

    uint8_t status;

    uint16_t value;uint8_t attribute;

    } MsgT;

    Not used for sending messages

  • 8/20/2019 NanoLOC Development Kit User Guide

    28/152

    nanoLOC API

    nanoLOC Development Kit 3.0 User Guide

    Page 16 NA-06-0230-0402-3.0 © 2010 Nanotron Technologies GmbH.

    4

    Primitives

    The parameter prim  uses the following primitives (attribute parameter) to indicate the requested

    service:

    + PD_DATA_CONFIRM – Hardware acknowledgement has been received

    PURPOSE: Indicates that a PD_DATA_REQUEST message was successfully executed.

    Valid parameters include data payload (data), destination address (addr), payload length

    (len), and success or failure (status).

    + PD_DATA_INDICATION – Message has been received

    PURPOSE: A message has been received from another device.

    Valid parameters are data payload (data), source address (addr), and payload length (len).

    + PD_DATA_REQUEST – Transmit a message

    PURPOSE: Requests a message to be transmitted to a given destination.

    Valid parameters include type of request (prim ), destination address (addr), data payload

    (data), and payload length (len).

    4.7.2 Using PLMESap () on the PHY Layer Chip Configuration

    The Application layer sends configuration requests and queries to the nanoLOC TRX Transceiver 

    using the SAP PLMESap() on the PHY Layer.

    The Application layer uses MsgT, as described in section 4.3 (unused parameters noted below).

    Primitives

    The parameter prim  uses the following primitives (attribute parameter) to indicate the requested

    service:

    + PLME_GET_REQUEST

    PURPOSE: Queries a setting of the layer parameter. For example, is FEC set to on?

    The attribute parameter is used to select one of the supported attributes (see below), while

    the value parameter selects the current setting of the attribute. The value field is only valid if 

    the status field indicates no error.

    + PLME_SET_REQUEST

    PURPOSE: Sets a parameter of the layer. For example, set FEC to on.

    The attribute parameter is used to select one of the supported attributes (see below), while

    the value parameter provides the new value to set.

    void PLMESap (MsgT * msg)

    typedef struct

    {

    uint8_t prim;

    AddrT addr;

    uint8_t len;

    uint8_t *pdu;

    uint8_t data[128];

    uint8_t status;

    uint16_t value;

    uint8_t attribute;

    } MsgT;

    Not used

  • 8/20/2019 NanoLOC Development Kit User Guide

    29/152

    nanoLOC API

    nanoLOC Development Kit 3.0 User Guide

    © 2010 Nanotron Technologies GmbH. NA-06-0230-0402-3.0 Page 17

    4

    Attributes

    The following attributes are available to be set or queried through the function PLMESap().

    + PHY_LOG_CHANNEL

    PURPOSE: Selects or requests a logical channel, which is a predefined set of transmissionmode settings. Table 5 lists the supported logical channels.

    + PHY_CHANNEL

    PURPOSE: Sets the center frequency used in the NTRX_Mode. Table 6 lists the available chan-

    nels:

    + PHY_ARQ

    PURPOSE: Turns on and off automatic retransmissions. When on, it also sets the maximum

    number of retransmissions. The range for maximum retransmissions is 0 to 14.

    + PHY_FEC

    PURPOSE: This attribute turns on and off Forward Error Correction (FEC). For more details

    about FEC, see nanoLOC TRX (NA5TR1) Transceiver User Guide.

    +

    PHY_TX_POWER PURPOSE: This attribute sets the output power of the transmitter. The programmable output

    power of the nanoLOC  chip is from -33 dBm to 0 dBm.

    Table 5: NTRX_LogChannel attributes

    Logical Channel Bandwidth [MHz] Bitrate [ns] FEC Centerfreq ID

    NLC_80_1_N_0 80 1000 No 0

    NLC_22_4_N_1 22 4000 No 1

    NLC_22_4_N_7 22 4000 No 7

    NLC_22_4_N_13 22 4000 No 13

    Table 6: NTRX_Channel attributes

    Channel ID Center Frequency [GHz] Description

    0 2.442.175 CSS, 80 MHz

    1 2.412 802.11b, CHNL_ID 1

    2 2.417 802.11b, CHNL_ID 2

    3 2.422 802.11b, CHNL_ID 3

    4 2.427 802.11b, CHNL_ID 4

    5 2.432 802.11b, CHNL_ID 56 2.437 802.11b, CHNL_ID 6

    7 2.442 802.11b, CHNL_ID 7

    8 2.447 802.11b, CHNL_ID 8

    9 2.