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.

CC2652RB: Configure LDO vs. DCDC at Runtime

Part Number: CC2652RB
Other Parts Discussed in Thread: CC2652R

Hello,

We have a large number of devices in the field taking advantage of using the DCDC converter through the CCFG page, and have their hardware set up per DC/DC mode (Fig 11-1 in www.ti.com/.../swra640). We're curious if there is a way in application firmware that we can choose to disable the DCDC at runtime and swap over to the Global LDO instead.

Is this possible? And can you give an example of how this would be done?

Are there any limitations to using the LDO where we may need the DCDC converter?

What efficiency will we see from the LDO in lower power modes? How will this affect our sleep current?

Regards,
Tyler

  • Hello Tyler!

    The general consensus is that the CCFG should not be written to during runtime, as it would require an erase/write flash procedure and a failed attempt could brick the device.  Here are E2E threads on the topic:

    https://e2e.ti.com/f/1/t/1197426 
    https://e2e.ti.com/f/1/t/919521 
    https://e2e.ti.com/f/1/t/647417 
    https://e2e.ti.com/f/1/t/998671 

    I will have a SimpleLink HW expert address your last two questions.

    Regards,
    Ryan

  • Hey Ryan!

    I don't know if I improperly phrased my question, but we definitely DON'T want to resort to updating the CCFG at runtime; that sounds scary.

    We're looking for a solution where we can bypass the CCFG settings entirely, ideally through some sort of driver-based functions. Is this possible? Or are the power drivers all hard-coded into ROM and unchangeable?

    -Tyler

  • Tyler,

    Are there any limitations to using the LDO where we may need the DCDC converter?

    The only limitation of the LDO is a higher power consumption. As for advantages, it allows the device to operate at lower VDDS voltages (below ~2.0V) and does not require the two passives at the output of the DCDC_SW pin. 

    What efficiency will we see from the LDO in lower power modes? How will this affect our sleep current?

    Unfortunately we don't publish information about the LDO efficiency. However, graph 8.16.1 of the CC2652RB datasheet gives an idea on the increase in current consumption when using the LDO or the DCDC (check the difference at around the 2V mark).

    Hope this helps,

    Rafael

  • Driverlib documentationDriverlib also includes a customer configuration file (ccfg.c) which contains settings that are being applied mainly by ROM boot sequence, trimDevice() during startup, and radio SW. The configuration settings are stored in a specially allocated address range in flash referred to as "CCFG area". The user must edit the CCFG to fit the needs of the specific design and application.

    The CCFG settings are read and applied at device startup, so the only way to modify them is to update the CCFG in flash and perform a device reset.  There are no APIs for modifying the CCFG due to the aforementioned reasons.

    Regards,
    Ryan

  • We're all clear on there not being a way to modify the CCFG at runtime.  But our end goal isn't "modify CCFG" so much as it is "disable DC/DC and use LDO instead."  You may be saying that the only way to do that IS via the CCFG setting, but we'd like an explicit confirmation of such if that's the case.  Because we don't care if we can't change the CCFG if there's still another API, or power function we can modify, or register we can write that will simply switch operation from the DC/DC to the LDO.  We have devices in the field that we can OTA update if there's a way to modify whatever function would be reading from the CCFG that we can't change.

  • In other words, is something like this still possible for the CC2652R.

  • To add to Chris's response - we essentially want to know what code is USING the defines in the CCFG that are set (that we DON'T want to change).

    The next step from there is to find out if that code can be modified at all, and if so, how we can do that to ensure our idle task and power profile within the RTOS is such that we're able to choose our regulated voltage supply source.

  • Ah, TIL and thanks for bearing with me!   So the APIs mentioned in the other E2E thread are still relevant for CC26X2 devices.

    SysCtrl_DCDC_VoltageConditionalControl 
    PowerCtrlSourceSet

    <CC26X2_sdk_directory>\kernel\tirtos7\packages\ti\dpl\PowerCC26X2_tirtos.c does no use SysCtrl_DCDC_VoltageConditionalControl directly as with <CC26X0_sdk_directory>\kernel\tirtos\packages\ti\dpl\PowerCC26XX_tirtos.c inside the PowerCC26XX_standbyPolicy, however it does use PowerCC26X2_sysCtrlUpdateVoltageRegulator which just maps to SysCtrl_DCDC_VoltageConditionalControl(); 

    So, assuming that the process is the same as before then you would copy PowerCC26X2_tirtos.c directly into your project workspace and comment out PowerCC26X2_sysCtrlUpdateVoltageRegulator.  Then you use the PowerCtrlSourceSet function directly inside your application.  You can use PowerCtrlSourceGet afterwards to confirm that the change took effect after waking up from a low power mode in accordance with the Driverlib notes

    The system will never allow a switch to the PWRCTRL_PWRSRC_ULDO when in active mode. This is only allowed when the system is in lower power mode where no code is executing and no peripherals are active. Assuming that there is an external capacitor available for the PWRCTRL_PWRSRC_DCDC the system can dynamically switch back and forth between the two when in active mode.The system will automatically switch to the GLDO / DCDC when waking up from a low power mode.

    This change is based on the AON_PMCTL:PWRCTL register which you can monitor inside a debug session or report out using a communication peripheral, LED, etc.  Sorry again for the earlier confusion and please let me know if the suggested method works for your system.

    Regards,
    Ryan

  • Ryan - thanks for the summary and details. Chris and I will be looking into this over the coming days and will reach out if we have any additional questions!