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:如何进入最低功耗模式?

Guru**** 2420500 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1539306/cc2652r7-how-to-get-into-the-lowest-power-mode

器件型号:CC2652R7


工具/软件:

嗨、

因此、我的团队成员和我一直在尝试确定 TI-CC2652R7 的最低功耗。 我们从 project_zero 示例开始、我们不启动 project_zero 线程、而是启动测试线程、并在信标处停止。 进行功耗测量时、平均值为 9uA。 然而、根据数据表、我们应该在待机模式下获得 0.9uA 的电流。 我知道我们的电路可能有问题、但如果您可以确认我进入待机状态的方法是正确的、我们将非常感激。

int main()
{
    // Register Application callback to trap asserts raised in the Stack
    RegisterAssertCback(AssertHandler);

    Board_initGeneral();

#if !defined(POWER_SAVING)
    // Set constraints for Standby, powerdown and idle mode
    // PowerCC26XX_SB_DISALLOW may be redundant
    Power_setConstraint(PowerCC26XX_SB_DISALLOW);
    Power_setConstraint(PowerCC26XX_IDLE_PD_DISALLOW);
#endif // POWER_SAVING

    // Update User Configuration of the stack
    user0Cfg.appServiceInfo->timerTickPeriod = Clock_tickPeriod;
    user0Cfg.appServiceInfo->timerMaxMillisecond = ICall_getMaxMSecs();

    // Initialize ICall module
    ICall_init();

#ifndef STACK_LIBRARY
    {
        // Find stack entry page
        uint32_t stackAddr = findStackBoundaryAddr();

        // If we cannot find the stack start address, exit
        if (stackAddr == 0xFFFFFFFF)
            ICall_abort();

        // Set the stack image header based on the stack addr
        stackImageHeader = (imgHdr_t*)stackAddr;

        // Start tasks of external images - Priority 5
        const ICall_RemoteTask_t remoteTaskTbl[] = { (ICall_RemoteTaskEntry)(stackImageHeader->prgEntry), 5, 1000, &user0Cfg };

        // Start tasks of external images - Priority 5
        ICall_createRemoteTasksAtRuntime((ICall_RemoteTask_t*)remoteTaskTbl, (sizeof(remoteTaskTbl) / sizeof(ICall_RemoteTask_t)));
    }
#else

    // Start tasks of external images - Priority 5
    ICall_createRemoteTasks();
#endif

    // Ensure low-frequency (real-time) clock initialized with external oscillator, otherwise downstream BLE and RTOS calls won't work
    if (OSCClockSourceGet(OSC_SRC_CLK_LF) != OSC_XOSC_LF)
    {
        OSCClockSourceSet(OSC_SRC_CLK_LF, OSC_XOSC_LF);
    }

#ifdef TEST_XOSC_LF
    IOCPortConfigureSet(IOID_26, IOC_PORT_AON_CLK32K, IOC_STD_OUTPUT); // Pass-through external 32.768kHz oscillator clock signal (XOSC LF) out to TP1
    AONIOC32kHzOutputEnable();
#endif

    test(); 

    // Enable interrupts and start SYS/BIOS
    BIOS_start();

    return 0;
}

static array<uint8_t, 3092> test_stack;

void test()
{
    // Wrapper for creating a thread
    Thread(TestThread, nullptr, make_shared<Thread::Settings>(test_stack.data(), test_stack.size()));
}

void* TestThread(void* arguments)
{
    // Wrapper for creating a semaphore
    Semaphore sem;
    sem.wait();

    return nullptr;
}


此致、
Kenneth T.

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

    嘿、Kenneth、

    以下是低功耗蓝牙的一些参考资料。  我可以询问您正在评估什么 SimpleLink F2 SDK 吗?

    https://www.ti.com/lit/swra478 
    https://www.ti.com/tool/BT-POWER-CALC 

    当前平均值  9uA 确认正在使用待机模式、我没有看到任何关于测试信标的异常可疑情况。  请确认您也在没有 32kHz 输出的情况下进行了测试。

    您可以使用 LP-CC2652R7 和 gpiointerrupt 执行完整性检查 、以确认您的测量设置并隔离硬件或软件之间的问题。

    此致、
    Ryan

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

    嗨、Ryan、

    我们正在使用 simplelink_cc13xx_cc26xx_sdk_7_41_00_17。 我想知道为什么电流是数据表规定的待机状态的 10 倍。 我认为在计算待机电流时不包括 RTOS、在此假设中我是否正确?

    谢谢、
    Kenneth

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

    我观察到 RTOS 应用的运行电流为 1uA、因此包含 RTOS 不应该涉及到更高的电流 消耗。  通常、这可能是由 GPIO 泄漏引起的。  您是否已将设计提交至 SIMPLELINK-2-4GH-DESIGN-REVERS? 

    此致、
    Ryan

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

    嗨、Ryan、

    我认为我们的团队  没有将我们的设计提交到设计评审中;但是、当我运行没有 RTOS 的示例时、似乎可以达到数据表中所说的 0.5uA 范围。 此外、当我测量 10 欧姆感应电阻器两端的电压时、您是否恰好知道我看到的小尖峰和大尖峰(第一篇文章中的图)是什么?

    谢谢、
    Kenneth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、当我测量 10 欧姆检测电阻两端的电压时、您是否碰巧知道我看到的大小尖峰(第一篇文章中的图)是什么?

    如 SWRA478 中所述、我预计这些小尖峰会是 VDDR 充电脉冲。  我不确定出现的较大尖峰。  您是否 监控了射频输出线路 以确保没有发送对讲机消息?  我记得它们不应该提供您的工程配置。   

    此致、
    Ryan