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.

CC2652R: Enable DCDC

Part Number: CC2652R

Hello,

I've created a custom board with CC2652R1F, see the picture below.
I'm using the DCDC/GLDO output to provide the VDDR power.

When I set the 'Enable DCDC' flag in the syscfg, the controller is unreachable after initialization of the startup functions provided by TI.
With the debugger I found out everything goes fine until the next function:

ResetISR -> SetupTrimDevice -> TrimAfterColdResetWakeupFromShutDown -> SetupAfterColdResetWakeupFromShutDownCfg1

Inside the last function the AON_SYSCTL:PWRCTL.DCDC_EN and AON_SYSCTL:PWRCTL.DCDC_ACTIVE will be set based on the 'Enable DCDC' flag in the syscfg.
The DCDC_EN bit is successfully set.
When the DCDC_ACTIVE bit is set, the debugger will lose the connection and I can't figuring out what is happing next.

Questions:
1. Based on the hardware of my custom board, it is possible to use the DCDC instead of the GLDO. Correct?

2. Is the controller going into Standby mode and this is why I am losing the connection after setting the DCDC_ACTIVE bit?
    If so, is the DCDC not possible in Active or Idle mode?



Looking forward to some reactions.

Kind regards

  • Your DCDC lines look fine, I assume you're following the launchpad schematic closely. I do notice that your RST line has the wrong size capacitor on it. We recommend a 0.1 uF capacitor instead of a 22 uF cap. Can you see what happens if you place the right size capacitor? I think it might be interfering with your startup timing.

  • I have just replaced the reset capacitor with a 0.1µF (100nF) and the same problem occurs.

  • Based off your schematic, it looks like pin 34 is being held to ground. You also have an extra 22 uF capacitor between VDDS and GND. Can you measure the voltages at pin 44 and pin 34 with an oscilloscope and post the picture? As well, have you made any changes to the code? Can it run on a launchpad without issue?

  • When I measure with my multimeter between pin 34 and pin 44 the voltage difference is 0.1V.
    So I believe the voltage is present at the necessary pins.

    But to be sure what is happening during the switch to the DCDC instead of the GLDO, I need the oscilloscope.
    I don't have an oscilloscope at my disposal at the moment. I'll try to make that image and post it next week.

  • Sorry for the misunderstanding - what I meant was can you measure the voltage at either of those pins with respect to ground. I am curious whether the DCDC converter is operating or not.

    As well, do you have a launchpad you can try to run the code on? Have you made any changes to the code, or is it line-for-line from the SimpleLink SDK?

  • I do not have a launchpad to try it on.

    I have imported a CSS project from the SDK simplelink_cc13x2_26x2_sdk_4_40_04_04.
    Perhaps I did changed the bootloader enable pin, can't remeber for sure.
    But after that it only gets in the main (so passed the ResetISR -> SetupTrimDevice() -> etc..) if the DCDC is disabled.

    In the oscilloscope pictures below the red (pink) line is attached to the capacitor just before pin 34 and the green line is attached to the capacitor just before pin 44.
    The voltage that I measure with the multimeter is 3.484V. This is also what you can see on the pictures below.

    This following picture was taken after starting the bootloader and halted at the start of ResetISR.

    The following picture was taken after the DCDC_EN bit was successfully set in SetupAfterColdResetWakeupFromShutDownCfg1.

    The following picture was taken after the DCDC_ACTIVE bit was set in SetupAfterColdResetWakeupFromShutDownCfg1.
    At this point the XDS110 has lost connection through the debugger and the following errors appear.
    (Today I have received the XDS110, these error messages say a bit more than the J-Link standard error messages)
    Note: I had changed the horizontal time of the scope to be sure I would capture any event of happening on these pins when the DCDC_ACTIVE bit was set.

    Cortex_M4_0: Can't Single Step Target Program: (Error -2134 @ 0x0) Unable to control device execution state. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.2.1.00046)
    Cortex_M4_0: Error: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.2.1.00046)
    Cortex_M4_0: Error: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.2.1.00046)
    Cortex_M4_0: Trouble Halting Target CPU: (Error -2062 @ 0x0) Unable to halt device. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.2.1.00046)
    Cortex_M4_0: Unable to determine target status after 20 attempts
    Cortex_M4_0: Failed to remove the debug state from the target before disconnecting. There may still be breakpoint op-codes embedded in program memory. It is recommended that you reset the emulator before you connect and reload your program before you continue debugging


    I could not detect any changes in the voltages at these pins.
    The only difference with the launchpad is the 22µF capacitor. I'll try to remove it and do all the steps again.

    Do you have any other suggestions?

    Kind regards

  • Moving this thread internally to get the software team's perspective on the startup sequence. In the meantime, I would redownload the project from the resource explorer so you know nothing has been changed from the original code, perhaps the rfcarrierwave project, and try flashing again to see if you get the same error.

    You might also find this page helpful for debugging the XDS statements.

    Best,
    Nate

  • Hi,

    Since it seems you are able to debug to a certain extent, can you try testing  your board with SmartRF Studio?
    A simple test such as continuous RX should help us narrow down where the issue could be.

    It should have a "DC/DC Enable" option:

     

    Regards,
    Toby

  • It is running continuous RX with the DC/DC Enabled.
    When it is running with DC/DC Enabled the VDDS is dropped to around 2.1V.

    When I run continuous RX with the DC/DC Disabled the VDDS drops a little bit, around 0.2V.

  • Are the RSSI readings shown in SmartRF Studio reasonable (for reference, in my home environment, it shows about -90 to -96 dBm with both DCDC enabled and disabled) ?

    Can you share which example in the SDK you are trying ?
        Do you have an LED on the custom board to toggle ? If yes, it could be useful to try the drivers/empty example, which periodically toggles an LED and sleeps.

  • If VDDS drops to 2.1 V (from 3.3 V I assume) when running continuous RX with DCDC disabled there is something wrong with your HW. Either a design issue or possibly a damage to the internal DCDC regulator. 

    • What is the VDDR voltage with DCDC enabled and with DCDC disabled?
    • What is the VDDS current consumption in both cases?