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.

[参考译文] CC2652P:如何读取 NWK 帧计数器?

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1018498/cc2652p-how-to-read-the-nwk-frame-counter

器件型号:CC2652P

客户希望读取 NWK 帧计数器以备份网络信息。 我查看了这些示例、发现它存储在 NVID ZCD_NV_EX_NWK_SEC_materie_table 中。 我的问题是、如果 Nwk 帧计数器在每次递增时写入 NV? 我能否通过读取应用程序中的 NVID 来获取帧计数器?

BR、

水阳

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

    您好、Shuyang、

    您的想法是正确的、因为 ZDUApp_SaveNwkKey 使用每个 ZDO_FRAMECOUNTER_CHANGE 事件上的帧计数器更新了 ZCD_NV_EX_NWK_SEC_COMPARE_TABLE。   在 保护/取消保护 NWK 层数据包的同时、通常会设置 ZDO_FRAMECOUNTER_CHANGE。  在  ZDUP_RestoreNWKSecMaterial 期间、帧计数器按 MAX_NWK_FRAMECOUNTER_Changes + NWK_FRAMECOUNTER_Changes_RESTORE_Delta 递增、以应对非易失性存储器在系统复位前可能未立即更新的情况、因此需要进行补偿以确保其在复位前不使用比其复位前更低的帧计数器值。  有关保存/备份网络信息、请参阅 SWRA671。

    此致、
    Ryan

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

    您好、Ryan、

    "ZDO_FRAMECOUNTER_CHANGE 最常在保护/取消保护 NWK 层数据包的同时进行设置。"

    堆栈是否 自动设置 ZDO_FRAMECOUNTER_CHANGE? 我尝试在  ZDApp_ProcessSecEvent()中的 case event == ZDO_FRAMECOUNTER_CHANGE 处设置断点,并发现它在网络形成期间仅触发一次。

    如何监控 Nwk 帧计数器的每次递增?

    BR、

    水阳

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

    您好、Shuyang、

    ZDO_FRAMECOUNTER_CHANGE 不会自动发生、但您可能需要等待 MAX_NWK_FRAMECOUNTER_CHANGE 数据包才能保存到 NV。  在每次帧计数器变化时、保存到 nV 是不合理的。  您可以使用 SSP_ReadNWKActiveKey 获取 nwkActiveKeyItems-> 帧计数器以获取最新值。

    此致、
    Ryan