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.

[参考译文] CC2652RB:对额外电流消耗感到困惑

Guru**** 2542270 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1013719/cc2652rb-confused-about-extra-current-draw

器件型号:CC2652RB

我使用下面的代码将两个广播的广播间隔设置为10Hz。 但是、我仍在观察1Hz 下的电流消耗。 我想知道是否有广播以外的任何电源/无线服务将以1Hz 的频率运行?

if (esloSettings[Set_AdvLong] != *(esloSettingsNew + Set_AdvLong)) {
	esloSettings[Set_AdvLong] = *(esloSettingsNew + Set_AdvLong);
	GapAdv_disable(advHandleLongRange);
	GapAdv_disable(advHandleLegacy);
	if (esloSettings[Set_AdvLong] > 0x00) { // long
		GapAdv_setParam(advHandleLongRange,
				GAP_ADV_PARAM_PRIMARY_INTERVAL_MIN, &adv_longDuration);
		GapAdv_setParam(advHandleLongRange,
				GAP_ADV_PARAM_PRIMARY_INTERVAL_MAX, &adv_longDuration);
		GapAdv_setParam(advHandleLegacy, GAP_ADV_PARAM_PRIMARY_INTERVAL_MIN,
				&adv_longDuration);
		GapAdv_setParam(advHandleLegacy, GAP_ADV_PARAM_PRIMARY_INTERVAL_MAX,
				&adv_longDuration);
	} else { // short
		GapAdv_setParam(advHandleLongRange,
				GAP_ADV_PARAM_PRIMARY_INTERVAL_MIN, &adv_shortDuration);
		GapAdv_setParam(advHandleLongRange,
				GAP_ADV_PARAM_PRIMARY_INTERVAL_MAX, &adv_shortDuration);
		GapAdv_setParam(advHandleLegacy, GAP_ADV_PARAM_PRIMARY_INTERVAL_MIN,
				&adv_shortDuration);
		GapAdv_setParam(advHandleLegacy, GAP_ADV_PARAM_PRIMARY_INTERVAL_MAX,
				&adv_shortDuration);
	}
	GapAdv_enable(advHandleLongRange, GAP_ADV_ENABLE_OPTIONS_USE_MAX, 0);
	GapAdv_enable(advHandleLegacy, GAP_ADV_ENABLE_OPTIONS_USE_MAX, 0);
}

您可以大致看到1Hz 下的小脉冲... 频率为10Hz、这与我的广播间隔相对应。

刻度为1mV/uA (y 轴)、现在为1ms 分频。 这是频率为1Hz 时的较小电流脉冲。

相同比例、这是10Hz 广播/s

这些是我的广告。 它们默认为2000ms (2Hz)、我在运行时将它们修改为10Hz。

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

    我已确认在创建广告句柄(INIT)后禁用广播仍然会留下此1Hz 脉冲。 我关闭了我可以看到的所有计时器、即使如此、我也不以1Hz 的频率运行任何内容。 想知道这是否可能是附近某物的扫描请求? 我目前没有监听器设置。

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

    您好、Matt、

    这似乎是  器件处于待机状态时发生的 VDDR 再充电。  SWRA478D 应用手册第2章"待机"中讨论了此行为。 无论是否启用或禁用广播、都将发生这种情况、因此这可能是您在打开或关闭广播的情况下仍能看到它的原因。

    此致、

    1月

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

    该应用手册非常感谢您的重做。 我的电流波形看起来类似、但 与规格有一个数量级的差异、您同意吗?

     

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

    您好、Matt、

    您是否正在使用 LaunchPad? 如果是、请确保 LaunchPad 上的跳线配置如上面链接的应用报告的图34所示。 要准确读取 BLE 广播功耗、您必须确保 UART、周期性事件、非 BLE 基本过程等操作。 本节将讨论链接文档的第5.2节嵌入式软件。

    此致、

    1月

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

    好的、我想它只是对 LP 进行下电上电。 这更符合预期。  实际上、我在这里看到的是广播不会动态禁用。 我发现在连接期间执行的原始 POST 中的代码正在从  GapAdv_disable()接收到0x11 (bleAlreadyInRequestedMode)—连接时是否可以使用此代码? 当我把它放置在初始化区域中时、它返回0x00 (成功)并且工作正常。

    我想进行连接、启动较长的广播间隔、然后断开连接。 非常感谢!

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

    您好、Matt、

    我很高兴听到您能够看到您所期望的功耗。 关于 GapAdv_disable()。  当广播已经被禁用时、返回 bleAlreadyInRequestedMode 代码。 如果建立了连接、则栈会禁用广播。 通过接收  GAP_EVT_ADV_SET_TERMINATEDIT 事件和 GAP_EVT_ADV_END_AFTER_DISABLE 事件、通知应用程序。 每次禁用广播时、您应该会收到 GAP_EVT_ADV_END_AFTER_DISABLE 事件。 由于这 与原始主题无关、如果您有任何后续问题、能否打开新主题? 这使我们能够提供更好的支持。

    此致、

    1月