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.

RTOS/CC1310: Collector Standby Current

Part Number: CC1310

Tool/software: TI-RTOS

Hello,

1. In our sensor/collector application both of the devices are battery powered. They are not connected to one another persistently, only while actively being used. The sensor is fine, but I am finding that the collector device can only get a standby current of approximately 2 mA. This could very well just need to be optimized, but so far I have been unable to do so. I am wondering if, by design, a collector is not intended to be put into a low current standby (in the uA range). This could make sense to me since the collector is supposed to be a hub for a sensor network. So, is standby current in the uA range possible on a collector?

2. Alternatively, I think using shutdown would work for us too since the network is recalled from NV on startup. I am having separate issues with that. I use Power_shutdown(0, 0) to shut down the device, along with button wakeups. The current in shut down is fine. When I press the button to wake the device the current stays in the 4-5 mA range and is unresponsive to any button presses, but if I start back up by manually disconnecting/reconnecting power it starts up fine (also, pin reset works fine). 

This issue seems to be related to Bim_checkImages() since it works fine if I comment this out in the bim. We have a bim because the project has been modified to either boot as a sensor or a collector, depending on a flag in NV. This is just to enable the possibility of OAD on our collector (which works fine).

It would be great if I could get help with any one of these issues since they both seem to be valid solutions. Solution 1 is preferred though.

Thanks,

Darcy

  • If you use TI 15.4 Stack beacon mode, it’s possible to adjust beacon mode parameters to allow collector to be much power saving than non-beacon mode.

  • Hi YK Chen,

    Thank you for the suggestion. Unfortunately I will have to move on to other issues (which I will create a separate thread for) before I can continue with this.

    My immediate question about your suggestion is, would this impact the performance of the connection? For example, we expect immediate response from each device when sending data in both directions.

    Thanks.

  • Yes, it will impact the performance of the connection.

  • I do not need the collector to be connected to anything while in standby. Is it possible to disable collector functionality while in standby in order to get sleep current in the uA range, and then re-enable it in my pin interrupt?

    Right now I am doing the following before removing the standby constraint, but it is still resulting in the high standby current.

    Cllc_setJoinPermit(0);
    ApiMac_mlmeSetReqBool(ApiMac_attribute_RxOnWhenIdle, false);

    Anything else I should be doing?

    Thanks,

  • If so, you can refer to pin shutdown example to complete shutdown your collector and only wake up by GPI interrupt when you need to wake up collector.

  • Yes, that is what I would like to do. However, I am still facing the original issue I outlined in the first post. I followed the example and do the following.

    // Enable button wakeups and shutdown the device
    PIN_Config ButtonTableWakeUp[] = {
        CC1310_SWITCH              | PIN_INPUT_EN | PIN_PULLUP | PINCC26XX_WAKEUP_NEGEDGE,
        CC1310_CHARGER_CONNECTED   | PIN_INPUT_EN | PIN_PULLUP | PINCC26XX_WAKEUP_NEGEDGE,
        PIN_TERMINATE
    };
    
    PINCC26XX_setWakeup(ButtonTableWakeUp);
    OsalPort_pwrmgrTaskState(appTaskId, OsalPort_PWR_CONSERVE);
    Power_shutdown(0, 0);

    I get good shutdown current and the device does seem to react to the button. It just freezes at 5 mA and will not respond to any more button presses. Where does it start to execute code after waking up? Does it start the application again, or start from the beginning of the bim? I am unsure why it cannot start back up properly after Power_shutdown. Manually causing a reset pin or power reset works, but not the button.

    Thanks

  • I think I have found a solution. I am not a huge fan of it though because it seems more like a band-aid hiding the problem than an actual solution.

    In my bim the call to Bim_checkImages() does not work when waking from shutdown, this seems to be causing the problem by hanging here. This only happens when waking from shutdown, other sources such as system reset work fine. So, I use the following to check if we are waking from shutdown, and do not execute it if that is the case. This seems to be ok because we always do a SysCtrlSystemReset() before and after performing OAD, so Bim_checkImages() should be able to run every time it is actually required.

    if (!(HWREG( AON_SYSCTL_BASE + AON_SYSCTL_O_RESETCTL ) & AON_SYSCTL_RESETCTL_WU_FROM_SD_M))
        Bim_checkImages();