DA14531连接RSSI水平
DA14531
4个月前
DA14531连接RSSI水平
发布的FCharles30分 3回复亲爱的,
我正在运行一些基本的范围测试,看看DA14531是否适合某个项目。我使用DA14531 USB开发工具包作为BLE可连接广告客户,同时使用另一个开发工具包作为BLE主人。
USB DK是用Dialog的SDK版本6.0.14.1114编写的,基于ble_app_barebone示例。一旦连接成功,app_easy_timer会定期发送带有GAPC_GET_RSSI操作的GAPC_GET_INFO_CMD消息。相关的处理程序检索接收到的消息的rssi字段,并将LSB转换为dBm。从那里,我可以得出,例如最小,最大和平均RSSI水平观察期间与主连接。
观察到的水平比预期高2到3倍。当设备之间相距4米时,接收到的RSSI平均在-20dBm左右。如果我用手机或另一个开发工具包作为BLE从端复制这个实验,平均RSSI水平接近-50dBm。
我使用的转换公式来自于sdk/platform/core_modules/src/rf_585.c文件中的公式。由于DA14531 datasheet指定了0.5 dB/LSB的Lres_rssi,我认为初始公式将给出一个足够接近的近似。然而,观察表明并非如此,但我找不到其他文章、资源或源代码提供任何其他公式。我是不是遗漏了什么?
亲切的问候,
足球俱乐部
4个月前
嗨FCharles,
感谢您来到我们新的公共论坛并将您的问题发表在这里。为了获得RSSI,当设备连接时,您应该使用GAPC_GET_CON_RSSI操作发出GAPC_GET_INFO_CMD以请求RSSI值。由于发送了GAPC_GET_INFO_CMD,您将得到一个GAPC_CON_RSSI_IND,因此您必须处理这个消息。这些值将返回给结构体gapc_con_rssi_ind的rssi成员。为了将RSSI转换为dBm,请参见ble_arp.c文件中的rf_rssi_convert()。你也可以检查社会距离标记西南的例子。
谢谢,PM_Dialog