5.2 MAC Association
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.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.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).The following figure illustrates a joining device indicating its capability information
in the MAC
Association Request
it sends to its potential parent.