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.

[参考译文] CC2652R7:EnergyTrace 和无线电开/关控制

Guru**** 2461110 points
Other Parts Discussed in Thread: CC2652R7, ENERGYTRACE

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1239824/cc2652r7-energytrace-and-radio-on-off-control

器件型号:CC2652R7
主题中讨论的其他器件: ENERGYTRACE

大家好!

我正在使用 CC2652R7 LaunchPad、我在下面定义了一个称为"configureSED ()"的函数、该函数将休眠终端设备的数据轮询周期设置为每10秒一次。

然后、我在 CCS 中使用 EnergyTrace、下面是捕获的持续时间为60秒的数据的屏幕截图。
现在无线电打开大约14秒,然后在24秒等...

现在在无线电开启之间、存在大约4.6mA 的恒定电流消耗尖峰。

Question:
1.我读到仍需要一个功率分析仪来获得一个精确的流耗读数。 这些时间间隔之间的这一电流消耗与板载 Energy Trace 电路或者可能运行无线电等任务的 MCU 相关、而 MCU 可能会消耗这一电流。

2.在这些时间间隔内,我可以向 CoAP 服务器发送 CoAP 消息。
这是怎么可能的? 是否应关闭无线电? 我读取了哪些标志、以便在无线电关闭或开启时查看。

3.如何确定对讲机可以打开多长时间? 我对这一问题有些不清楚。

//休眠终端设备设置
void configureSED (uint32_t aPollPeriod)
{
   otError 错误;

   otLinkModeConfig 链接模式;
   LinkMode.mDeviceType   = 0;   // MTD
   LinkMode.mNetworkData  = 1;   //网络数据
   LinkMode.mRxOnWhenIdle = 0;   // SED

   错误= otThreadSetLinkMode (OtInstance_Get ()、LinkMode);
   if (error!= ot_error_none)
   {
       //错误句柄
   }

   错误= otLinkSetPollPeriod (OtInstance_Get ()、aPollPeriod);
   if (error!= ot_error_none)
   {
       //错误句柄:轮询周期无效
   }

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

    您好!

    现在在对讲机开启之间,恒定电流消耗尖峰约为4.6mA。
    Unknown 说:
    1. 我得知、仍需要功率分析仪才能获得精确的电流消耗读数。 这些时间间隔之间的这一电流消耗与板载 Energy Trace 电路或可能运行无线电等任务的 MCU 相关、而 MCU 可能会消耗这一电流。

    这些可能是来自片上 DCDC 的脉冲、这是预期行为。
    如需了解更多详细信息、请参阅此处、了解使用类似 DCDC 的器件: https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/601988/cc1310-short-bursts-of-current-consumption-in-standby-mode

    您看到的稳定电流(在1.1mA 和1.7mA 之间)可能来自电路板的调试器侧。
    您是否可以尝试移除除3V3和 GND 以外的所有跳线?
    与此处显示的内容类似: https://dev.ti.com/tirex/content/simplelink_cc13xx_cc26xx_sdk_7_10_00_98/docs/thread/html/energy-trace/energy-trace.html#id15 

    Unknown 说:
    2. 在这些时间间隔内、我能够向 CoAP 服务器发送 CoAP 消息。
    这是怎么可能的? 是否应关闭无线电? 我读取了哪些标志以查看对讲机何时关闭或打开。

    当您的应用调用函数来发送 CoAP 消息时、该函数将启动正确的步骤序列来设置无线电、然后传输数据包。

    要在 Thread 上下文中检查无线电状态、您可以在 radio.c/h 中检查此变量/枚举:

    /* state of the RF interface */
    static volatile platformRadio_phyState sState;
    typedef enum platformRadio_phyState
    {
        platformRadio_phyState_Disabled = 0,
        platformRadio_phyState_Sleep,
        platformRadio_phyState_Receive,
        platformRadio_phyState_EdScan,
        platformRadio_phyState_Transmit,
    } platformRadio_phyState;

    Unknown 说:
    3. 如何确定对讲机可以打开多长时间? 我对这件事有点不清楚。

    无线电可以在其"控制器"决定的时间内打开。 在这种情况下、控制器是 OpenThread 堆栈(即应用永远不必与 无线电直接连接-它将始终调用正确的 API (例如用于发送 CoAP 消息)。

    对于 SED、通常需要低功耗、因此 OpenThread 堆栈将使无线电开启时间保持最短。

    谢谢。
    托比