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.

[参考译文] CC2640R2F:测量内核电流消耗。

Guru**** 2587365 points
Other Parts Discussed in Thread: CC2640R2F

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/597165/cc2640r2f-measuring-core-current-consumption

器件型号:CC2640R2F
主题中讨论的其他器件: CC-DEVPACK-DEBUG

您好!

  我正在尝试根据数据表中的下表测量内核电流消耗。 我们的程序进入"测试模式"、在该模式下没有初始化任何配置文件、然后我关闭所有 LED、蜂鸣器和加速计。 但是、我测量的电流为16mA。 如果我打开任何外设、电流消耗会增大。 我们的产品使用32.768KHz XOSC_LF 和24MHz XOSC_HF 晶振。

如何设置基于 CC2640R2F 的产品以测量1.3uA 或3uA?

-克尔

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

    您是否已关闭外部闪存? 请参阅《测量低功耗蓝牙功耗》应用报告 :http://www.ti.com/lit/swra478
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Marie H"]您是否已关闭外部闪存?

    我们没有连接外部闪存、因为 CC2640R2F 配置为片上 OAD。 是否仍然需要关闭外部闪存?

    在我们的测试模式下、重复 UART 读取回调正在运行、因此这可能会导致电流消耗。  

    -克尔

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

    您仍然需要关闭外部闪存。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Marie H、

    如果我在移除所有跳线的情况下在 CC2640R2 Launchpad 上运行 PinStandby 示例程序、我能够测量多少电流? 从红色框中的表中可以看到、我希望测量的电流为1.3uA 吗?

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

    我使用的是5XD 板级配置文件。 我添加了 ExtFlash.c 和 ExtFlash.h、然后我在下面看到了这些错误。 我是否仍然需要关闭外部闪存、因为这些引脚在启动时未初始化? 如果我仍然需要关闭外部闪存、那么我需要从其他板级配置文件复制这些引脚是如何初始化的?

    标识符"Board_SPI_FLASH_CS"未定义
    标识符"Board_flash_CS_on"未定义
    标识符"Board_flash_CS_off"未定义

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

    您是在自己的硬件上测量还是在 LaunchPad 上测量?

    在 LaunchPad 上、您需要使用 LaunchPad 板级配置文件并按 Marie 所述关闭闪存。 移除所有跳线后、待机电流消耗应约为1.3uA。

    如果您的板上没有外部闪存、则无需在定制硬件上执行任何与外部闪存相关的操作。 当然、您必须确保所有 IO 都配置为不消耗电流的状态、并且还必须将所有其他外部有源电路置于低功耗模式。

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

    尊敬的 Fredrik K:

      感谢您的回复。

      在 CC2640R2 Launchpad 的 pinStandby 示例程序中、我们能够测量 uA 范围值。

      对于我们的 CC2640R2F 5xD 基本产品、我们获得16mA 电流的原因是它连接到 RS232板和 CC-DEVPACK-DEBUG 板。 移除两个电路板连接后、我们将获得2mA 电流测量。

    我们的 IO 端口引脚属性如下所示。

    /* LED IO 配置*/
    IO_LED_RED | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX、 /* LED 最初关闭*/
    IO_LED_GREEN | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX、 /* LED 最初关闭*/
    /* Buzzer IO 配置*/
    IO_蜂 鸣器_EN_1 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MIN、 /*用于 EN1的 Init (Buzzer)*/
    IO_蜂 鸣器_EN_2 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MIN、 /*用于 EN2的 Init (Buzzer)*/
    IO_MONTER_PWM_DIN | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX、 /*在 IO_蜂 鸣器_pwm_DIN (蜂鸣器)中输入 Buzer 数据*/
    IO_蜂 鸣器电源| PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH_| PIN_PushPull | PIN_DRVSTR_MIN、
    /* Button IO 配置*/
    IO_Button_MFB | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_NEGEDGE | PIN_迟滞、
    ACC_INT | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_DIS | PIN_迟滞、
    ACC_POWER | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH | PIN_PushPull | PIN_DRVSTR_MIN、
    /*测试模式配置*/
    IO_TEST_MODE | PIN_INPUT_EN | PIN_PULLUP、
    PIN_TERMINATE 

    我们的 TX 功率设置为4 DBM

    HCI_EXT_SetTxPowerCmd (HCI_EXT_TX_POWER_4_DBM);/*将 TX 功率设置为4 DBM */
    HCI_EXT_SetRxGainCmd (HCI_EXT_RX_GAIN_HIGH);//启用高增益模式 

    我们的默认广播间隔设置为100ms

    //可发现器件时的广播间隔(625us、160=100ms 的单位)
    #define DEFAULT_advertising_interval 160 

    我们使用数字万用表测量2mA、它看起来是恒定的。 当我使用立即警报激活蜂鸣器时、电流高达4mA。 将广播间隔设置为100ms 时、我们应该能够看到电流下降、但我们得到的是恒定的2mA。 我们的硬件人员说、对于我们的电池供电产品、2mA 是不合适的。

    如何以 uA 为单位实现待机电流测量?

    -克尔

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

    我设置 power_saving 预定义符号、现在我们将获得 uA 范围内的电流测量值。 但是、由于我们的广播间隔、我们无法使用数字万用表获得稳定的 uA 读数。

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

    除此之外、我还在执行一项功能、在 Tera Term 中键入命令。 然后转到 C 函数、强制 CC2640R2F 进入待机模式。 这样我们就可以测量待机电流。 此功能适用于我们的测试组。

    我在 www.ti.com/.../sprui20.pdf 上找到了该文档 、并在"Power Standby Policy"(电源待机策略)下提供了进入待机模式的代码。 此代码是否适用于 CC2640R2F 而不进行更改?

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

    我们不建议使用 Power_sleep(),因为此函数不会检查声明的限制。

    您可以使用 SLEE(),请参阅空示例项目以进行实施。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Marie H、

    在 sprui20的示例代码中、似乎在进入睡眠模式之前检查约束条件。

    我尝试了引脚待机示例程序、但无法使用或 Fluke Digital Multi-Meter 读取1.5uA 至1.3uA 的待机电流。

    我将简单外设配置为周期性事件只发生一次、然后调用 DELAY_MS (30000)。 delay_MS 调用 Task_sleep()。 我测量的待机电流单位为 mA、而不是 uA。

    我正在为我们的生产和测试组提供此功能。 我们有一个连接到 UART 的测试设置。 如果我键入睡眠电流测试的命令、代码应强制应用进入待机模式、以便我们可以测量数据表中提到的待机电流。

    我还没有在 sprui20上尝试过示例代码。 希望它能正常工作。

    -克尔