Proper way of reading RSSI

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
MeSh_3749161
Level 2
Level 2
First like given

We are trying to read the value of RSSI, by calling the function CyBle_GetRssi() every 250ms or every second, on the module CYBLE224110-00 which is connected to another same module via bluetooth;  however, the RSSI values returned from this function are something like this: 86,-127,107,47,33,-31,-38,48,-39,113,49,-118,-34,-112,-112,-105,66,-98,73,80,-90,81,-89,-89,-3,83,-2,84,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,

The two modules are 50cm far from each other. The expected RSSI, due to having PA/LNA, I guess, is around -20, while as you can see, most of the returned values from the function do not make sense.
What is the proper way of reading RSSI value?

0 Likes
1 Reply
GyanC_36
Employee
Employee
250 replies posted 100 replies posted 50 replies posted

Hello,

    PSoC4 BLE 4.1 devices  do not report a linear RSSI instead fluctuating values. If you want to get a linear RSSI you can do the below process-

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

For linear value of RSSI, the application has to do RSSI mathematics compensation by AGC gain value as below.

when Application reads RSSI, read back register value of BLERD_MONI[15:13]

if bits are 101: compensate RSSI +6

               100 : compensate RSSI+11

               011: compensate RSSI +10

               010: compensate RSSI + 7

               001: compensate RSSI + 0

               000: compensate RSSI – 4

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

However, PSoC BLE 4.2 device does not have this limitation and reports almost liner values with distance.

Also, you need to check that how much overall output power your both devices are set for.

Please find the 'BLERD_MONI' register description in PSoC4 BLE register TRM. (https://www.cypress.com/file/421406/download )

PS: CYBLE224110-00 is a BLE 4.1 device.

-Gyan