《zigbee网络建立过程简介(G1).doc》由会员分享,可在线阅读,更多相关《zigbee网络建立过程简介(G1).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、星形网络和树型网络可以看成是网状网络的一个特殊子集,所以接下来分析如何组建一个Zigbee网状网络。组建一个完整的Zigbee网络分为两步:第一步是协调器初始化一个网络;第二步是路由器或终端加入网络。加入网络又有两种方法,一种是子设备通过使用MAC层的连接进程加入网络,另一种是子设备通过与一个先前指定的父设备直接加入网络。 一、 协调器初始化网络协调器建立一个新网络的流程如图1所示。图1 协调器建立一个新网络1、 检测协调器建立一个新的网络是通过原语NLME_NETWORK_FORMATION.request发起的,但发起NLME_NETWORK_FORMATION.request原语的节点必
2、须具备两个条件,一是这个节点具有ZigBee协调器功能,二是这个节点没有加入到其它网络中。任何不满足这两个条件的节点发起建立一个新网络的进程都会被网络层管理实体终止,网络层管理实体将通过参数值为INVALID_REQUEST的NLME_NETWORK_FORMATION.confirm的原语来通知上层这是一个非法请求。2、 信道扫描协调器发起建立一个新网络的进程后,网络层管理实体将请求MAC子层对信道进行扫描。信道扫描包括能量扫描和主动扫描两个过程。首先对用户指定的信道或物理层所有默认的信道进行一个能量扫描,以排除干扰。网络层管理实体将根据信道能量测量值对信道进行一个递增排序,并且抛弃能量值超
3、过了可允许能量值的信道,保留可允许能量值内的信道等待进一步处理。接着在可允许能量值内的信道执行主动扫描,网络层管理实体通过审查返回的PAN描述符列表,确定一个用于建立新网络的信道,该信道中现有的网络数目是最少的,网络层管理实体将优先选择没有网络的信道。如果没有扫描到一个合适的信道,进程将被终止,网络层管理实体通过参数仠为STARTUP_FAILURE的NLME_NETWORK_FORMATION.confirm的原语来通知上层初始化启动网络失败。3、配置网络参数如果扫描到一个合适的信道,网络层管理实体将为新网络选择一个PAN描述符,该PAN描述符可以是由设备随机选择的,也可以是在NLME_NE
4、TWORK_FORMATION.request里指定的,但必须满足PAN描述符小于或等于0x3fff,不等于0xffff,并且在所选信道内是唯一的PAN描述符,没有任何其它PAN描述符与之是重复的。如果没有符合条件的PAN描述符可选择,进程将被终止,网络层管理实体通过参数值为STARTUP_FAILURE的NLME_NETWORK_FORMATION.confirm的原语来通知上层初始化启动网络失败。确定好PAN描述符后,网络层管理实体为协调器选择16位网络地址0x0000,MAC子层的macPANID参数将被设置为PAN描述符的值,macShortAddress PIB参数设置为协调器的网络
5、地址。4、运行新网络网络参数配置好后,网络层管理实体通过MLME_START.request原语通知MAC层启动并运行新网络,启动状态通过MLME_START.confirm原语通知网络层,网络层管理实体再通过NLME_NETWORK_FORMATION.confirm原语通知上层协调器初始化的状态。5、允许设备加入网络只有ZigBee协调器或路由器才能通过NLME_PERMIT_JOINING.request原语来设置节点处于允许设备加入网络的状态。当发起这个进程时,如果PermitDuration参数值为0x00,网络层管理实体将通过MLME_SET.request原语把MAC层的macA
6、ssociationPermit PIB属性设置为FALSE,禁止节点处于允许设备加入网络的状态;如果PermitDuration参数值介于0x01和0xfe之间,网络层管理实体将通过MLME_SET.request原语把macAssociationPermit PIB属性设置为TRUE,并开启一个定时器,定时时间为PermitDuration,在这段时间内节点处于允许设备加入网络的状态,定时时间结束,网络层管理实体把MAC层的macAssociationPermit PIB属性设置为FALSE;如果PermitDuration参数的值为0xff,网络层管理实体将通过MLME_SET.requ
7、est原语把macAssociationPermit PIB属性设置为TRUE,表示节点无限期处于允许设备加入网络的状态,除非有另外一个NLME_PERMIT_JOINING.request原语被发出。允许设备加入网络的流程如图2所示。图2 允许设备加入网络通过以上流程协调器就建立了一个网络并处于允许设备加入网络的状态,然后等待其它节点加入网络。二、 节点加入网络一个节点加入网络有两种方法,一种是通过使用MAC层关联进程加入网络,另一种是通过与先前指定父节点连接而加入网络。1) 通过MAC层关联加入网络子节点请求通过MAC关联加入网络进程如图3所示。父节点响应通过MAC关联加入网络进程如图4所
8、示。1、 子节点发起信道扫描子节点通过NLME_NETWORK_DISCOVERY.request原语发起加入网络的进程,网络层接收到这个原语后通过发起MLME_SCAN.request原语请求MAC层执行一个主动扫描或被动扫描以接收包含了PAN标志符的信标帧,扫描的信道以及每个信道的扫描时间分别由NLME_NETWORK_DISCOVERY.request原语的参数ScanChannels和ScanDuration决定。2、 子节点存储各PAN信息MAC层通过MLME_BEACONNOTIFY.indication原语将扫描中接收到的信标帧信息发送到网络层管理实体,信标帧信息包括信标设备的地
9、址、是否允许连接以及信标净载荷。如果信标净载荷域里的协议ID域与自己的协议ID相同,子设备就将每个匹配的信标帧相关信息保存在邻居表中。信道扫描完成后,MAC层通过MLME_SCAN.confirm原语通知网络层管理实体,网络层再通过NLME_NETWORK_DISCOVERY.confirm原语通知上层,该原语包含了每个扫描到的网络的描述符,以便上层选择一个网络加入。3、 子节点选择PAN如果上层需要发现更多网络,则可以重新执行网络发现,如果不需要,则通过NLME_JOIN.request原语从被扫描到的网络中选择一个网络加入。参数PANID设置为被选择网络的PAN标识符。4、 子节点选择父节
10、点一个合适的父节点需要满足三个条件:匹配的PAN标志符、链路成本最大为3、允许连接,为了寻找合适的父节点,NLME_JOIN.request原语请求网络层搜索它的邻居表,如果邻居表中不存在这样的父节点则通知上层,如果存在多个合适的父节点则选择具有最小深度的父节点,如果存在多个具有最小深度的合适的父节点则随机选择一个父节点。5、 子节点请求MAC关联确定好合适的父节点后,网络层管理实体发送一个MLME_ASSOCIATE.request原语到MAC层,地址参数设置为已选择的父节点的地址,尝试通过父节点加入网络。6、 父节点响应MAC关联父节点通过MLME_ASSOCIATE.indication
11、原语通知网络层管理实体一个节点正尝试加入网络,网络层管理实体将搜索它的邻居表查看是否有一个与尝试加入节点相匹配的64位扩展地址,以便确定该节点是否已经存在于它的网络中了。如果有匹配的扩展地址,网络层管理实体获取相应的16位网络地址并发送一个连接响应到MAC层。如果没有匹配的扩展地址,在父节点的地址分配空间还没耗尽的条件下网络层管理实体将为尝试加入的节点分配一个16位网络地址。如果父节点地址分配空间耗尽,将拒绝节点加入请求。当同意节点加入网络的请求后,父节点网络层管理实体将使用加入节点的信息在邻居表中产生一个新的项,并通过MLME_ASSOCIATE.response原语通知MAC层连接成功。7
12、、 子节点响应连接成功如果子节点接收到父节点发送的连接成功信息,发送一个传输成功响应信息以确认接收,然后子节点MAC层将通过MLME_ASSOCIATE.confirm原语通知网络层,原语包含了父节点为子节点分配的网内唯一的16位网络地址,然后网络层管理实体设置邻居表相应邻居设备为它的父设备,并通过NLME_JOIN.confirm原语通知上层节点成功加入网络。8、 父节点响应连接成功父节点接收到子节点的传输成功响应信息后,将通过MLME_COMM_STATUS.indication原语将传输成功的响应状态发送给网络层,网络层管理实体通过NLME_JOIN.indication原语通知上层一个
13、节点已经加入了网络。图3 子节点请求加入网络进程图4 父节点响应加入网络进程2) 通过与先前指定父节点连接加入网络子节点通过与指定的父节点直接连接加入网络,这个时候父节点预先配置了子节点的64位扩展地址。父节点处理一个直接加入网络的进程如图5所示。子节点通过孤立方式加入网络进程如图6所示。1、 父节点处理子设备直接加入网络父节点通过NLME_DIRECT_JOIN.request原语开始处理一个设备直接加入网络的进程。父节点网络层管理实体将首先搜索它的邻居表查看是否存在一个与子节点相匹配的64位扩展地址,以便确定该节点是否已经存在于它的网络中了。如果存在匹配的扩展地址,网络层管理实体将终止这个
14、进程并告诉上层该设备已经存在于设备列表中了。如果不存在匹配的扩展地址,在父节点的地址分配空间还没耗尽的条件下网络层管理实体将为子节点分配一个16位网络地址,并使用子节点的信息在邻居表中产生一个新的项。然后通过NLME_DIRECT_JOIN.confirm原语上层设备已经加入网络。2、 子节点连接父节点确认父子关系子节点通过NLME_JOIN.request原语发起孤立扫描来建立它与父节点之间的关系。这时网络层管理实体将通过MLME_SCAN.request请求MAC层对物理层所默认的所有信道进行孤立扫描,如果扫描到父设备,MAC层通过MLME_SCAN.confirm原语通知网络层,网络层管
15、理实体再通过NLME_JOIN.confirm原语通知上层节点请求加入成功,即与父节点建立了父子关系,可以互相通信。图5 父节点处理一个直接加入网络进程图6 子节点通过孤立方式加入网络进程设备的MAC 层向上层发送MLME-ORPHAN.indication 原语告知一个孤立设备的存在。只有ZigBee 协调器或ZigBee 路由器才可以接受MLME-ORPHAN.indication 原语,其他设备收到MLME-ORPHAN.indication 原语时NLME 将中止该过程。ZigBee 协调器或ZigBee路由器收到MLME-ORPHAN.indication 原语后,首先判断孤立设备是
16、否是它的子设备。这个判断过程是通过比较孤立设备与近邻表中子设备的扩展地址来实现的。如果ZigBee 协调器或ZigBee 路由器发现孤立设备是它的子设备,NLME 将获取该子设备的16 位网络地址并通过孤立响应发送给MAC 子层。孤立响应时通过向MAC 层发送MLME-ORPHAN.response原语来实现的,孤立响应命令向子设备传送的结果状态通过MLME-COMMSTATUS.indication 原语反馈给NLME。如果ZigBee 协调器或ZigBee 路由器发现孤立设备不是它的子设备,NLME 就通过孤立响应原语把这一情况反映给MAC 层。下图是父设备把孤立的子设备加入或重新加入到网
17、络过程的信息流程。图7父设备把孤立的子设备加入或重新加入到网络6型 网可网重入备孤网设状程程的的网加新特备的立父,图 接反一把分响过如 设不个设孤 器 或 网。 。给原 个 完. - 通果送子向分立孤两现 第 是 调发 向通化立。个 应立第过络步网的子获器 终设子设入孤器 。 或调 又 现两来扩方设表近立种比是过设个设它过是设判首 原 的 连 加到由网 器另协 是。中将 原过 与 .先 定到备,设原 加. - 。接才由 或协 。的设一语 发上 进网加孤点进网接直点父信相可系父点与,加点层语 再实络层网原 过通 备扫,扫行有认层对 求 过将管网这的点与建扫孤发 过关关点接节络络经设原 后。新产中
18、息的用,地 个分子实管下条尽间址地父地的在果。中于经已层告进这实层网地扩存如络它在已是定以地位的点与在存表的搜首理络节。络加备一始语 _ 通网网直理点示所程网加孤通子 如的入个理节址位 点了预节这,加直点指通网加点定指与进络应节进网入节络了经点个知 _ 过理层网给态状成输原 过,信响传点收成成应络络成节通 _ 过备的备设应置设层络,网 的内点为父包原网知 通 子然收息应功传,信连发节接点成连点节功成 原 通新生产邻信节使将管点,后网加意。入点,间配址果。网位配节加尝实层下的尽间分点在,的匹如层到应连并络 的取实管,扩配如了的在已是定以址扩的匹节尝与否表邻搜体层,入尝节个理层通 . 关 应节络网
19、节父,的父选为数, 到 . _ 送实络,父的关关求节点节择随点适合小具在如节的最具节适个存层通节样存中果表的索网请 . 节适找,连、最路符标的:条足需节节父节符标 络被为 数参络择中到扫原 . _ 则不果现执重则网发需 择节子入加一层上述络的个含语层知 _ _ 层,理层网 通 完信中在存相信匹个备子 的己 协荷净如。标接允是地设信息信实络送信信收描将 过通信 储点定 和 数 _ 由间描的每道扫标的标了收以被扫个执 求 ._ 发通语收层网的入语原 _ 过扫信点示 程络加 响。所程网加 过点网网关 通络入接点指先过另络加关 用通种种两网节网入络入节其后,络入设处个了就协以网加备示 程络加设出被原
20、. _ 一有除的入设许限节, 置属 语 _ 通实管, 为参 置属 层把实络束间时态网备于节时在 为,器个, 置属 原 通体层,之000数 ;的网设许节禁 为置属 层 语 . 通将管络 值 果程这发状络备允点置来 过由路 网加许态的化调知原 . _ 再理络,网通 通状络新启 通 过实层络后数网行址络器调设参 ,符 为被参 子,0 络 择调体层网述 败网动初通原 . 为数体理络终程择可 条有。的之描 何没述 一内信在 0, 等于述 必,里 . _ 在也的随是可述 述 个选新体层络的合到参网败络启化知来 _的 数通理管,被,信个一有。的络没先理层的最目网中,的新于用定列 回审理络,动道的量允接处一待的量允保的量许过量且,递一进量量道体理网干除描能进道认层或定户首过描动描能扫。扫信子 请实管,的络立发扫信求法个层通语 . 的 _ 数将体层网实层被都络个立点件两足不络其到没这是器协 有点是,个须节的 但起发 _ 原过的新调测网新立协示 程络个建网化初