Specifications

XBee®/XBeePRO®SERFModules
©2009DigiInternational,Inc. 70
Non-Parent Device Operation
Devices in the ZigBee network treat data transmissions to end devices differently than
transmissions to other routers and coordinators. Recall that when a unicast transmission is sent, if
a network acknowledgment is not received within a timeout, the device resends the transmission.
When transmitting data to remote coordinator or router devices, the transmission timeout is
relatively short since these devices are powered and responsive. However, since end devices may
sleep for some time, unicast transmissions to end devices use an extended timeout mechanism in
order to allow enough time for the end device to wake and receive the data transmission from its
parent.
If a non-parent device does not know the destination is an end device, it will use the standard
unicast timeout for the transmission. However, provisions exist in the Ember ZigBee stack for the
parent to inform the message sender that the destination is an end device. Once the sender
discovers the destination device is an end device, future transmissions will use the extended
timeout. See the XBee Router / Coordinator Configuration section in this chapter for details.
XBee End Device Configuration
XBee end devices support two different sleep modes:
•Pin Sleep
•Cyclic Sleep.
Pin sleep allows an external microcontroller to determine when the XBee should sleep and when it
should wake by controlling the Sleep_RQ pin. In contrast, cyclic sleep allows the sleep period and
wake times to be configured through the use of AT commands. The sleep mode is configurable
with the SM command.
In both pin and cyclic sleep modes, XBee end devices poll their parent while they are awake to
retrieve buffered data. When a poll request has been sent, the end device enables the receiver
until an acknowledgment is received from the parent. (It generally takes less than 10ms from the
time the poll request is sent until the acknowledgment is received.) The acknowledgment indicates
if the parent has buffered data for the end device child or not. If the acknowledgment indicates the
parent has pending data, the end device will leave the receiver on to receive the data. Otherwise,
the end device will turn off the receiver and enter idle mode (until the next poll request is sent) to
reduce current consumption (and improve battery life).
Once the module enters sleep mode, the On/Sleep pin (pin 13) is de-asserted (low) to indicate the
module is entering sleep mode. If CTS hardware flow control is enabled (D7 command), the CTS
pin (pin 12) is de-asserted (high) when entering sleep to indicate that serial data should not be
sent to the module. The module will not respond to serial or RF data when it is sleeping.
Applications that must communicate serially to sleeping end devices are encouraged to observe
CTS flow control.
When the XBee wakes from sleep, the On/Sleep pin is asserted (high), and if flow control is
enabled, the CTS pin is also asserted (low). If the module has not joined a network, it will scan all
SC channels after waking to try and find a valid network to join.
Pin Sleep
Pin sleep allows the module to sleep and wake according to the state of the Sleep_RQ pin (pin 9).
Pin sleep mode is enabled by setting the SM command to 1.
When Sleep_RQ is asserted (high), the module will finish any transmit or receive operations and
enter a low power state. For example, if the module has not joined a network and Sleep_RQ is
asserted (high), the module will sleep once the current join attempt completes (i.e. when scanning
for a valid network completes). The module will wake from pin sleep when the Sleep_RQ pin is de-
asserted (low).