• TI Thinks Resolved

CC1120: How to reduce power consumption of CC1120?

Intellectual 405 points

Replies: 19

Views: 176

Part Number: CC1120

Hi,

We have RF receiver module using PIC16 MCU. We think this module consume too much power ~20 mA. We expecting uA level.

My questions is

- Do we need disable SPI when SS is HIGH?

- Can we put CC1120 in sleep mode? If yes, can the RF signal wake it up?

- Any TI application note dealing with power?

Appreciate any thoughts.

Thanks,

Dick

  • Guru 227235 points
    See the SPWD strobe (3.2.2 in www.ti.com/.../swru295e.pdf). After issuing a SPWD strobe, CC1120 is in power down and will draw less than 1 uA. To be able to register RF power, the chip has to be in RX. Look into WOR/ sniff mode to save current in RX.

    You are not describing the system usage. Please elaborate some on the system, based on this it's easier to give hints on how you can save power.

     Out of office, back 20.06

  • In reply to TER:

    Thanks for the info. I did try CPWD before post. Seems I will need do some debugging.

    I have trouble upload our design draw file to this post,- so maybe need to figure out how to.

    Our design is a hub with CC1120 receiver module and 3G/4G modem. The RF module communicate with RF device then process the data then transmit to cloud.

    Thx

    Dick

  • Guru 227235 points

    In reply to Dick Lin:

    - You wrote that you tested SPWD, what was the result? (Note that the chip goes out of power down if CSn is toggled after the SPWD command is sent.

    - When you click reply, you have some blue text under the box you enter text in that says "Insert Code, Attach Files...", press this and you can attach files by pressing the paper clip. Note that this file will be public.

     Out of office, back 20.06

  • In reply to TER:


    Hi,
    Our code is pretty straight forward. GPIO interrupt from RF and set flag in ISR. The infinite loop then process receive RF.

    We were able to wake up PIC16 then process the RF data. After I added the CC1120_SPWD then unable to wakeup the system.

    I haven't done too much debugging yet other than reading datasheet, TI reference code.

    I also attached the arch of our design.

    HUB-ti.pdf



    Thx
    Dick


    void __interrupt isr() { /* GPIO0 interrupt */ if(RF GPIO0 interrupt) { receivedSyncFlag = true; } } void main(void) { // PIC16 MCU initPIC(); initSPI(); /* Write Radio Regs */ registerConfig(); /* Calibrate */ manualCalibration(); calibrateRCOsc(); /* Flush RX FIFO */ trxCmdStrobe(CC1120_SFRX); trxCmdStrobe(CC1120_SWORRST); __delay_ms(10); /* Start WOR */ trxCmdStrobe(CC1120_SWOR); // THE CODE I ADDED. trxCmdStrobe(CC1120_SPWD) while(1) { if (receiveSyncFlag) { ReceiverRFData(); } // PIC16 MCU SLEEP(); NOP(); } }

  • Guru 227235 points

    In reply to Dick Lin:

    Not sure what you expect here. When you issue a SPWD strobe the radio is off and will never receive anything and hence the receiveSyncFlag will never be set.

     Out of office, back 20.06

  • In reply to TER:

    I thought there is a wake up on radio so the CC1120 will be wake-up. Otherwise what's the eWOR for? 

    If the device not response to anything in SLEEP mode, what's the purpose of this mode?

    Thx

  • In reply to Dick Lin:

    I figured it out if I have SPWD stobe to cc1120, then the GPIO0 interrupt to MCU never happened.

    My question is why in the SPWD mode, interrupt doesn't trigger to MCU?

    Thx

    Dick

  • In reply to Dick Lin:

    My bad, SWPD will be radio off.


    I found there is a example online which use SWOR but in our case, still consume about 20 mA which is way higher than we are expecting. we are expecting in power saving mode, should be uA level.

    Thx

    // Infinite loop
    while(TRUE) {

    // Set radio in RX
    trxSpiCmdStrobe(CC112X_SWOR);

    // Wait for packet to be received
    while(packetSemaphore != ISR_ACTION_REQUIRED);

    // Reset packet semaphore
    packetSemaphore = ISR_IDLE;

    // Read number of bytes in RX FIFO
    cc112xSpiReadReg(CC112X_NUM_RXBYTES, &rxBytes, 1);
  • In reply to Dick Lin:

    My other question is what's the power consumption when in SWOR mode? Thx
  • Guru 227235 points

    In reply to Dick Lin:

    It sounds like you have misunderstood some on how WOR and SPWD work.

    SPWD set the chip in power down and the only way to wake it up is to pull CSn low. The chip is off in this state and will not know what is going on the air or will not be able to send anything to the MCU.

    See this app note for more about WOR:
    www.ti.com/.../swra428a.pdf

     Out of office, back 20.06