EasyManuals Logo
Home>Digi>Control Unit>XBEE2

Digi XBEE2 User Manual

Digi XBEE2
195 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #56 background imageLoading...
Page #56 background image
Transmission, addressing, and routing Data transmission
XBee/XBee-PRO ZigBee RF Modules User Guide 56
When sending a unicast transmission, the ZigBee network layer uses the 16-bit address of the destination and
each hop to route the data packet. If the 16-bit address of the destination is not known, the ZigBee stack includes
a discovery provision to automatically discover the destination device's 16-bit address before routing the data.
To discover a 16-bit address of a remote, the device initiating the discovery sends a broadcast address discovery
transmission. The address discovery broadcast includes the 64-bit address of the remote device whose 16-bit
address is being requested. All nodes that receive this transmission check the 64-bit address in the payload and
compare it to their own 64-bit address. If the addresses match, the device sends a response packet back to the
initiator. This response includes the remote's 16-bit address. When the discovery response is received, the
initiator will then transmit the data.
Address table
Each ZigBee device maintains an address table that maps a 64-bit address to a 16-bit address. When a
transmission is addressed to a 64-bit address, the ZigBee stack searches the address table for an entry with a
matching 64-bit address, in hopes of determining the destination's 16-bit address. If a known 16-bit address is
not found, the ZigBee stack will perform address discovery to discover the device's current 16-bit address. The
following table provides a sample address table.
The XBee modules can store up to ten address table entries. For applications where a single device (for example
coordinator) may send unicast transmissions to more than ten devices, the application should implement an
address table to store the 16-bit and 64-bit addresses for each remote device. Any XBee that will send data to
more than ten remotes should also use API firmware. The application can then send both the 16-bit and 64-bit
addresses to the XBee in the API transmit frames which will significantly reduce the number of 16-bit address
discoveries and greatly improve data throughput.
If an application will support an address table, the size should ideally be larger than the maximum number of
destination addresses the device will communicate with. Each entry in the address table should contain a 64-bit
destination address and its last known 16-bit address.
When sending a transmission to a destination 64-bit address, the application should search the address table for
a matching 64-bit address. If a match is found, the 16-bit address should be populated into the 16-bit address
field of the API frame. If a match is not found, the 16-bit address should be set to 0xFFFE (unknown) in the API
transmit frame.
The API provides indication of a remote device's 16-bit address in the following frames:
All receive data frames
Rx Data (0x90)
Rx Explicit Data (0x91)
IO Sample Data (0x92)
Node Identification Indicator (0x95)
Route Record Indicator (0xA1)
and so forth
Transmit status frame (0x8B)
The application should always update the 16-bit address in the address table when one of these frames is
received to ensure the table has the most recently known 16-bit address. If a transmission failure occurs, the
application should set the 16-bit address in the table to 0xFFFE (unknown).
64-bit Address 16-bit Address
0013 A200 4000 0001 0x4414
0013 A200 400A 3568 0x1234
0013 A200 4004 1122 0xC200
0013 A200 4002 1123 0xFFFE (unknown)

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Digi XBEE2 and is the answer not in the manual?

Digi XBEE2 Specifications

General IconGeneral
BrandDigi
ModelXBEE2
CategoryControl Unit
LanguageEnglish

Related product manuals