Specifications

XBee®/XBeePRO®SERFModules
©2009DigiInternational,Inc. 50
the data, up to 2 times until an ACK is received. This ACK is called the ZigBee APS layer
acknowledgment.
Refer to the ZigBee specification for more details.
Many-to-One Routing
In networks where many devices must send data to a central collector or gateway device, AODV
mesh routing requires significant overhead. If every device in the network had to discovery a route
before it could send data to the data collector, the network could easily become inundated with
broadcast route discovery messages.
Many-to-one routing is an optimization for these kinds of networks. Rather than require each
device to do its own route discovery, a single many-to-one broadcast transmission is sent from the
data collector to establish reverse routes on all devices. This is shown in the figure below. The left
side shows the many broadcasts the devices can send when they create their own routes and the
route replies generated by the data collector The right side shows the benefits of many-to-one
routing where a single broadcast creates reverse routes to the data collector on all routers.
The many-to-one broadcast is a route request message with the target discovery address set to
the address of the data collector. Devices that receive this route request create a reverse many-to-
one routing table entry to create a path back to the data collector. The ZigBee stack on a device
uses historical link quality information about each neighbor to select a reliable neighbor for the
reverse route.
When a device sends data to a data collector, and it finds a many-to-one route in its routing table,
it will transmit the data without performing a route discovery. The many-to-one route request
should be sent periodically to update and refresh the reverse routes in the network.
Applications that require multiple data collectors can also use many-to-one routing. If more than
one data collector device sends a many-to-one broadcast, devices will create one reverse routing
table entry for each collector.
In SE firmware, the AR command is used to enable many-to-one broadcasting on a device. The AR
command sets a time interval (measured in 10 second units) for sending the many to one
broadcast transmission. (See the command table for details.)
Source Routing
In applications where a device must transmit data to many remotes, AODV routing would require
performing one route discovery for each destination device to establish a route. If there are more
destination devices than there are routing table entries, established AODV routes would be
overwritten with new routes, causing route discoveries to occur more regularly. This could result in
larger packet delays and poor network performance.
ZigBee source routing helps solve these problems. In contrast to many-to-one routing that
establishes routing paths from many devices to one data collector, source routing allows the
collector to store and specify routes for many remotes.
To use source routing, a device must use the API firmware, and it must send periodic many-to-one
route request broadcasts (AR command) to create a many-to-one route to it on all devices. When
remote devices send RF data using a many-to-one route, they first send a route record
transmission. The route record transmission is unicast along the many-to-one route until it
reaches the data collector. As the route record traverses the many-to-one route, it appends the
16-bit address of each device in the route into the RF payload. When the route record reaches the
data collector, it contains the address of the sender, and the 16-bit address of each hop in the
route. The data collector can store the routing information and retrieve it later to send a source
routed packet to the remote. This is shown in the images below.