微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > CC2630 standby模式睡眠电流2ma

CC2630 standby模式睡眠电流2ma

时间:12-23 整理:3721RD 点击:

大家好:

请教一个问题,我在用CC2630测试低功耗电流。从程序的角度判断,我觉得已经是进入了standby的电源管理模式。但电流有2ma. 

1.我采用的工程位置是 "zstack_home_1_02_02a_44539\Projects\zstack\HomeAutomation\SampleTemperatureSensor\CC26xx

\SampleTemperatureSensor"
2.我已经打开协议栈和应用程序工程选项中的POWER_SAVING.
3. app.cfg有关电源管理的配置如下
var Power = xdc.useModule('ti.sysbios.family.arm.cc26xx.Power');
Power.idle = true;
Power.policyFunc = Power.standbyPolicy;
4. 我用仿真器跟踪,程序初始化后一直运行在PRCMSleep()函数中。
PRCMSleep(void)
{
    //
    // Wait for an interrupt.
    //
    CPUwfi();
}

我把仿真器拔掉后,串电流表测试有2ma。

请问一下,这样是否表示已经进入了standby的睡眠模式,如果是的话,为什么电流这么大? 判断进入standby模式的方法有哪些?

谢谢!

外围还有什么器件,先把外围器件拿掉,然后再看GPIO口,是否有高低电平互拉的问题

没有Task在运行,RTOS会自动进入低功耗模式,不用你设置

协议栈里面默认是把LCD,LED,Temp Sensor的I2C都使能起来的,你需要disable掉。

TI_DRIVERS_LCD_INCLUDED

另外你测试的时候,节点是入网以后的测试结果,还是纯粹烧写了程序以后做的测试。

建议用示波器看下节点工作的波形。

你好。在测试电流的时候,我的小板子是没有接外围设备。(例:片外Flash, 仿真器,传感器等)        我在前面已经介绍了当前使用的工程和一些常用配置。 其实有2个问题我想确认一下。

1。当我接上仿真器跟踪的时候,程序一直停在PRCMSleep(void)函数中, 是否表示已经进入睡眠模式呢?

PRCMSleep(void)
{
    //
    // Wait for an interrupt.
    //
    CPUwfi();
}

2. 如果是的话。 电流为什么偏大,我还需要改哪些地方?  见下面修改部分代码,我已经屏蔽了这些。

    //TempSensor_initializeClocks();
#if 0
    /* Initialize keys */
    Board_Key_initialize(TempSensor_processKeyChangeCallback);
    //add by liangrh

    /* Initialize the LCD */
    Board_LCD_open();
    LCD_WRITE_STRING( (char *)sDeviceName,  LCD_PAGE1 );
    LCD_WRITE_STRING( (char *)sSwEZMode,  LCD_PAGE2 );
    LCD_WRITE_STRING( (char *)sSwHelp,  LCD_PAGE3 );

    /* Initialize the LEDS */
    Board_Led_initialize();
#endif

这是APP的option

POWER_SAVING
ZCL_READ
ZCL_WRITE
ZCL_BASIC
ZCL_REPORT
ZCL_IDENTIFY
ZCL_TEMPERATURE_MEASUREMENT
ZCL_EZMODE
xZCL_GROUPS
ZCL_STANDALONE
ZG_SECURE_ENABLED
ewarm
USE_ICALL
HEAPMGR_SIZE=4096
ICALL_HOOK_ABORT_FUNC=halAssertHandler
xdc_runtime_Log_DISABLE_ALL
xdc_runtime_Assert_DISABLE_ALL
MODULE_CC26XX_5X5
xTI_DRIVERS_LCD_INCLUDED
xLCD_SUPPORTED

这是core的option

POWER_SAVING
MODULE_CC26XX_5X5
xZDO_API_ADVANCED
ZDO_API_BASIC
CC26XX
FLASH_ROM_BUILD
USE_ICALL
TC_LINKKEY_JOIN
HAL_ASSERT_SPIN
xHALNODEBUG
xDEBUG
xDEBUG_SW_TRACE
xDBG_ENABLE
xOAD_KEEP_NV_PAGES
NV_RESTORE
NV_INIT
FEATURE_MAC_SECURITY
FEATURE_GREEN_POWER
FEATURE_ENHANCED_BEACON
HOLD_AUTO_START
ewarm
NEAR_FUNC=
DATA=

还需要改哪些编译选项?

谢谢!

//#define SET_CCFG_MODE_CONF_SCLK_LF_OPTION 0x0 // Low frequency clock derived from High Frequency XOSC
//#define SET_CCFG_MODE_CONF_SCLK_LF_OPTION 0x1 // TBD: Digital input from AON (selects XOSC_LF as source and XOSC_LF_DIG_BYPASS=1)
//#define SET_CCFG_MODE_CONF_SCLK_LF_OPTION 0x2 // Low frequency XOSC
#define SET_CCFG_MODE_CONF_SCLK_LF_OPTION 0x3 // Low frequency RCOSC

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top