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.

CC2650/40 missing timer wake in Idle State

Other Parts Discussed in Thread: CC2650, CC2640

Hi,


I developpe an application with CC2650/CC2640F128RGZ


This with: Environement: CCS v6.2.0 / Compiler: TI v5.2.4 / RTOS: tirtos_simplelink_setupwin32_2_14_03_28

I have a minimalist test project (see below)  'Annex 1'. It is based on the TIDA-00759-Firmware project (+10 years life PIR Sensor with CC2640)

This modified project just blink a LED each 2 seconds and send a frame on 'BLE Chanel 39' each seconds.

In this project I use the Idle state of CC2650/40 CPU. I have Enable It in .cfg file. I have enable it with

 -> Power.idle = true;  (generated by cfg configurator in a script).

In my test progamm, I use in a loop two 1 second sleep temporisation.

 -> Task_sleep(One_sec / Clock_tickPeriod);

But from time to time, in random way, the microcontroller missing its wake, and wakeup not 1 second after but 1 074 second after (~18 minutes after). This phenomenon is very random and seems to come from the power regulator. This occurs on average every one or two hours. The elapsed time is each time exacly the same (1 074 726 518µS +/- 10 000 µS).

When CPU is in Hidle mode, The switching regulator have a special operation mode. It is on for 5 -10 mS (recharge time) and off during 400-500mS and loop. This induce a ripple on the voltage that I think is causing the problem.

If I desable Power Idle mode (Power.idle = false;). I don't have the problem but current consumption is excessive.

If the XDS100 Probe is attached, I have no problem either. I think it is because in this case the regulator operates in a another mode.

I've been running my test application on a TI reference card 'CC2650EM-7ID' supplyed with SMARTRF06. To run my test programm in same condition as on my prototype board. I disconnect this card from SMARTRF06 and supply it with 3v3 power supply. I encounter the same problem.

Is there a way to control the operating mode of the switching regulator when the microcontroller is Idle? without recharge time?

Are there tricks to handle this problem?

Best Regards.

Annex 1 - Source code of my main task:

static void txTaskFunction(UArg arg0, UArg arg1){

 initializeTask();

 sendPacket(0xFF);

while(1){

sendPacket(0x01);

SetLet(1);

Task_sleep(One_sec / Clock_tickPeriod);

sendPacket(0x00);

SetLet(0);

Task_sleep(One_sec / Clock_tickPeriod);

};

}