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.

CC1125 RSSI read issue

Other Parts Discussed in Thread: CC1125

Hi,

I have some trouble reading the 8/12bit RSSI register values.

In my setup I am communicating between an LPC4078FBD144 MCU and the CC1125 RF chip over SPI. I have two of these setups. The SPI works and sending a package and reading out the raw RSSI also works. Each second I send a package, and each second I listen and receive the package including the RSSI and LQI values by reading out the FIFO register from the CC1125RF.

Now I want to get the exact 12bit RSSI value each time a package is received.(to determine the distance between these set ups)

I tried reading out the RSSI0 and RSSI1 registers, but both give me a constant value and nothing looks like the raw RSSI value. 

Then I tried resetting the AGC_GAIN_ADJUST and AGC_CFG0 register. But still the same values occur. 

I don't know what to write to these registers to read out the correct RSSI0 and RSSI1 values. When do these registers(RSSI0/RSSI1) get updated?

*EDIT*

These are my values I receive out of the read registers.

My RSSI0 value I get = 00010111 (0x17)

My RSSI1 value I get = 00011000 (0x17) 

The RSSI appending byte I get: 10100010 (0xA2) -> This value does change, the closer the higher it gets, the more further away the smaller it gets.

Thanks!

Niek,

  • Note that even though the RSSI resolution is 0.0625 dB, the RSSI accuracy is around a dB.

    Not sure what you mean by raw RSSI value, if you mean the RSSI appended in the status this is the exact same value as in the RSSI register.

    See www.ti.com/.../swra413.pdf for how to read the register.
  • Thanks for the quick reply!

    By raw RSSI value I mean the value in hex and not in dBm. I have walked through that document, but when reading out the 'rssiValid' it gives a '0' instead of '1'. I do get a correct RSSI value that is appended in the status.

    I was thinking, since I send/receive every second, maybe something is wrong with the RSSI_VALID_CNT, and it takes at least 2-9samples. But still this can't be the case because after 10seconds nothing changes to the RSSI1 / RSSI0 value or the rssiValid bit.

    Niek
  • Hi

    When are you reading the RSSI registers? When in RX you need to wait for the RSSI _VALID bit to be set before reading the register. To make sure that you read the same value from the RSSI registers as from the FIFO you need to make sure that AGC_SYNC_BEHAVIOUR is set to freeze the RSSI. The RSSI you read from the RSSI registers will then be the same as the RSSI appended in the FIFO (RSSI1 will be the same as the RSSI in the FIFO). If you restart RX before you read the value, or you use RXOFF_MODE = RX, the RSSI registers will be reset and the value is no longer the same as the one ion the FIFO (the RSSI at sync found). I tested this using SmartRF Studio and the RF device commands and the RSSI in the FIFO and in the RSSI1 register was always the same.

    BR

    Siri