Every node in a Zigbee network has its own unique 64-bit IEEE MAC address. When a node
joins the network for the first time, the end device/router initiates the MAC
association procedure, after which, it obtains a 16-bit network (short) address from the
parent. For further communication in the network, this short address is used to reduce
frame overhead. Use a configuration parameter, IEEE MAC address to set the value of the
64-bit MAC address of the node during compilation. The following conditions prevail:
Setting IEEE MAC
address for testing – Any random 64-bit value can be set at compile
time in application configuration files or at run-time before calling the
Application Programming Interface (API) to start the network request via
ZDP.
Setting IEEE MAC
address during production – Commercial use of the Zigbee products requires the purchase of a block
of IEEE/MAC addresses from IEEE. In this case, IEEE MAC address
can be set to zero during compile-time.
When a node starts up, it does network discovery by performing an active scan over the
channels specified in the list of channels configured at the Zigbee stack parameter configuration files or at application level. The node
sends the Beacon Request (see packet #1) (see the
following figure). After receiving a Beacon Request frame, the routers
and coordinators already present in the network automatically respond with a beacon
frame. The joining node filters a potential parent based on the settings in the beacon
packet received.Figure 5-2. Node Joins Network via MAC
Association using IEEE Address 0xdeeb1ULL
The beacon from the coordinator/router contains the Association Permit
sub field. It is set to True if the device accepts the association to
the Personal Area Network (PAN). A joining node cannot associate to the device if this
sub-field is set to False. The PERMIT DURATION
parameter in the Zigbee application controls the joining
of devices into the network by setting a finite permit duration.Figure 5-3. assocPermit Sub-Field in the
Beacon Frame
For example, the following figure illustrates the parsed beacon payload that contains
information based on which joining node chooses a potential parent.
The beacon payload provides information on the Zigbee stack profile used in the network
(Stack Profile: ZigBee PRO = 0x2), network protocol version
(nwkcProtocolVersion, 0x02). The Router
Capacity, End Device Capacity and Device
Depth limits the acceptance of children by a parent node. For more details,
refer to the Zigbee Specification Revision 22 1.0 (05-3474-22).Figure 5-4. Beacon Payload
The following figure illustrates a joining device indicating its capability information
in the MAC Association Request it sends to its potential parent.Figure 5-5. Capability Information in a
MAC Association Request