Hi,
I have a few questions concerning the power consumption of the CC1311. I managed to measure an idle current of about 2uA, its actually quite a bit less than that but spikes to ~2 every couple of seconds or miliseconds. I'll assume the datasheet states the maximum output. This was done using the empty project from the examples and removing the GPIO for the LED.
I now switched to my actual project or rather a test version of that for power measurements. The code looks something like
int main(void) { /* init peripherals */ GPIO_init(); SPI_init(); ADC_init(); NVS_init(); I2C_init(); /* create application thread with highest priority to finish thread creation before other threads are run. Set prio to -1 afterwards to stop execution but not delete thread. All global semaphores/mailboxes/configs live on this threads stack.*/ Task_Params taskParams; Task_Params_init(&taskParams); taskParams.stackSize= APP_STACK_SIZE; taskParams.stack = applicationStack; taskParams.priority = PRIO_APP; Task_create( (Task_FuncPtr) ApplicationThread, &taskParams, NULL ); BIOS_start(); /* start thread scheduling and hope for the best */ return (0); }
The application thread does nothing for now and immediately goes to constant sleep:
while(1){ Task_sleep(1000000); }
I measured about 55uA on one board and about 70-75uA on a few others. Is this an expected order of magnitude? I'm not entirely sure how to interpret the second half of the table in chapter 8.5. My assumption would be that as long as the controller is in the sleep-loop it goes into the "standby with cache retention" mode and draws 2.1uA (RCOSC_LF mode). The peripheral and serial power domains draw a combined 50.3uA (being turned on by GPIO_init() and I2C/SPI_init() respectively) plus the 2.1uA standby current would result in about 53uA. Once the I2C module for example is clocked, it would draw another 11.6uA. Is this somewhat correct?
Greetings
Max