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.

CC1352R: Significantly increased execution time when the ICall module is enabled

Part Number: CC1352R
Other Parts Discussed in Thread: BLE-STACK

Tool/software:

Hello,

We are developing a new device using CC1352R. The project is based on the example project "simple_broadcaster" from SDK simplelink_cc13xx_cc26xx_sdk_7_41_00_17. 

For us, the most important is the device to have the minimum possible current consumption. It is defined by the static current consumption of the device and the dynamic current consumption when the MCU is in Active mode.

We noticed that when the ICall module is enabled the execution time is increased significantly. Our average current consumption is almost doubled. We did very simple test using the example project "simple_broadcaster" with and without enabled ICall module. With enabled ICall module the total time is 950us, and without ICall module is 574us. Please see the attached pictures.

Because we have very long time intervals without to use the BLE (e.g., 5, 10 minutes), our question is it possible somehow to suspend or disable the ICall module and to minimize the execution time?

1. Execution time without ICall

2. Execution time with ICall

Thank you very much for your response in advance.

  • Hi Angel,

    I need some more information on what you are trying to do.

    If you want to use the BLE apis then you have to use ICall. There is no api to disable it from the application.
    If you have long intervals where you do not need to use the device you could send it to standby or shutdown to save energy.

    If you want to have a raw look at how to send a BLE packet you can check out the rfDualModeTx_CC1352R1 project from the SDK.

    Kind regards,
    Theo

  • Hi Theo Lange,

    The main MCU is always in Standby mode. But every 250ms there is a wakeup event from the RTC clock. This is a project requirement. It can't be avoided.

    For very short period of time, the MCU is in Active mode and again in Standby mode. The problem is that the total average current consumption is defined by the execution time of RTOS tasks and our execution time. Please see the attached pictures. When the ICall module is enabled, this wakeup time is doubled (up to 1ms). This increases our total average current consumption with almost 100%. That is why, my question was, is it possible somehow to suspend the ICall module OR at least to minimize this wakeup time from the RTOS before the execution of our code?

    Again, we did 2 very simple tests with example projects - with and without ICall module. Both projects were with single RTOS task. In the first project, the wakeup time is about 400-500us. In the second project with ICall module, it is 1ms. This increases the current consumption EVEN if our main cycle/thread is without any application code.

    Kind regards,

    Angel

  • Hi Angel,

    If you want to run the Bluetooth low energy stack you need to run Icall, it's not possible to remove it.

    However if you're just sending beacons, you can use the rf driver directly. This will save you a lot of processing power, not just on the wake up. You can see a code example in the example Theo referenced (rfDualModeTx).

    https://dev.ti.com/tirex/explore/node?node=A__AOe1Ch-3wUtavdKBHB4ZCQ__com.ti.SIMPLELINK_CC13XX_CC26XX_SDK_PROPRF_MODULE__BSEc4rl__LATEST&placeholder=true

    Cheers,

    Marie H

  • Hi Marie H,

    Thanks for the response. Good proposal, but it is not useful for us. Our device has the option to be in BLE connected mode for firmware updates or settings. No full happiness.

    My last question. I see only one possible option. Because we have very long time intervals without BLE transmissions (5, 10 minutes or even more), to stop all BLE tasks and uninitialize the ICall module and to be initialized again next time when we need to have BLE functionality. Is it possible to be done, even if there are not any API functions?

    Cheers,

    Angel

  • Hi Angel,

    I don't think we have a "close" API for the BLE-Stack, so you would need to restart the whole device when you want to start the BLE-Stack.

    Cheers,

    Marie H