微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 已入网 的 路由设备 断电后重新启动 疑问。。。。?

已入网 的 路由设备 断电后重新启动 疑问。。。。?

时间:10-02 整理:3721RD 点击:

以下讨论的内容,设备均是开启NV_RESTORE。

1. 已入网的终端设备,断电后重启时,会发orphan notification 然后如果没有收到父节点 的coordinator relegatment ,就会进入rejoin  发beacon request。

2. 但是已入网的路由设备却不会。    经过debug 观察它的 流程 如下:

    前期 ZDApp_Init()--->ZDOInitDevice()===>ZDApp_RestoreNetworkState--->  从而读取出startMode   是 MODE_RESUME

    进入ZDO_StartDevice() 函数后 执行 nwk_ScanJoiningOrphan(&scanCnf); 但是抓包软件并没有抓到 orphan notification

    if ( ZG_BUILD_JOINING_TYPE && (logicalType == NODETYPE_ROUTER || logicalType == NODETYPE_DEVICE) )

    {

        ...

      else if ( startMode == MODE_RESUME )
      {
      if ( logicalType == NODETYPE_ROUTER )
      {//路由设备
        ZMacScanCnf_t scanCnf;
        ZDApp_ChangeState( DEV_NWK_ORPHAN );

        /* if router and nvram is available, fake successful orphan scan */
        scanCnf.hdr.Status = ZSUCCESS;
        scanCnf.ScanType = ZMAC_ORPHAN_SCAN;
        scanCnf.UnscannedChannels = 0;
        scanCnf.ResultListSize = 0;
        nwk_ScanJoiningOrphan(&scanCnf);

        ret = ZSuccess;
      }

    }

      而且之后  路由 也不发rejoin request~~~~~

请问这是为什么, 哪里将其切换了?

      

路由设备除了第一入网请求发送beacon request,入网后是不会再发送beacon request ,和协调器一样有维护网络的功能,

即便此路由器的父节点断电离线,它自己就可以维护网络,发送link 帧,默认15秒一次

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top