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: CC1200 handling CCA ?

Part Number: CC1200


Dear All,

              We want to handle CCA functionality for our CC1200 866 MHz radio. How we can setup our threshold properly. We want threshold of -85 i.e if signal is found to be stronger than -85 on the current channel then we should not do Tx.

We tried to set AGC_CS_THRESHOLd  = 0x55(Hexadecimal) or 86(Decimal) but when we give it signal of -40 dBm shouldn't it trigger CCA as this input signal is greater(Stronger) then the threshold programmed but we have found that CC1200 still goes to Tx mode.

[1] How we can mange the proper threshold for CCA

[2] We have chosen 011 : Indicates clear channel when RSSI is below threshold and currently not receiving a packet

We don't have access to CC1200 dev kits

Please guide us. Thank you

  • Setting AGC_CS_THR to 0x55 means that you are setting the CS threshold to -14 dBm.

    To set it to -85, AGC_CS_THR should be 0x0E.

    Remember the RSSI offset (-99 dB for RX BW = 10 kHz, and otherwise -81 dB). See page 88 in the User's guide.

    Siri
  • Hi Siri,
    Thanks for your reply, can you guide us how you calculated those threshold ?
  • The number is two's complement with 1 dB resolution.

    Assume you want the threshold to be -80:

    CS threshold = AGC_CS_THR + RSSI Offset
    AGC_CS_THR = CS threshold - RSSI Offset
    AGC_CS_THR = -80 - (-99) = 19 (0x13)

    Assume you want the threshold to be -105:

    CS threshold = AGC_CS_THR + RSSI Offset
    AGC_CS_THR = CS threshold - RSSI Offset
    AGC_CS_THR = -105 - (-99) = -6 (0xFA)

    If you do not know two's complements, you can google it :-)

    You can also use the RX Sniff Mode Tab i SmartRF Studio and select the CS threshold you want, and it will calculate the register value for you.

    BR

    Siri
  • When we turned on CCA on our CC1200, our Rx does not work. but when we disable it Tx & Rx both works..??
  • Enabling CCA (setting CCA_MODE to something other than 0) and changing the RSSI threshold does not affect RX operation in any way.
    I just tested it setting up a link in Studio where I ran the device in normal RX mode and received all transmitted packets, regardless of CCA mode and threshold.

    When you say that RX stopped working you need to explain what you are doing in your code, and what changes you have done compared to the solution when RX works.

    Siri
  • [1] If we want to Implement CCA without using any Radio GDOs how can we do this. Is it even possible ?. As on out PCB GDO0,GDO2 are already used and GDO1 is not available as PCB connection.

    [2] Can we automatically use CCA by

    {CC120X_AGC_CS_THR, 0x0E},
    {CC120X_PKT_CFG2, 0x0C}, // Turn On CCA

    without using Radio GDOs

    Kindly, Guide we are having trouble implementing CCA as we don't have access to spare GDOs, and still we want to implement CCA without any manual intervention.
  • It depends on what you are using GDO0 and GDO2 for. If one of them i set to Sync sent/packet sent (PKT_SYNC_RXTX) you can use this signal to check if something is actually being sent when strobing STX. Since this signal also is used in RX mode (and you need to be in RX before you enter TX mode when using CCA), you can read NUM_TXBYTES to figure out is data is sent after an interrupt from this signal.

    You need to make sure that the CS is valid before you strobe STX. If you cannot have the CARRIER_SENSE_VALID flag out on a pin, you can probably use a fixed delay from entering RX mode until you strobe STX mode, to be sure that the CS is valid before trying to transmit.

    Siri