CC2530休眠功耗问题
大家好,关于2530休眠时候功耗的问题困扰了好几天了,搜了下尝试一些解决方法,仍然没有什么效果,特意来求助,希望能给些帮助
(已经设置了PowerSaving,4个PollRate为0,修改了OnBoard.c Key那里等)
---------------------------------------
问题是这样的: 1.我的2530设备是带上rfx2401功放,在halsleep处设置了断点,程序能进去,并且观察halPwrMgtMode,确实是0x02..并且在供电处串联了一个1欧电阻采样,但是用万能表测到的电压是60mV,也就是电流一直是60mA,发射数据时上到68-70mA左右.怎么回事?很苦恼
2.我尝试把我在sampleApp里面设置的定时事件注释掉,halPwrMgtMode是0x03,测出的电流是16mA左右.我应该怎么处理?
3.应该如何观察32M晶振的工作状态? 贴片的焊死了怎么用示波器观察?
4.能不能观察一些寄存器的参数,来确认是否真的进入PM2模式?
问题多了点,希望有知道的会员和TI员工能指导一下,万分感谢!
1:你rxf2401是不是还有电流消耗,板子上还有其他的器件吗?我们数据手册上提供的休眠电流是指最小系统。
2:还是一样,外围器件有没有额外的消耗
3:焊盘总在吧,接到芯片的脚总在吧
4:下面这个函数就是设置进入PM2的
#define HAL_SLEEP_PREP_POWER_MODE(mode) st( SLEEPCMD &= ~PMODE; /* clear mode bits */ \
SLEEPCMD |= mode; /* set mode bits */ \
while (!(STLOAD & LDRDY)); \
halSleepPconValue = PCON_IDLE; \
)
十分感谢工作人员的回答.经过仔细检查,确实外设的影响很大! 我会继续检查,谢谢工作人员!
我在论坛上发帖关于这个问题,一直没人回复,特意跑到这里来请教:
1.添加POWER_SAVING选项
2.设置RFD_RCVC_ALWAYS_ON=FALSE
3.在main函数中调用 osal_pwrmgr_device(1);
4.在我添加的任务init中添加osal_pwrmgr_task_state(task_id,0);
5.DPOLL_RATE=0;
以上的配置还是无法进入休眠,请问怎么配置呢?另外你说的:
#define HAL_SLEEP_PREP_POWER_MODE(mode) st( SLEEPCMD &= ~PMODE; /* clear mode bits */ \
SLEEPCMD |= mode; /* set mode bits */ \
while (!(STLOAD & LDRDY)); \
halSleepPconValue = PCON_IDLE; \
)这个函数直接调用就可以进入休眠 吗,不会被其他任务又唤醒吗?