大家好:
请教一个问题,我在用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模式的方法有哪些?
谢谢!
Butterfly:
外围还有什么器件,先把外围器件拿掉,然后再看GPIO口,是否有高低电平互拉的问题
没有Task在运行,RTOS会自动进入低功耗模式,不用你设置
VV:
协议栈里面默认是把LCD,LED,Temp Sensor的I2C都使能起来的,你需要disable掉。
TI_DRIVERS_LCD_INCLUDED
另外你测试的时候,节点是入网以后的测试结果,还是纯粹烧写了程序以后做的测试。
建议用示波器看下节点工作的波形。
ronghui liang:
回复 Butterfly:
你好。在测试电流的时候,我的小板子是没有接外围设备。(例:片外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
ronghui liang:
回复 ronghui liang:
这是APP的option
POWER_SAVINGZCL_READZCL_WRITEZCL_BASICZCL_REPORTZCL_IDENTIFYZCL_TEMPERATURE_MEASUREMENTZCL_EZMODExZCL_GROUPSZCL_STANDALONEZG_SECURE_ENABLEDewarmUSE_ICALLHEAPMGR_SIZE=4096ICALL_HOOK_ABORT_FUNC=halAssertHandlerxdc_runtime_Log_DISABLE_ALLxdc_runtime_Assert_DISABLE_ALLMODULE_CC26XX_5X5xTI_DRIVERS_LCD_INCLUDEDxLCD_SUPPORTED
这是core的option
POWER_SAVINGMODULE_CC26XX_5X5xZDO_API_ADVANCEDZDO_API_BASICCC26XXFLASH_ROM_BUILDUSE_ICALLTC_LINKKEY_JOINHAL_ASSERT_SPINxHALNODEBUGxDEBUGxDEBUG_SW_TRACExDBG_ENABLExOAD_KEEP_NV_PAGESNV_RESTORENV_INITFEATURE_MAC_SECURITYFEATURE_GREEN_POWERFEATURE_ENHANCED_BEACONHOLD_AUTO_STARTewarmNEAR_FUNC=DATA=
还需要改哪些编译选项?
谢谢!
user5296519:
回复 ronghui liang:
你好,我遇到了跟你一模一样的情况,请问这个问题你最后怎么解决的?