(1)(1.13) SiK无线电高级配置(二)

2024-01-03 10:49:18

文章目录

前言

3 串行和空速率"单字节形式"

4 选择空中数据传输率

5 错误纠正

6?MAVLink协议说明


前言

本文提供 SiK 遥测无线电(SiK Telemetry Radio)的高级配置信息。它面向"高级用户"和希望更好地了解无线电如何运行的用户。


3 串行和空速率"单字节形式"

SERIAL_SPEEDAIR_SPEED 参数的形式与 ArduPilot 用于 SERIAL3_SPEED 参数的形式相同。如果数字大于 2000,则表示波特率。否则,它就是以 kbps 为单位的波特率,并截断为整数。因此,"9"表示 9600 波特,"38"表示 38400,"115"表示 115200 等。

4 选择空中数据传输率

控制无线电通话距离的关键参数是 AIR_SPEED。默认值为 64(即 64kbps)时,使用小型全向天线的通话距离超过一公里。AIR_SPEED 设置得越低,通话距离就越长,不过降低 AIR_SPEED 也会降低通过链路发送的数据量。

无线电固件只能支持 13 种可能的空中数据速率,即 2、4、8、16、19、24、32、48、64、96、128、192250。如果你的应用出于某种原因需要不同的空气数据率,我们可以将其添加到寄存器表中。如果你选择了一个不支持的空气流量,那么将从支持的列表中选择下一个最高流量。

选择何种空中数据传输速率取决于以下因素:

  • ?你需要的范围;
  • 发送的数据速率;
  • 主要是单向发送还是双向发送;
  • 是否启用了 ECC。?

对于大多数遥测应用而言,你主要是单向发送数据,即从飞机向地面站发送数据。对于大多数人来说,从地面站发送到飞机的数据量很小,只是偶尔发送一个控制数据包和心跳数据包。

如果你使用操纵杆控制飞机,那么从地面站向飞机发送的数据会更多,在这种情况下,你可能会发现需要更高的 AIR_SPEED,尽管航程会缩短。

ECC 参数对特定 AIR_SPEED 条件下可支持的数据传输速率有很大影响。如果 ECC 设置为零,则不会发送纠错信息,无线电使用简单的 16CRC 来检测传输错误。在这种情况下,你的无线电可以支持单向约 90% AIR_SPEED 的数据传输。

如果启用 ECC,可支持的数据传输速率将减半。ECC 系统会将无线电发送的数据量增加一倍。不过,这样做是值得的,因为误码率会大幅下降,而且在更远的距离上也能获得更可靠的链路。

ArduPilot 将通过使用无线电固件注入 MAVLink 流的 MAVLink RADIO 数据包,自动调整其遥测速率,以适应无线电的处理能力。这样,你就可以通过设置一个大于无线电实际处理能力的 SERIAL_SPEED 来"超量订阅"你的链路。

选择空中数据传输速率的另一个因素是 TDM"同步时间"。两台无线电设备需要相互确定跳频模式。它们通过缓慢改变接收信道,同时快速改变发射信道来做到这一点。在空中数据传输速率较高时,与另一台无线电同步的过程只需几秒钟,但在空中数据传输速率较低时,这个过程就会变慢。

对于大多数业余无人机应用来说,默认的 64 AIR_SPEED(不启用 ECC)就足够了。

5 错误纠正

Warning

由于范围缩小,而且一些较新的无线电芯片不具备 ECC 功能,如果选择此选项,将无法正常工作,因此不再建议使用纠错功能。

如上所述,如果将 ECC 参数设置为 1,无线电支持 12/24 戈莱纠错码。这意味着无线电每发送 12 比特数据将发送 24 比特,使用戈莱码查找表计算比特。这个过程在接收端是相反的,无线电可以纠正每 12 比特数据中最多 3 比特的误码(即 25% 的误码率)。

ECC 选项的缺点是可用数据带宽减半。在某些情况下这是值得的,因为你可以在更远的距离上保持可靠的链接。此外,串行数据流中的"噪音"也会大大减少。

6?MAVLink协议说明

MAVLink 是一种非常轻量级的消息传输协议, 用于地面控制终端(地面站)与无人机之间 (以及机载无人机组件之间) 进行通信。

Mavlink 遵循现代混合发布-订阅和点对点设计模式:数据流作为?topics?发送/发布的, 而配置子协议 (如?路径点协议?或?参数协议)是基于重传机制的点对点模式。

消息内容定义于与之关联的xml 文件中。 每个 xml 文件对应一个特定的 MAVLink 系统,并为该系统定义了专属的消息集(亦被称之为“语支dialect”)。?大部分?地面站和自动驾驶仪所采用的“通用消息集”定义于?common.xml?中 (大多数“语支”均是基于“通用消息集构建?的:即,大多数“语支”所对应的 xml 文件里,均包含了 common.xml) 。

Note

基于C封装的 MAVLink 库,是一个 header-only 库, 其针对资源受限系统有限的 ram 和闪存,进行了高度优化。 这种库,已经过现场验证, 并部署在许多产品中, 充当不同厂家组件之间的交互性接口。

MAVLink 于2009年初由 Lorenz Meier 首次发布, 目前为止,已拥有数量可观的贡献者

文章来源:https://blog.csdn.net/qq_20016593/article/details/135241042
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。