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.

CC1200: CCA Implementation With RF Sniff mode

Part Number: CC1200

Hi, 

I wanted to do CCA Implementation along with RF sniff mode in CC1200, Is there any method to achieve it with sniff mode.

Our main concern is that, we are using GPIO0 and GPIO2 for sync detect and RX respectively.

so the only remaining available pin is GPIO3. but as mentioned in Data sheet, it will toggle long the RF sleep and ON state.

kindly guide us how to achieve CCA implementation.

  • I am sorry but I am not sure I understand your use case. Sniff mode is used to reduce current consumption when in receive mode locking for packets, 

    CCA is a TX setting, where you put the device in RX before strobing TX to check if the channel is available or not. You can not use sniff mode to check if the channel is available for TX. 

    Siri

  • Sorry. Let me explain my concern.

    I just want to know if there is my constraints of using CCA when we are using sniff mode.

    if not, how can I use CCA in my application.

    while(1)
    {
    TrxSpiCmdStrobe(CC1200_SWOR);
    ReadRSSI();
    DelaymSec(100);
    }

    In this code snippet, when I kept CC1200 in sniff mode and measured RSSI value, i got RSSI = -128 continuously irrespective of any signal fed to it.

    whereas. if i change the command strobe from EWOR to RX, i get the approx signal strength that is fed.

  • As I already wrote, you cannot use sniff mode/wor if you want to read the RSSI.

    The wor command is made to exit RX as fast as possible if there are no signal there, so by the time you try to read the RSSI, the radio is not in RX anymore.

    Also, if you want to do CCA for TX, you do not need to read the RSSI manually. 

    You simply use the CCS feature of the CC1200, explained in Section 6.11 in the User Guide.

    That means that you will strobe STX when in RX (using normal RX command).

    When you want to be in RX to actually receive packets and not check for clear channel, you can use WOR.

    SIri

  • As you have suggested that we cannot read RSSI value in sniff mode.

    We made a small implementation, where before reading RSSI value we have called RX command strobe and gave 20ms delay. Still doing this when we gave signal of -72 dBm, when reading RSSI value in between we have observed RSSI = -128.



    We have also checked Data sheet and calculated CS response time and it came as 0.3 ms, but still we are giving 20ms delay and not able to read RSSI value correctly, can you tell me what could be the issue.

  • An RSSI of -128 indicates that the RSSI is not valid yet (have not been long enough in RX) Could it be that in the cases where you read -128, the radio has received some noise and exit RX?

    You can check this by reading MARCSATE after the you read the RSSI to make sure that the radio is still in RX state.

    Siri