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.

CC2640R2F: CC2640R2F Can't enter in Standby mode, just in IDLE mode

Part Number: CC2640R2F
Other Parts Discussed in Thread: CC2640

Hello. I've been working with the CC2640R2F (5x5cm) microcontroller in Code Compuser Studio, and I need put the device in Standby mode (a consumption of 1uA). I started with PinStandby example proyect (examples of TI-RTOS), it puts the uMicro in IDLE mode. I guess this because of the current consumption, it is 870uA. The sleep(int argSeconds) function doesn't put the device in Standby mode, it puts the device in IDLE mode for several seconds, but, Why i have that consumption if the IDLE mode consumes 650uA? 

I saw in the document CC26xx/CC13xx Power Management Software Developer's (ti.com) and I have tried that the microcontroller enters in StandBy mode with funcions of PolicyManagement, like Power_sleep() and it puts the micro into IDLE mode, again, with a consumption of 652uA, but does't enter in Standby as what is written  (page 8; i watched whole  sequence run, the 13 steps correctly). I saw too that the document describes "the aplication (functions of PolicyManagement) does not select which power mode to enter. The kernel selects the power mode based on the next wakeup and which resources the application request" (page 5), and "The application must consider the latency associated with entering and exiting when using standby mode. If the next wakeup is in less than 1 ms, the TI-RTOS implementation does not enter standby" (page 8) but i used an example, i didn't modify anything of this, the example of TI-RTOS should be able Standby mode, and ain't. 

So, Should I modify the kernel? and if so, where is this done from? Should i download a new SYS/BIOS?

Or, Should I modify something of PinStandby example proyect. Why is it not put in Standby mode? 

Consideration: i'm not using the Launchpad with 48 pins IC (7x7cm), i made a PCB with the chip RHB package (32 pins). Maybe this can affect.

Sorry, i don't speak english, i am from Mexico. Thaks for your atenttion

  • Hello Luis,

    You will definitely need to change the CC2640R2_LAUNCHXL.c/h and Board.h files to accommodate the 5x5 package instead of the 7x7.  There are instructions for Creating Custom Board Files in the BLE-Stack User's Guide.  There are unused pin assignments and crystal considerations as mentioned in this relevant E2E thread.  It would also be good to check the SimpleLink PCB Board Design Guide and perhaps submit your custom design to SIMPLELINK-2-4GHZ-DESIGN-REVIEWS for further review.  How are you measuring current consumption?  Please refer to SWRA478 for further suggestions.

    Regards,
    Ryan

  • Yes, i did modify the source and header CC2640R2_LAUNCHXL.c/h files to the I/O Pins appropriate. Then, the GPIOS are not a problem.  I saw issues with the 32kHz crystal to put the device in Standby mode, I will review that matter on my card. I measuring the average current consumption with a multimeter or by drop voltage on resistor with a oscilloscope (series resistance with CC2640).  

    so, is not there problem with the kernel? 

  • Hi Luis,

    You can not measure standby current using DMM because the current is not steady. As recommended at SWRA478 you should use a DC Power Analyzer. I have however in the past used a high end Fluke DMM and was able to measure the average standby which is according to the datasheet.

    I suggest you measure standby current using the launchpad then move on to your custom board. Use simple peripheral example program for testing.

    -kel

  • There is not an issue with the kernel.   I agree with Markel that current measurements should be performed with precision lab equipment and first on a trusted hardware design such as the CC2640R2 LaunchPad.

    Regards,
    Ryan