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.

CC1120 Sleep issue

Other Parts Discussed in Thread: CC1120

Dear all

I have noticed a sleep issue with the CC1120 radio and wonder if others have had the same issue or can clarify how to put the CC1120 into sleep mode completely. We use the CC1120 in an "transmit only" application configured to operate in transparent mode and all seems to work as expected. After power on we initialize the SPI interface, issue a CC1120 Reset (toggling the RST pin) and finally issue a SIDLE and SPWD strobe command. Now the CC1120 is in sleep and consumes less than 1 uA as expected. However after we have had the CC1120 powered up to perform a transmission, we cannot bring the CC1120 back into complete sleep again - it consumes ~ 1.4 mA. The following sequence is carried out at each transmission:

1. Issuing a SIDLE command.

2. Configuring all relevant registers in the CC1120 (taken from SmartRF Studio). GPIO0-3 all configured to 0x30.

3. Performs calibration according to errata.

4. Issuing the STX command.

5. Transmit data (toggling GPIO0 pin according to payload data).

6. Issuing a SIDLE command.

7. Issuing a SPWD command.

Now we would expect the CC1120 to be in sleep again but this is not the case, it consumes as said ~1.4 mA @ 3V.

We have narrowed the problem down to the STX command. If we omit the STX command (thus not transmitting anything of course) the sequence seems to work and brings the radio back into sleep. What we have also found is that if we after transmission (between 5 and 6 above) issues a SRES command we are then able to bring it back to sleep as expected and all thus seems to work, but should it really be necessary to reset the chip before entering sleep mode?

We have also noticed that setting the XOSC_CORE_PD_OVERRIDE to 0, to turn off XOSC subsystem in sleep mode, actually leads to a higher current consumption in sleep compared to set XOSC_CORE_PD_OVERRIDE to 1 (XOSC always on). With XOSC_CORE_PD_OVERRIDE = 1 we can bring it down to ~ 1.1 mA and ~1.4 mA with XOSC_CORE_PD_OVERRIDE = 0. We uses an external 33.6 Mhz TCXO oscillator.

Does anyone have a clue?

best regards

Kim

 

  • What is the MARC state after you issue a STX strobe? It could be that the radio end up in a failure state.
  • Hi TER

    I have just checked and the MARC_STATUS1 registers reads 0x00 indicating no failure just after the STX command.
  • I discovered that I had overlooked the last sentence in the post. If you use a TCXO that is always on you will not be able to reach the power down current in the datasheet. Try to turn off the TCXO if it's on.
  • Note that the radio must be in IDLE state when the SPWD is being issues (stated in the user guide). If you have ramping enabled it takes some time from strobing IDLE until IDLE state is reached. You should therefore always read MARCSTATE to make sure that the radio is in IDLE before trying to enter SLEEP

    Siri

  • Thanks for the fast responses.

    I have checked the TCXO and it is power down. Regarding SIRI' suggestion I have implemented this in my setSleep routine:

      // Send Idle command
      rc = trxSpiCmdStrobe(CC112X_SIDLE);
     
      // Wait for radio to enter IDLE state before issuing the SPWD command
      do
      {
        rc = trxSpiCmdStrobe(CC112X_SNOP);
        __no_operation();
      } while ((rc & 0xF0) != 0x00);
     
      // Send Powerdown command
      rc = trxSpiCmdStrobe(CC112X_SPWD);

    and it works (the __no_operation() is necessary to have it working), so apparently the radio does not enter IDLE state immediately after issuing the SIDLE command.

    Thanks for your support.

    best regards

    Kim

  • I'm having the same problem, but am reaching idle fine. The radio just never shuts down.
  • I am afraid that you need to provide us with more details that this if we are going to be able to help you. What HW are you running and what do you do in SW to enter SLEEP? How do you know that you are not in SLEEP? Are you measuring current? What is the current consumption then? What is the current consumption when in IDLE?
  • See the ongoing discussion here: e2e.ti.com/.../2211409