(http://www.bitconn.com/form_1/ 登记后,购买XBee模块,送USB评估底板及相关中文资料,或者免费申请借用评估套件)
目录
信号强度和射频范围
本节描述障碍和其他因素如何影响网络中设备的通信状况。一旦了解了可能影响信号和无线通信的因素,就可以尝试执行范围测试。
距离与障碍
基本通信系统包括以下组件:
- 发射元件
- 接收装置
- 进行交流的环境
- 天线或其他聚焦元件
可以将RF通信与简单的音频通信进行比较:我们的声带传输的声波可能被某人的耳膜接收。我们可以使用扩音器来聚焦和引导声波,以提高通信效率。
无线通信中发射机的作用是一个信号馈送到用于传输的天线。无线电发射器以一定的信号强度(功率输出)将数据编码为RF波,以将信号投影到接收器。
所述接收机获取并解码来自通过接收天线的数据。接收器执行接收和解码指定的RF信号,同时拒绝不需要的RF信号的任务。
天线是将能量集中在特定方向上的设备,类似于扩音器集中语音能量的方式。天线可以根据设计和应用提供不同的辐射方向图。将能量集中在给定方向上的量称为天线增益。
发射器和接收器之间的空间是系统的环境。在发送和接收天线之间获得RF视线(LOS)对于实现远程无线通信至关重要。通常有两种类型的LOS用于描述环境:
- 可视LOS是从一个站点看到另一个站点的能力。它仅需要两点之间的直线路径。
- RF LOS不仅需要视觉LOS,还需要无障碍的橄榄球状路径(称为菲涅耳区),因此数据可以从一个点到另一点进行最佳传输。菲涅耳区可被视为两个站点之间的隧道,为RF信号提供了路径。
影响无线通信的因素
尽管为某些XBee设备指定的通信距离可以达到25英里或更长,但是此值可能会受到降低信号质量的因素的影响:
- 某些材料可能会反射射频波,从而干扰其他波并降低信号强度。特别是,金属或导电材料是很好的反射器,尽管几乎任何表面都可以反射波并干扰其他射频波。
- 无线电波可能会被其路径中的物体吸收,从而导致功率损耗并限制传输距离。
- 可以调节天线,以增加无线通信系统中数据可以传播的距离。天线可以施加的焦点越多,系统产生的范围就越大。尽管高增益天线覆盖的面积较小,但它们可以实现的范围比低增益天线更大。
手电筒可以帮助说明原理。一些手电筒允许用户通过扭转透镜来聚焦或散布光束来调节光束。当透镜扩散(或扩散)光束时,该光束传播的距离比扭曲透镜聚焦时要短。
- 视线可以帮助提高信号的可靠性。
为了达到最大射程,无线电波传播的橄榄球状路径(菲涅耳区)必须没有障碍物。路径中的建筑物,树木或其他任何障碍物都会缩小通信范围。如果将天线安装在离地面不远的地方,则超过一半的菲涅耳区域最终会因地球曲率而受阻,从而导致范围显着减小。为避免此问题,请将天线安装在离地面足够高的位置,以使地球不会干扰菲涅耳区域的中心直径。
信号强度和RSSI引脚
接收信号强度指示器(RSSI)测量无线电信号中存在的电量。它是天线上接收到的信号强度的近似值。
测量接收天线处的信号强度是确定通信链路质量的一种方法。如果远距离的发射机靠近接收机,则在接收天线处发射信号的强度会增加。同样,如果将发射器移得更远,则接收天线处的信号强度会降低。
RSSI的单位为dBm。较大的负值(以dBm为单位)表示信号较弱。因此,-50 dBm优于-60 dBm。
XBee模块的引脚6可配置为RSSI引脚,该RSSI引脚输出代表该值的PWM(脉冲宽度调制)信号。为此,将P0配置为RSSI [1]:
XBee Grove开发板包括一个连接到XBee模块的引脚6的LED。当此引脚配置为RSSI引脚时,每次连接的XBee模块接收数据时,LED都会点亮。它的强度代表最后接收到的数据的RSSI值:更亮的光意味着更高的RSSI值和更好的信号质量。
通过修改RSSI PWM计时器(RP)设置,配置RSSI引脚处于活动状态的时间量,从而使LED保持点亮的时间量:
RP值以十六进制表示。例如,配置值0x1E等于十进制的30,这意味着该引脚将处于活动状态三秒钟(30 * 100 = 3000ms)。因此,LED将点亮三秒钟,代表最后一个RSSI值。
RP时间已过而没有数据已被接收时,PIN将被设置为低,并且LED不会亮,直到更多的数据被接收。上电时,该引脚也将设置为低电平,直到接收到第一个数据包。0xFF值将永久使能引脚;以这种方式配置时,它将始终反映最后接收到的数据包的RSSI值。
尽管RSSI LED的亮度变化可能难以区分,但该LED可用于验证数据包的成功接收。每次XBee模块接收数据时,在配置的时间内LED一直亮着。
注意“接收信号强度”(DB)参数
还可以通过读取XBee DB参数值来获得RSSI 值。它表示以十六进制表示的最后接收到的数据包的RSSI绝对值。
RSSI是链接质量的最佳指示吗?
要记住的一件事是RSSI只是在天线端口检测到的RF能量的指示。报告的功率水平可能人为地高,因为它可能包括背景噪声和干扰产生的能量,以及所需信号产生的能量。在容易受到干扰的环境中,这种情况会更糟,在这种环境中,可能始终获得较高的RSSI读数,但仍然存在通信错误。
如果应用程序试图测量“链路可靠性”,而不仅仅是“信号强度”,则考虑“接收的数据包百分比”或类似数据可能会有所帮助。
提示 范围测试始终是一个好主意,因为它使您可以根据信号强度和数据包成功率来衡量链路性能。这将帮助您确定RF系统的可靠性。有关更多信息,请参见示例:执行范围测试。
范围测试
由于XBee模块之间的通信是通过空中进行的,因此无线信号的质量会受到许多因素的影响:吸收,电波反射,视线问题,天线样式和位置等。
范围测试演示了同一网络中两个XBee模块之间的真实RF范围和链路质量。进行范围测试将初步显示套件组件的预期通信性能。
部署实际网络时,建议进行多个范围测试以分析应用程序中的各种条件。
XCTU允许您使用至少一个连接到计算机(本地)的XBee模块和另一个远程XBee模块(都在同一网络中)执行范围测试。范围测试包括将数据包从本地XBee模块发送到远程,并等待将回波从远程发送到本地。在此过程中,XCTU计算本地模块发送和接收的数据包数量,并测量双方的信号强度(RSSI):
- RSSI是“接收信号强度指示器”值。
- 来自本地XBee模块的每个发送数据包都应被同一本地XBee模块作为回音再次接收。
有两种类型的范围测试:
- 回送群集(0x12):使用指向数据端点(0xE8)上群集ID 0x12的显式寻址帧/数据包执行范围测试,该数据端点将接收到的数据返回给发送方。并非所有XBee变体都支持回送群集。当选择此方法并且XBee模块不支持此方法时,XCTU范围测试工具将显示错误。
- 硬件环回:使用串行端口/ USB硬件环回功能执行范围测试。要使用此类型,必须将远程模块配置为以透明模式工作,并且在启动前必须关闭环回跳线。这导致任何接收到的数据被发送回发送方。
注意:可以将本地XBee模块(与计算机连接的模块)配置为使用API或透明模式。仅当本地XBee模块在API模式下工作时,才能读取远程设备的RSSI值。
范围测试过程开始后,XCTU会以三种方式表示检索到的数据:
- RSSI图表表示范围测试会话期间本地和远程设备的RSSI值。该图表还包含已发送的总数据包的成功百分比。
- 本地和远程即时RSSI值显示本地和远程设备的即时RSSI值。对于最后发送/接收的数据包,将检索此值。
- 数据包摘要显示已发送的数据包总数,已接收的数据包,传输错误和丢失的数据包。它还显示范围测试会话期间成功发送和接收数据包的百分比。