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: Unknown power consumption when orphan with ZStack-3.0.2

Part Number: CC2530
Other Parts Discussed in Thread: Z-STACK,

Hi all,

Our test and setup are showing below

HW : CC2530EM + smartRF05

SW : ZStack-3.0.2 - SampleSwitch / SampleLight

SW edit : change "SAMPLEAPP_END_DEVICE_REJOIN_DELAY" from 10sec to 1200sec(20minutes).

1. ZED join ZC

2. turn off ZC, ZED enter orphan

3. we see a "unknown event" trigger within 10 min(trigger time is not fixed but within 10 min )

Please help us to verify and solve this issue. Thank you 

  • Hi,

    What predefined symbols are you using in the project?

    What current measurements do you see in each situation:
    - before ZED joins
    - while ZED is connected to ZC
    - when ZED is in orphan mode, before the "unknown event"
    - when ZED is in orphan mode, after the "unknown event"

    Do you have any further description of the unknown event, and are you able to catch it in a debug session?

    Regards,
    Toby

  • Can you provide those details when you test in CC2530DK?

  • Hi YK&Toby

        Following list the related current measurements and the capture current warefrom when the unknow event happen. The ZED using "SimpleSwitch-EndDevice" project and did not make any change except some parameter(list in the table "SDK setting").


    - before ZED joins ~1.1uA
    - while ZED is connected to ZC ~1.1uA
    - when ZED is in orphan mode, before the "unknown event" ~1.1uA
    - when ZED is in orphan mode, after the "unknown event"~1.1uA

     1. Current warefrom of "Unknow event" (After ZED enter orphan mode within 10 minutes)

    2. The test setting and result are list as following.

    SDK setting

    SDK

    HDK

    Project Name

    FW Setting

    Test step

    Z-Stack 3.0.2

    CC2530DK_EM

    SimpleSwitch-EndDevice

    1. HAL_KEY=FALSE
    2. LCD_SUPPORTED=DEBUG
    3. SAMPLEAPP_END_DEVICE_REJOIN_DELAY  change from 10sec to 1200sec(20minutes).

    step 1. ZE join to ZC
    step 2. Turn off ZC and ZE enter BDB rejoin event loop.
    step 3. Capture power event using Digital Oscilloscope

    HDK setting(wiring for this test)

     

    Regards

     

    Dennis

  • Thanks for providing these information.

  • Dennis, thanks for providing more information.

    Do you know how often this pulse happens?

    If it only happens once within a 10 minute period, then the power consumption shouldn't be too large of a concern.

    Regards,
    Toby

  • You will see several wake-up event during 10 minutes and if you keep watching, you should still see this unexpected event. Since this happens on sleeping end device using battery, we do concern about any unexpected power consumption so please help to locate the issue and provide fix. Thanks.

  • Hi YK,

    Can you provide us with proven wake-up debug logs and oscilloscope screenshots where the MCU is actively leaving LPM and servicing a false event flag?  So far the only oscilloscope screenshot provided does not display enough current or voltage to actually power the MCU out of a low-power state.  Hence we can only conclude that this is either noise incurred from the system setup or expected MCU behavior (such as POR or BOD pulses), neither of which are caused by Z-Stack.

    Regards,
    Ryan

  • @Ryan, I am pretty sure you can reproduce this issue with CC2530DK and SampleSwitch/SampleLight. You can define HAL_SLEEP_DEBUG_LED but reverse the led3 behavior to turn on during CC2530 wakes up and I believe you will see this issue by checking led3 status by scope.

  • Dennis,

    Do you still see the "unknown event" if you use a SAMPLEAPP_END_DEVICE_REJOIN_DELAY of 510000 (510 seconds)?

    Do you see the "unknown event" in the following situation:
    - ZED joins network successfully
    - ZED polls with POLL_RATE == 510000 (510 seconds)
    ?

    The Sleep Timer uses a 24-bit counter running on 32.768 kHz clock.
    Max value of 24 bits is 16777215, so you have 16777215/32768 == 512 (round down to 510), the max time that Sleep Timer may have.

    Regards,
    Toby

  • Hi YK,

    I would actually recommend against using LEDs as they could be a cause of timers which wake the MCU, such as HalLedUpdate.  After I disabled the UI in the application, set HAL_ADC, HAL_KEY HAL_LED, and HAL_LCD to FALSE from hal_board_cfg.h, removed LCD_SUPPORT, and enabled POWER_SAVING, the only times the MCU serviced halSleep was for SAMPLEAPP_END_DEVICE_REJOIN_DELAY or to refresh the timeout due to MAX_SLEEP_TIME.

    Regards,
    Ryan

  • Hi Toby.

        Thank you for your help. As you mentioned above, We set  SAMPLEAPP_END_DEVICE_REJOIN_DELAY to 3600000 for test and check the "unknown event" time interval. It trig every 8.5 minutes(510 seconds). The document SWRA248"Power Management For The CC2530.pdf" descripte this situation. The longest sleep time is therefore 510 seconds (rounded) and system will wakup by interrupt and update the releated system time tick.  

    Thanks

    BR

    Dennis

  • Dennis,

    Thank you for confirming this on your end.

    Regards,
    Toby

  • @Toby We know this trigger every 8.5 minutes(510 seconds) but this is not related to this issue. The wake up events after device goes to orphan is not every 8.5 minutes(510 seconds).  There must be some other event causes this.

  • Ryan was unable to reproduce this given the same setup; this indicates that the event is unlikely due to the Sleep Timer or Z-Stack.

    Can you provide further information?

    How do these pulses compare with the pulses when the device wakes up every 510 seconds (perhaps try a trigger on pulse width)?

    Do these events happen if the device is in different states?
    - before device joins network?
    - while device is in network (use long POLL_RATE)?

  • Please let us know if further support is required.