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.

RTOS/LAUNCHXL-CC1350: High current consumption in Wake on Radio TX example

Expert 1595 points
Part Number: LAUNCHXL-CC1350
Other Parts Discussed in Thread: CC1350

Tool/software: TI-RTOS

Hi all,

I loaded the rfWakeOnRadio_Tx_CC1350_LAUNCHXL_tiros_css example onto the CC1350 launchpad. The code is functioning well, when I press on BTN1, the LED toggles.

However, when I try to measure the current consumption on the Launchpad, I am getting a constant 4mA current consumption when the program is idle and not transmitting. I have removed all the Jumpers to the debugger and LEDs so the only thing that is powered up is the is CC1350 itself.

Anyone can advise on how to reduce the current consumption?

Thanks!

Cheers,

Kian

  • Hi Kian, when in standby you should see numbers in the range of 6-8 uA, and even lower if the external serial flash is dismounted.
    So there is something going on with your measurement setup. Could you post a picture of the test setup and give a some details on how you measure?

  • Btw: Did you disconnect the USB?
  • Hi Fred,

    Thank you for the quick reply. I am using another 3 party development board that has current profiling function. Here is a measurement profile. It shows the idle current and the current goes up when I press the BTN1.

    As you can see, the current is quite high. I tried loading another example program rfPacketTx, and the current measurement looks correct. I am getting a few microamp of current when the radio is not sending, so I am pretty sure my measurement setup is correct.

    Somehow I think the WOR example is not going into sleep or power saving mode. I have removed all the jumpers and also disconnected the USB, and I am very sure that the debugger part of the Launchpad is not powered. I am supplying 3.3V directly into the development board breakout pins.

  • Anyone can help? I am suspecting its something to do with the example code. But I can't figure out what is the problem. I tried with a few other examples and they all go into power saving mode when there is no other task to perform.

  • Hi Kian, I measured the same example here on my bench.

    The information I gave you is not accurate, I was mixing up the two projects rfPacketTx and rfWakeOnRadioTx. The 6-8 uA can be observed when the device is in standby in the rfPacketTx example:

    I too measure around 4mA for the rfWakeOnRadioTx, this because the radio never powers down.

    This has to do with the BIOS_WAIT_FOREVER statement in the semaphore_pend, which basically means infinite nInactivityTimeout for the RF core.
    It is described in the RF.h file:
    nInactivityTimeout in RF_Params specifies the time RF Core will power down after
    completion of a radio command and no other commands pending in the command queue. The default
    is BIOS_WAIT_FOREVER which means infinite timeout and no power down after end of command.

    You can try to do to do a RF_yield before the semaphore_pend command.
    Description from the driver doc:
    Hint to RF driver that, irrespective of inactivity timeout, no new further commands will be issued for a while and thus the radio can be powered down at the earliest convenience.

    I tried it, and the radio does enter standby, thus giving a lower power consumption:


    From my code, in the txTaskFunction function :

        /* Enter main TX loop */
        while(1)
        {
        	RF_yield(rfHandle); //Added to force radio into standby while waiting for button press
            /* Wait for a button press */
            Semaphore_pend(txSemaphoreHandle, BIOS_WAIT_FOREVER);
    

     

     

     

     

  • Thanks FredG!
  • Hi,

    I tried to power the cc1350 launchpad through the usb and I was shocked to see the average power consumption around 200mW.
    How can I bypass the debugger and supply power directly? 

    Thanks :)

  • You can power it via the pins marked with 3V3 and GND on the bottom right of the board.
    Documentation:
    http://dev.ti.com/tirex/#/?link=Development%20Tools%2FKits%20and%20Boards%2FCC1350%20LaunchPad
    Look at the 'A Closer Look at the Hardware' section

  • Perfect. That is what I was looking for. The consumption just dropped to 0.4mA with radio duty cycling.
    Thanks a lot :D
  • Hello FredG

    I too got a low power current of around 48uA and 20~25mA on transmission. upon following your piece of rfHandle code in the rfWakeonTx. However is there a way I can reduce this further to around 1-5 uA because my project requires power saving.

    Or is there a way I can interface the pinInterrupt code using transmission too? because i have seen that the pinInterrupt code gives around 7uA on deep sleep.

    Or can i choose a lower frequency like 434 Hz because lower frequencies consume less power? how do i change that in the code?

    Regards,

    Shubhankar