查看: 2151|回复: 0

[技术交流] 【蓝牙Mesh】精品系列之十四——RSSI(下)

[复制链接]

93

主题

99

帖子

381

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
381
发表于 2019-7-5 15:01:05 | 显示全部楼层 |阅读模式
RSSI:Received Signal Strength Indiction,接收信号强度指示。
Bluetooth Core_v5.0中,英文原文解释RSSI为“The meaning of the RSSI metric is an absolute receiver signal strength value in dBm to ± 6 dB accuracy. If the RSSI cannot be read, the RSSI metric shall be set to 127.”分为以下几个部分别阐述:
上篇讲述3个部分:
1、[What]RSSI是什么?
2、[Where]RSSI从哪里来?
3、[Why]RSSI如何测出?
下篇讲述3个部分:
4、[How]如何获取RSSI?
5、[How]RSSI有什么应用?
如果文中有不正确或者描述不清楚之处,欢迎各位指出,共同学习。
4[How]如何获取RSSI?
1)一般在蓝牙厂商SDK中会在定义的上报帧结构中定义一个RSSI的参数(蓝牙规范有对部分上报事件的上报参数有要求),只需要访问对应寄存器即可。如下为Telink平台帧结构中的一种,其中就有RSSI,且825X系列芯片精度可做到+/-1dB的误差。
  1. typedef struct{

  2. u32 dma_len;            //won't be a fixed number as previous, should adjust with the mouse package number

  3. u8  rf_len;

  4. u8        proto;

  5. u8        flow;

  6. u8        type;

  7. //        u32 gid0;        //pipe0 code,        used as sync code for control pipe in hamster

  8. u8        rssi;

  9. u8        per;

  10. u8        seq_no;

  11. u8        rsvd;

  12. u32 did;

  13. }rf_packet_pairing_t;
复制代码

2)当连接上设备之后,如果还想获得RSSI的话(RSSI在每次连接事件时都会发生变化的),就需要向数据链路层(LLC)发送查询RSSI请求,LLC就会启动接收功率积分电路(PHY层),当电路工作完成并准备好数据后再给上层一个完成事件,通过携带的参数即可获得RSSI。如下是Telink在BLE-LLC层自定义的函数。
  1. static inline void blc_ll_resetInfoRSSI(void)

  2. {

  3. bltParam.ll_recentAvgRSSI = 0;

  4. }

  5. static inline void blc_ll_recordRSSI(u8 rssi)

  6. {

  7. if(bltParam.ll_recentAvgRSSI == 0) {

  8. bltParam.ll_recentAvgRSSI = rssi;

  9. }

  10. else {

  11. bltParam.ll_recentAvgRSSI = (bltParam.ll_recentAvgRSSI + rssi) >> 1;

  12. }

  13. }
复制代码

5[How]RSSI有什么应用?
目前遇到的,大致有三个部分的应用较多:信号强度指示、自动控制发射功率、室内定位
(1)、信号强度指示。
        应用场景:成品产测、功能调试等需要测试发射机发射功率的场景。
举例介绍:客户需要在完整的产品(比如蓝牙开关)中测试下发射功率,此时需要通过无线耦合测试方式(或者有线的传导方式)测试下蓝牙发射功率,需要在一定测试环境下,用相同接收机(比如Dongle)去测试不同蓝牙开关的广播信道功率。
        优点:不需要破坏完整产品,快速,简单,效率高,可同时测试多个发射机;
        缺点:耦合方式,测试精度不高,且易受到环境、距离等外界干扰;
(2)、自动控制发射功率
应用场景:低功耗的设备
举例介绍:移动端的蓝牙设备,需要低功耗处理。A设备和B设备进行通信时,A设备接收机测试出B设备发射机的发射功率时,A设备可通知B设备降低或者提高发射功率,从而优化功耗和EMI。
优点:使发射机的发射功率在合适的范围,降低功耗和EMI;
缺点:设计较为复杂
3)、室内定位
应用场景:室内定位
举例介绍:一个固定于A点发射机范围内,可以通过RSSI值计算出距离A点Xm范围的接收机的同心圆距离;两个固定于A、B两点发射机范围内,可以通过RSSI值计算出接收机“在二维空间中”两个对称的位置;三个固定于A、B、C三点发射机范围内,可以通过RSSI值计算出接收机“在二维空间中”唯一的位置区域;四个固定于不同平面的A、B、C、D四点发射机范围内,可以通过RSSI值计算出接收机“在三维空间中”唯一的位置。
优点:室内无线三维定位
缺点:定位为一个区域,定位精度主要由接收机测试出的RSSI值精度决定,而接收机测试RSSI的精度易受到环境、障碍物等影响;

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表