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: how can i achieve this condition that says in datasheet?

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

hi

you see if we just have an external interupt we can lower its power to 0.4 micro amper 

how can i reach power mode 3 ?

till now im in power saving mode but still 120 microamp it want . what can i do beside power save define to reach this power mode 3 ?

  • i dont have sniffer unfortunatly

    i wrote f8wconfig.cfg like below

    /****************************************
     * The following are for End Devices only
     ***************************************/
    
    -DRFD_RCVC_ALWAYS_ON=FALSE
    
    /* The number of milliseconds to wait between data request polls to the coordinator. */
    -DPOLL_RATE=60000
    
    /* This is used after receiving a data indication to poll immediately
     * for queued messages...in milliseconds.
     */
    -DQUEUED_POLL_RATE=100
    
    /* This is used after receiving a data confirmation to poll immediately
     * for response messages...in milliseconds
     */
    -DRESPONSE_POLL_RATE=100
    
    /* This is used as an alternate response poll rate only for rejoin request.
     * This rate is determined by the response time of the parent that the device
     * is trying to join.
     */
    -DREJOIN_POLL_RATE=440
    
    /* Rejoin retry backoff silent period timer duration in milliseconds - default 15 minutes according to HA test spec */
    -DREJOIN_BACKOFF=900000
    
    /* Rejoin retry backoff scan timer duration in milliseconds - default 15 minutes according to HA test spec */
    -DREJOIN_SCAN=900000
    
    /* Latest sample apps use LED4 and do not use S1 switch */
    -DENABLE_LED4_DISABLE_S1
    

    is there anywhere else that defined there to overcome this?

  • Your f8wconfig.cfg looks correct. I still suggest you to buy CC2531 USB dongle and use sniffer to verify it.
  • i cant buy one unfortunatly .
    in preprocessor i defined this NWK_AUTO_POLL can it be the problem?
  • It shouldn’t cause the problem but you can try to remove it to test again.
  • If USE_ICALL or OSAL_PORT2TIRTOS are not defined then there will be no power conservation regardless.  You have to ensure that pwrmgr_attribute.pwrmgr_device is set to 1 (PWRMGR_BATTERY).

    void osal_pwrmgr_init( void )
    {
    #if !defined USE_ICALL && !defined OSAL_PORT2TIRTOS
      pwrmgr_attribute.pwrmgr_device = PWRMGR_ALWAYS_ON; // Default to no power conservation.
    #endif /* USE_ICALL */
      pwrmgr_attribute.pwrmgr_task_state = 0;            // Cleared.  All set to conserve
    #if defined USE_ICALL || defined OSAL_PORT2TIRTOS
      pwrmgr_initialized = TRUE;
    #endif /* defined USE_ICALL || defined OSAL_PORT2TIRTOS */
    }
    
    void osal_pwrmgr_powerconserve( void )
    {
      uint32        next;
      halIntState_t intState;
    
      // Should we even look into power conservation
      if ( pwrmgr_attribute.pwrmgr_device != PWRMGR_ALWAYS_ON )
      {
        // Are all tasks in agreement to conserve
        if ( pwrmgr_attribute.pwrmgr_task_state == 0 )
        {
          // Hold off interrupts.
          HAL_ENTER_CRITICAL_SECTION( intState );
    
          // Get next time-out
          next = osal_next_timeout();
    
          // Re-enable interrupts.
          HAL_EXIT_CRITICAL_SECTION( intState );
    
          // Put the processor into sleep mode
          OSAL_SET_CPU_INTO_SLEEP( next );
        }
      }
    }

    Regards, Ryan

  • should I define USE_ICALL in preprocessor?
  • I'm going to back up and revise my previous statement.  Z-Stack 3.0.1 does not support ICALL or TIRTOS, only OSAL.  But osal_pwrmgr_device will change the device type to PWRMGR_BATTERY so that power savings are used.  The difference is to make sure that your device has first joined a network.

    #if !defined USE_ICALL && !defined OSAL_PORT2TIRTOS
    /*********************************************************************
     * @fn      osal_pwrmgr_device
     *
     * @brief   Sets the device power characteristic.
     *
     * @param   pwrmgr_device - type of power devices. With PWRMGR_ALWAYS_ON
     *          selection, there is no power savings and the device is most
     *          likely on mains power. The PWRMGR_BATTERY selection allows the
     *          HAL sleep manager to enter sleep.
     *
     * @return  none
     */
    void osal_pwrmgr_device( uint8 pwrmgr_device )
    {
      pwrmgr_attribute.pwrmgr_device = pwrmgr_device;
    }
    #endif /* !defined USE_ICALL && !defined OSAL_PORT2TIRTOS*/

    Regards, Ryan

  • I'm using zstack 3.0.0 . now should I deFine USE_ICALL for power saving or not?
    thanks
  • do you have any example project that can go to pm2 that use zstack 3.0.0?
    if you have please send it to me so that I can use it in my project
    it's almost 6 month that I'm trying to make it work but not working yet it most of the time draw 120 uA and I don't think it go to sleep
    please send me an example of zigbee cc2530 that can go to power mode 2 that can draw less than 10 uA
    thanks allot
  • what example project do you use that you reach pm2?
  • I can easily use SampleSwitch with end device configuration to reach PM2.
  • Closing this thread due to content length, and the fact that further progress is being made in the separate thread: e2e.ti.com/.../675988

    Regards,
    Ryan