协调器建立一个新网络的流程如图13-1所示。
图13-1 协调器建立一个新网络
1.检测协调器
建立一个新的网络是通过原语NLME_NETWORK_FORMATION.request发起的,但发起NLME_NETWORK_FORMATION.request原语的节点必须具备两个条件:一是这个节点具有ZigBee协调器功能;二是这个节点没有加入其他网络。任何不满足这两个条件的节点发起建立一个新网络的进程都会被网络层管理实体终止。网络层管理实体将通过参数值为INVALID_REQUEST的原语NLME_NETWORK_FORMATION.confirm来通知上层这是一个非法请求。
2.信道扫描
协调器发起建立一个新网络的进程后,网络层管理实体将请求MAC子层对信道进行扫描。信道扫描包括能量扫描和主动扫描两个过程。首先对用户指定的信道或物理层所有默认的信道进行一个能量扫描,以排除干扰。网络层管理实体将根据信道能量测量值对信道进行一个递增排序,并且抛弃能量值超过允许能量值的信道,保留在允许能量值内的信道,等待进一步处理。接着在允许能量值内的信道执行主动扫描,网络层管理实体通过审查返回的PAN描述符列表,确定一个用于建立新网络的信道,该信道中现有的网络数目是最少的,网络层管理实体将优先选择没有网络的信道。如果没有扫描到一个合适的信道,进程将被终止,网络层管理实体通过参数为STARTUP_FAILURE的原语NLME_NETWORK_FORMATION.confirm来通知上层初始化启动网络失败。
3.配置网络参数
如果扫描到一个合适的信道,网络层管理实体将为新网络选择一个PAN描述符,该PAN描述符可以是由设备随机选择的,也可以是在NLME_NETWORK_FORMATION.request里指定的,但必须满足小于或等于0x3FFF、不等于0xFFFF的条件,并且在所选信道内是唯一的PAN描述符,不与其他PAN描述符重复。如果没有符合条件的PAN描述符可选择,进程将被终止。网络层管理实体通过参数值为STARTUP_FAILURE的原语NLME_NETWORK_FORMATION.confirm来通知上层初始化启动网络失败。确定好PAN描述符后,网络层管理实体为协调器选择16位网络地址0x0000,MAC子层的macPANID参数将被设置为PAN描述符的值,macShortAddress PIB参数设置为协调器的网络地址。(www.xing528.com)
4.运行新网络
网络参数配置好后,网络层管理实体通过MLME_START.request原语通知MAC层启动并运行新网络,启动状态通过MLME_START.confirm原语通知网络层,网络层管理实体再通过NLME_NETWORK_FORMATION.confirm原语通知上层协调器初始化的状态。
5.允许设备加入网络
只有ZigBee协调器或路由器才能通过NLME_PERMIT_JOINING.request原语来设置节点处于允许设备加入网络的状态。当发起这个进程时,如果PermitDuration参数值为0x00,网络层管理实体将通过MLME_SET.request原语把MAC层的macAssociationPermit PIB属性设置为FALSE,禁止节点处于允许设备加入网络的状态。如果PermitDuration参数值介于0x01和0xFE之间,网络层管理实体将通过MLME_SET.request原语把macAssociationPermit PIB属性设置为TRUE,并开启一个定时器,定时时间为PermitDuration,在这段时间内节点处于允许设备加入网络的状态。定时时间结束,网络层管理实体把MAC层的macAssociationPermit PIB属性设置为FALSE。如果PermitDuration参数的值为0xFF,网络层管理实体将通过MLME_SET.request原语把macAssociationPermit PIB属性设置为TRUE,表示节点无限期处于允许设备加入网络的状态,除非有另外一个NLME_PERMIT_JOINING.request原语被发出。允许设备加入网络的流程如图13-2所示。
图13-2 允许设备加入网络
通过以上流程,协调器就建立了一个网络并处于允许设备加入网络的状态,然后等待其他节点加入网络。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。