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.

[参考译文] [TI CC2652]如果存在16条或更多间接待处理消息,信标响应将消失

Guru**** 2467520 points


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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1097623/ti-cc2652-beacon-response-disappear-if-16-or-more-indirect-pending-messages-are-present

嗨,Forum!
这是我在这里的第一个职位,所以如果我犯了任何错误,请忍受。
我正在TI CC2652上使用Zigbee实施。 我最多可以有64个设备与协调员相关联,另一个设备向协调员发送广播。 功能_非_信标_模式已设置。
如果有16条或更多待处理的间接信息,则装置不再响应广播,即不发送信标响应。 对于15条或更少的待处理间接消息,广播-信标响应工作正常。
MAC层中是否存在一些需要增加的限制? 或者我可以调整的任何其他设置?
非常感谢您提供任何信息!
提前感谢您!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    欢迎参加论坛!

    我已将您的信息通知我们的Zigbee专家。

    同时,我想您可以指定您正在使用的示例的SDK版本。

    此致,

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

    谢谢你,克莱门特!

    我正在使用TI SDK 3.40 (2019年12月23日发布)。

    此致,

    马丁

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

    您好,Martin,

    此帖子可能有帮助:  

    https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/26.6722万/z-stack-increase-number-of-indirect-messages-stored-on-coordinator

    您是否可以尝试增加这些数字(位于Nwk_globals.c中)?
    记下该文件中的其他注释。

    //数据缓冲区队列的最大值
    #define Nwk_MAX_DATABUS_WAY8 //等待发送到MAC
    #define Nwk_MAX_DATABUS_Scheduled 5 //要发送的定时消息
    #define Nwk_MAX_DATABUS_Confirmed 5 // MAC确认后保留
    #define Nwk_MAX_DATABUS_TOTAL 12 //缓冲区总数

    谢谢!
    Toby

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

    您好,Toby,

    感谢您的回复。

    很遗憾,我找不到您所指的定义。 在我的整个repo中使用grep时,我找不到任何设置,包括DATABUFS,Waiting,schedules等。我也没有Nwk_globals.c-file。

    我的SDK中是否缺少某些内容?

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

    感谢您的检查。

    此文件应存在于3.40 SDK的 C:3.40 SDK>\sources\ti\ZStack\Stack\Nwk\Nwk_globals.c中

    作为健全性检查,您是否可以尝试重新安装3.40 SDK?
    SIMPLELINK-CC13X2-26X2-SDK软件开发套件(SDK)| TI.com

    另外,您是否对使用3.40 SDK有特定的依赖性?
    如果不是,我可能会建议更新到最新的SDK (6.10)。

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

    您可以参阅以下屏幕截图以查找它们。 我可以确认它们存在于TI SDK 3.40 中

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

    谢谢Toby和YiKai,

    我的SDK似乎是拆分的,因此某些部分驻留在.git存储库中,而其余部分则驻留在本地构建服务器上,例如ZStack目录。 这就是为什么我没有找到它的原因。 我将详细说明上述参数,如果不起作用,请联系您。

    非常感谢您的支持!

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

    Toby,YiKai,您好!

    我似乎不是在使用ZStack实现,而是使用ti154stack实现,我很抱歉混淆了。

    我猜调整的相应定义是:
    #define MAC_CFG_TX_DATA_MAX        35
    #define MAC_CFG_TX_MAX             5.

    等待处理的间接讯息数遵循MAC_CFG_TX_DATA_MAX设置,最多34条。 我收到的待处理邮件不会超过34封。 此外,广播响应似乎与最多15条未决间接消息有关,无论我对上述定义有何设置。

    非常感谢您的创意!

    谢谢。

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

    感谢更新!

    是否还能确保MAC_CFG_TX_MAX > MAC_CFG_TX_DATA_MAX?

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

    谢谢你。

    是的,目前我有以下配置(问题的主要因素):

    /* maximum number of data frames in transmit queue */
    #ifndef MAC_CFG_TX_DATA_MAX
    #define MAC_CFG_TX_DATA_MAX         128
    #endif
    
    /* maximum number of frames of all types in transmit queue */
    #ifndef MAC_CFG_TX_MAX
    #define MAC_CFG_TX_MAX              255
    #endif
    

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

    嗯,正常。

    我已经联系了一位更熟悉15.4 堆栈的同事。

    请继续关注答案。

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

    你好,Martin,

    您是否可以尝试禁用NV_RESTORE预定义。

    您可以在 collector_CC26X2R1_LAUNCHXL_tirtos_CCS_syscfg/application/defines/collector.opts中找到此文件

    将-DNV_RESTORE替换为-DxNV_RESTORE

    重建项目,确保它是重建项目,而不仅仅是常规构建,否则更改不会应用。

    请尝试一下,并告诉我它是否有效。

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

    您好,AB:

    感谢您的回复。

    遗憾的是,禁用NV_RESTORE没有产生任何影响。 我将-DNV_RESTORE替换为-DxNV_RESTORE,CLEAN和BUID,我还在UART中添加了一个调试输出,我确认NV_RESTORE已被禁用

    #ifdef NV_RESTORE
        mbsLog_print0( MBS_LOG_SEV_INFO, "NV_RESTORE is defined");
    #else
        mbsLog_print0( MBS_LOG_SEV_INFO, "NV_RESTORE is not defined");
    #endif

    给出以下输出:

    NV_RESTORE未定义

    我的版本中似乎没有包含ti154stack中NV_restore有影响的文件。

    我有以下定义:

    -DAUTO_START
    -DxNV_RESTORE
    
    -DFREQ_2_4G
    -DAUTO_ACK
    -DAUTO_CSMA
    -DFEATURE_GREEN_POWER
    
    -DxPOWER_MEAS
    -DMAX_DEVICE_TABLE_ENTRIES=50
    -DTWO_PAGE_NV
    -DONE_PAGE_NV_FULL_HDR
    
    -DTI154STACK
    
    -DSTACK_LIBRARY
    -DOSAL_PORT2TIRTOS
    -DxFCS_TYPE16
    -DTIMAC_ROM_PATCH
    
    
    -DRCN_APP_ASSERT
    -DHAL_ASSERT_SPIN
    -DICALL_HOOK_ABORT_FUNC=halAssertHandler
    -DxPREAMBLE_COMPATIBILITY
    
    -DTIMAC_ROM_IMAGE_BUILD
    -DFEATURE_SYSTEM_STATS
    -DxSTATIC_MAC_SECURITY_DEFAULTS
    -DFEATURE_ENHANCED_ACK
    

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

    你好,Martin,

    让我更好地了解网络拓扑。

    广播公司的角色是什么?

    谁有间接待定消息?

    从/到谁是信息的来源?

    当广播者发送消息时,您对协调员有何期望?

    协调员是否在一段时间后恢复,或者是否停留在16个待处理的消息?

    此致,

    AB

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

    您好,AB:

    感谢您的回复。 我将尝试回答以下您的问题:

    广播公司的角色是什么?
       广播公司正在寻找附近地区的新协调员和现有协调员。 它可以连接到并管理协调员。
    谁有间接待定消息?
       协调员具有间接的待处理消息。
    从/到谁是信息的来源?
       间接待处理消息针对与协调员关联的设备(但不包括广播者)。 该系统设计为每个协调员最多容纳64个设备,即协调员最多可以容纳64条待处理的间接消息。
    当广播者发送消息时,您对协调员有何期望?
       协调员应对广播作出反应,即,不论待发间接信息的数量如何,都应对每一个广播请求作出广播反应。 这是当存在15条(或更少)间接待处理消息时的工作方式。
    协调员是否在一段时间后恢复,或者是否停留在16个待处理的消息?
       在某种程度上是可以的,但这要由设备决定,当设备签入协调员时,待处理消息的数量会减少。

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

    我正在与开发团队讨论此问题。

    我会在收到更多信息后立即通知您。

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

    感谢您的更新,AB。

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

    你好,Martin,  

    同时,是否可以更新到最新的SDK 6.10 ?

    3.40 和6.10 之间有超过2年的改进,您可以从中受益并可能解决此问题。

    我们仍在研究这一问题,但这将对我们有所帮助。

    谢谢!

    AB

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

    我为您准备了几个后续步骤。

    尝试以下操作:

    1. 首先尝试总共32个传感器节点以查看其是否正常工作。
    2. 从CCS调试中,在“表达式”窗口中查看变量macData,并向我们发送屏幕截图。

    此致,

    AB

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

    您好,AB:

    谢谢你。 我只尝试了16个传感器节点,不幸的是,它的失败方式与前面描述的相同。

    监控macData并不是那么容易,因为它是ROM地址中的#define。 我将研究这个问题,并可能在下周与您再次进行讨论。
    同时,我还在考虑升级到6.10 的可能性。

    再次感谢您的支持!

    此致,

    马丁