CC2630 standby模式睡眠电流2ma
大家好:
请教一个问题,我在用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