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.

CCS/CC1310: Standby mode

Part Number: CC1310


Tool/software: Code Composer Studio

Hello!
We are developing a device based on the cc1310. We faced the problem that the controller, after going into standby mode, consumes a current of about 1.5mA, which is a lot. PinStandbay and the proposed examples were used as a test case. For a long time we have been understanding what the problem is, but we have not yet been able to find a solution. On the cc1310 launchpad debug board, everything works correctly, in standby mode the consumption is of the order of microamperes. Maybe the problem is in our hardware, but we turned off all possible peripherals, leaving only the power supply, crystal resonator, balun and antenna.
The only thing is that our MCU package differs from the cc1310 launchpad (CC1310F128RHB), can this somehow affect the work?

Would you recommend solutions to override this problem?

  • Hi Alex, 

    Which version of the SDK are you using and which project? 

    Did you follow the guidelines in the Hardware Configuration and PCB Design Considerations when designing your custom board?

    Thanks,
    Elin

  • Hi Elin,

    We use simplelink_cc13x0_sdk_4_10_01_01 and simplelink_cc13x0_sdk_3_20_00_23. The result is the same. SDK example "PinStandbay".

    Schematic and PCB in attachment. PCB is 2 layer, PCB thickness=1mm, copper thickness= 0.018mm. VD1-VD5 , R6,R7,R3,C27 are unconnected. We also tried to use the built-in DC/DC with 6.8uH inductor and 22uF capacitor, nothing changed

    iT_v1.pdf

    Thanks,

    Alex

  • Hi Alex,

    Thanks for sharing.

    Have anyone at TI reviewed your design before manufacturing it? 

    Thanks, 
    Elin 

  • Hi Elin

    No, the design has not been verified by TI. Matching circuit was tuned using a vector analyzer to minimize return loss

    Thanks,

    Alex

  • Hi Alex,

    Okay, thanks for sharing. I'll assign a member of the HW team to review your design. 

    Thanks, 
    Elin

  • Would you be able to post the layout in gerber format? It looks like the vias under the chip are not connected to anything.

  • Hi

    TER

    These vias are connected to the ground plane.

    Thanks,

    Alex

  • I noted that you only have 5 pF load caps for the 32 kHz xtal, what is the CL spec for the 32 kHz xtal you use? It could be that the xtal never start up and you don't go down to the lowest power state. You can try to change the setting in CCFG.c to use the internal LF RCOSC instead as a debug step to see if this change the current consumption. 

  • NX3215SA-32.768KHZ-EXS00A-MU00525

    When I select LF RCOSC the program starts and after about 1 second stops working. What could be the reason?

  • Are you here referring to running pinstandby? 

  • Yes, pinstandby, I changed the pin assignment to match my board:

    But on launchpad-1310 it works well!

  • The pinstandby should alter the state of the LED every 5 s. How do you know the program stops working after ~1 s? 

    A typical failure on custom boards is that the 32 kHz doesn't start and the chip then never goes to sleep. But if you switch to LF RCOSC as you have done, nothing should prevent the chip from going into sleep. 

    Could you share the full CCFG.c file you are using?

  • I took 1 second conditionally. Perhaps the program does not start at all. at least before switching the LED does not reach.

    /*
     * Copyright (c) 2015-2017, Texas Instruments Incorporated
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     * *  Redistributions of source code must retain the above copyright
     *    notice, this list of conditions and the following disclaimer.
     *
     * *  Redistributions in binary form must reproduce the above copyright
     *    notice, this list of conditions and the following disclaimer in the
     *    documentation and/or other materials provided with the distribution.
     *
     * *  Neither the name of Texas Instruments Incorporated nor the names of
     *    its contributors may be used to endorse or promote products derived
     *    from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
     * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
     * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     */
    
    /*
     *  ======== ccfg.c ========
     *  Customer Configuration for CC26xx and CC13xx devices.  This file is used to
     *  configure Boot ROM, start-up code, and SW radio behaviour.
     *
     *  By default, driverlib startup_files/ccfg.c settings are used.  However, if
     *  changes are required there are two means to do so:
     *
     *    1.  Remove this file and copy driverlib's startup_files/ccfg.c file in
     *        its place.  Make all changes to the file.  Changes made are local to
     *        the project and will not affect other projects.
     *
     *    2.  Perform changes to driverlib startup_files/ccfg.c file.  Changes
     *        made to this file will be applied to all projects.  This file must
     *        remain unmodified.
     */
    
    #include <ti/devices/DeviceFamily.h>
    
    #define SET_CCFG_MODE_CONF_SCLK_LF_OPTION            0x3        // LF RCOSC
    
    #include DeviceFamily_constructPath(startup_files/ccfg.c)
    

  • Could this be a chip problem in the RHB package?

    My project that doesn't work. 

    If you replace

    #define SET_CCFG_MODE_CONF_SCLK_LF_OPTION 0x3 // LF RCOSC

    with

    #define SET_CCFG_MODE_CONF_SCLK_LF_OPTION 0x2 // LF XOSC

     then everything is ok!

    3730.pinStandby_CC1310_LAUNCHXL_tirtos_ccs.zip

  • - I got the impression that 

    #define SET_CCFG_MODE_CONF_SCLK_LF_OPTION 0x2 // LF XOSC

    was what you used as default and that didn't work?

    - In the schematic you are not using the DCDC but in the CCFG file it doesn't look like you have set the chip to use something else? 

  • And if you use RHB, you should get an error if trying to run this code from CCS since it looks like you haven't removed undefined pins. See http://dev.ti.com/tirex/content/simplelink_cc13x0_sdk_4_10_01_01/docs/proprietary-rf/proprietary-rf-users-guide/proprietary-rf-guide/custom-hardware.html#custom-hardware

     

  • Unused pins are disabled in code

  • 1. LF XOSC works, but consumption is large (1.5mA)
    2. LF RCOSC DOES NOT WORK! Why?

    To disable DCDC do you need to do this ?:
    #define SET_CCFG_SIZE_AND_DIS_FLAGS_DIS_ALT_DCDC_SETTING 0x1 // Alternative DC / DC setting disabled

  • No,

     #define SET_CCFG_MODE_CONF_DCDC_RECHARGE             0x1        // Do not use the DC/DC during recharge in powerdown

    #define SET_CCFG_MODE_CONF_DCDC_ACTIVE               0x1        // Do not use the DC/DC during active mode

  • It seems I figured out the problem.
    1. Probably there was some kind of CSS error: cleaned the project and recompiled pinStandby again - it worked. Until I cleaned it, it did not work.
    2. You were right - when working with RCOSC, the consumption in sleep mode is 3-4 μA. Probably we have problems with LF XOSC, we will deal
    3. Changing the DCDC settings will not affect the operation, all without changing them. How can this be controlled?

    Thanks!

  • It looks like you deleted your post outlining the result of the run where you disabled DCDC?

    - "LF XOSC works": I guess that this means that the LED blink with a 5 s pattern?

    - "LF RCOSC DOES NOT WORK": What happens if you debug this code line by line? Do you reach the mainThread if you set a breakpoint within this function? 

  • I pressed Reply 2 seconds too fast...

    Not sure why your code seems to be running fine if you don't change the DCDC settings but if you are not using DCDC, set the CCFG accordingly to be safe. 

  • I was in a hurry about DCDC. See the results in my last post!