CC2652P: Modify the ZED_SW sample to support minimal power consumption - wakeup by button (GPIO)

Part Number: CC2652P
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hello

I'm trying to modify the ZED_SW sample so after the device is part of the ZigBee network, it will go to sleep, no need to handle requests from the coordinator and the only wakeup methos is by the interrupt that serves the button press (GPIO)

My question is: what is the recommended method to reduce the power consumption. I understand it is related to the polling interval.

So how do I enter the sleep mode, what should I do when the button is pressed and how to go back to sleep after I send the on/off command to the coordinator?

Thanks

Haim

  • Hello Haim,

    Here is the Z-Stack User's Guide.  ZED examples are already situated for low-power consumption once you remove BOARD_DISPLAY_USE_UART from being pre-defined.  You can also choose to set CUI_DISABLE entirely, after which you will need to create your own Push Button TI Driver interface.

    The polling interval is commonly controlled by SysConfig settings at compile time, although you can set the zgPollRate during run time with Zstackapi_sysConfigWriteReq.

    Sleep mode is automatic for a ZED, so no further application changes are required.  The device will return to sleep after it enters the idle mode (i.e. no task activities).

    Regards,
    Ryan

  • Thanks Ryan

    I did the recommendations: 

    1. Zstackapi_sysSetTxPowerReq(appServiceTaskId, &powerReq, &powerRsp); // with 0dB
    2. Next macros are not defined: CUI_DISABLE , BOARD_DISPLAY_USE_UART 
    3. My
    Board_init() contains: Power_init(); GPIO_init(); Board_shutDownExtFlash();
    4. I've extended the polling interval to 30 seconds
    5. Adding print messages I see it enters standby for 30 seconds between the polling.

    I also added a call to
    Power_registerNotify to print the power state and it looks entering standby mode properly.

    I measured and it still consumes 260 micro amperes on standby mode

    Thanks
    Haim

  • I recall that you are using a custom board, so this could be greatly influential.  Have you tested power consumption on a LAUNCHXL-CC1352P previously, and has your hardware design been submitted to SIMPLELINK-2-4GHZ-DESIGN-REVIEWS for review from TI's HW engineers?  Given that the current consumption that you are observing (260 µA) is lower than the Idle mode (675 µA) and that your print messages are indicating standby mode, I don't doubt that the device is reaching standby.  However it is uncertain as to whether you've disabled the peripherals which consume power even when idling.

    How are you printing messages, and is it using the Display TI Driver?  What tools are you using to measure power consumption?  Be sure to configure your hardware so that only the CC2652P is being measured. Did you apply "USE CUSTOM BOARD" in SysConfig and have you made any other peripheral changes to the configuration which should be made known?

    Regards,
    Ryan