Skip to main content

DA14531 connected RSSI levels

2 months ago

DA14531 connected RSSI levels

Posted byFCharles30 points 3 replies
0 upvotes

Dear,

I am running some basic range tests to see if the DA14531 will fit for a project. I am using a DA14531 USB development kit as a BLE connectable advertiser alongside another development kit in the role of a BLE master.

The USB DK is programmed with the version 6.0.14.1114 of Dialog's SDK based on the ble_app_barebone example. Once connected, an app_easy_timer periodically sends a GAPC_GET_INFO_CMD message with the GAPC_GET_RSSI operation. The related handler retrieves the rssi field of the received message and converts from LSB to dBm. From there, I can derive for example minimum, maximum and average RSSI levels observed during the connection with the master.

The observed levels are higher than expected, by a factor 2 to 3. When devices are 4 meters away from one another, the received RSSI on average is around -20dBm. If i reproduce this experiment with a phone or another development kit as a BLE slave, the average RSSI levels are closer to -50dBm.

The conversion formula I use is derived from the formula in the sdk/platform/core_modules/src/rf_585.c file. Since the DA14531 datasheet specifies a Lres_rssi of 0.5 dB/LSB, I thought the initial formula would give a close enough approximation. Yet, observations would indicate this is not the case, but I cannot find other articles, resources or source code giving any other formula. Am I missing someting ?

Kind regards,

FC

accepted answer!

2 months ago

PM_Dialog

Hi FCharles,

Thanks for coming and posting your question on our new public forum. To get the RSSI, when the device is connected , you should issue GAPC_GET_INFO_CMD with GAPC_GET_CON_RSSI operation in order to request the RSSI values. Since the GAPC_GET_INFO_CMD is sent, you will get a GAPC_CON_RSSI_IND, so you will have to handle this message. The values will be returned to rssi member of the struct gapc_con_rssi_ind. In order to convert RSSI to dBm, please see rf_rssi_convert() in ble_arp.c file. You can also check theSocial Distancing TagsSW Example.

Thanks, PM_Dialog

2 months ago

FCharles 30 points

Dear support team,

thank you for the reply. I did not think of investigating source files and was searching through the header files only.

The -127 offset instead of the -112 offset I was using explains partly the abnormal power levels observed.

However, it still seems the RSSI is quite high. Nonetheless, many thanks for your support!

FC

2 months ago

PM_Dialog

Hi FCharles,

Thanks for accepting my answer. If you have any other question, please raise a new forum thread!

Thanks, PM_Dialog