This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2652R:器件初始化/启动时间过长

Guru**** 2390755 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1215285/cc2652r-device-taking-too-long-to-initialize-start-up

器件型号:CC2652R

大家好

我们在器件初始化方面进行了更多的比较

1. DMM 项目(在资源浏览器中)花费了大约300-500ms、并且随着添加更多组以线性方式增加
2.我的定制项目需要1600-2000ms 的时间来初始化,并随着添加更多的组线性增加。
3.定制工程具有自定义.opts 设置、因此在 DMM 工程上应用了相同的设置、然后再次观察到初始化延迟为大约1500 - 2000ms

重新启动之间的延迟有所不同。
请您提出哪些可能会影响初始化的问题以及任何优化建议。

谢谢
Akhilesh

下面列出了其他.opts 更改

-DNVOCMP_NVPAGES=4

-db_network_formation_capacity_enabled=0
-db_finding_binding_capacity_enabled=0
-DDISABLE_GREENPOWER_BASIC 代理=1
-DSECURE=1
-DTC_LINKKEY_JOIN=1
-DMULTICast_enabled=false
-DZDNWKMGR_MIN_TRANSMISION=0  

-DAPS_MAX_GROUPS=100

-DBCAST_DELIVE_TIME=30
-DMAX_BCAST=30
-DMAX_BCAST_RETRESS=2
-DPASSIVE_ACK_TIMEOUT=5

-DMX_RTG_entry=200
-DROUTE_expirate_time=255
-DDEFAULT_route_request_RADIUS=25
-DMX_RREQ_entry=20
-dmto_rreq_limit_time=5000
-DMX_neighbor_ents=200

-DLINK_DOWN_TRIGGER=12
-DNWK_LINK_STATUS_PERIOD=60
-DNWK_ROUT_AGE_LIMIT=15   

-DNWK_MAX_BINING_ENTRINTS=1
-DNWK_MAX_DEVICE_LIST=100
-DNWK_INDIRECT _ MSG_TIMEOUT=7

-DAPSC_ACK_WAIT_DURATION_POLLed=2000

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    链接了不正确的相关帖子。
    这是正确的相关帖子

    e2e.ti.com/.../cc2652p-devices-takes-too-much-time-to-initialize-into-the-network-or-during-groupcasts

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Akhilesh:

    感谢您提供相关帖子的链接。  增加  NWK_MAX_DEVICE_LIST 和 APS_MAX_GROUP 也会增加关联和组表的数量、这些表在重新启动设备时必须从 NV 存储器检查和恢复。  考虑到这些限制以及当前的 NV 实现、预计会造成您观察到的延迟。  您可以尝试按照 Aries 在上一个线程中的建议实施 Hot NV 项目,或者进一步评估 nvocmp.c 文件中的不同 NVOCMP_FAST*定义配置。

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ryan、

    感谢提供输入、将尝试使用 HOT NV 以及 NVOCMP_FAST 和更新。

    另外、对于路由器、NWK_MAX_DEVICE_LIST 指的是终端设备子设备。 这些时间是否会受到影响,即使没有儿童?

    谢谢
    Akhilesh

    供参考:
    您可以尝试修复"nvocmp.c"以支持"Hot NV"。
    2262.nvocmp.c.
    7608.nvocmp_hot_ids.h

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是正确的,即使子项未连接,也会初始化每个条目,因此总体启动时间会受到影响。  另一个我尚未确定的关键定义是 ZDSECMGR_TC_DEVICE_MAX (仅适用于 ZC)、它应该描述设备总数、根据 APS 密钥、信任中心可以允许加入网络。  您还应该大大减少  MAX_SHIFTER_ENTRIES、因为设备不可能让这么多的邻居与子节点相邻。

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ryan、

    以上设置是我们对路由器使用的设置。 具有下面的共享 ZNP 设置。
    我们使用的终端设备非常少、因此将 NWK_MAX_DEVICE_LIST 减少为较低的路由器值对我们来说是安全的。 这是否也是在调试期间?

    MAX_NEIGBOUR_ENTRIES 有什么影响,我知道它影响群播重试行为和链接状态,有没有进一步的影响?

    除上述问题外、我们测试了热点项目、并将时间缩短了近50%、这对我们非常有用。 非常感谢您的建议

    谢谢
    Akhilesh

    ZNP 设置(除了默认选项),请也建议对这些设置进行任何更改

    #define include_revision_information
    #define MT_SYS_KEY_MANAGEMENT 1.
    #define FEATURE_NVEXID 1.

    //保存内存
    #undef NWK_MAX_BINING_ENTRIES
    #define NWK_MAX_BINING_ENTRIES 1.
    #undef APS_MAX_GROUGS
    #define APS_MAX_GROUP 1.

    //将 NV 页数增加至3以允许使用较大的设备表
    #UNDEF NVOCMP_NVPAGES
    #define NVOCMP_NVPAGES 3.

    //为获得正确的组支持,需要禁用多播。
    //如果未禁用多播,则组地址不包含在 APS 标头中
    #define MULTICAST_ENABLED FALSE

    //增加最大板播数量,默认广播交付时间为3秒
    //如果值低于此值,则将允许每0.15秒进行1次广播
    30章我是谁

    /**
     *启用 MTO 路由
     */
    #define concentrator_enable true
    250章我是你的
    #define concentrator_route_cache true
    #define MTO_RREQ_LIMIT_TIME 5000
    #define MAX_RTG_SRC_ENTRIES 200
    #define SRC_RTG_EXPIRATION_TIME 0
    #define route_expirate_time 0

    /**
     *适当缩放其他设备表
     */
    #define NWK_MAX_DEVICE_LIST 100
    #define ZDSECMGR_TC_DEVICE_MAX 200
    #define MAX_ALITER_ENTRIES 100
    #define MAX_RTG_ENTRIES 100

    //网络链路状态重复间隔
    #define NWK_LINK_STATUS_PERIOD 60.

    //将邻居标记为非活动之前的失败消息数
    #define LINK_DOWN_TRIGGER 12.

    //标出邻居的邻居表非常不稳定
    #define NWK_ROAD_AGE_LIMIT 15.

    //需要调整路由请求半径,以限制最坏情况下的发现风暴
    #define default_route_request_RADIUS 15.

    //禁用频率灵活性
    #define ZDNWKMGR_MIN_TRANSITIONS 0

    /**
     *将 APS ACK 等待持续时间从6000ms 减少至1000ms (值* 2=以 ms 为单位的值)。
     *这将使请求超时更快,在实践中默认超时6000ms 太长。
     */
    #define APSC_ACK_WAIT_DURATION_POLED 500

    #define DEF_NWK_RADIUS 15.
    #define route_discovery_time 13.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    NWK_MAX_DEVICE_LIST 是可加入 节点的关联器件(终端器件)的数量

    Max_neighbor_entries 是 可以与节点通信的直接路由设备(路由器)数量

    协调器和路由器节点不必各具有100个子节点和100个路由邻居、 假设其他路由器可以是终端设备子设备的父路由器、那么路由器不必彼此直接通信、而是可以通过其他路由器间接发送消息。  这些值可能会大大降低。

    此致、
    Ryan