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.

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; \
    )这个函数直接调用就可以进入休眠 吗,不会被其他任务又唤醒吗?