Download - 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.