1. 通信协议概述:无人机与地面站通信的基本概念

大家好,我是你们的讲师。今天咱们正式开始这门课的第一章。

说实话,我入行那会儿,无人机还是个挺小众的玩意儿。那时候飞控和地面站之间怎么说话?基本靠猜。后来慢慢有了标准,才有了我们今天要聊的这些协议。

这一章,咱们不急着写代码。先把地基打牢。你想想看,如果连通信协议是干什么的都不清楚,后面写再多代码也是白搭。

1.1 无人机与地面站通信的基本概念

什么叫通信?说白了,就是两边互相传话。

无人机这边,得告诉地面站:我现在飞多高、电池还剩多少、GPS信号好不好。地面站这边,得告诉无人机:你往左飞、你降下来、你切个模式。

这个传话的过程,就是通信。

但问题来了——传话不能乱传。你得定个规矩:

  • 谁先开口?
  • 一句话说多长?
  • 说错了怎么办?
  • 怎么保证对方听懂了?

这些规矩加起来,就是通信协议。

核心理解:通信协议 = 双方约定好的「说话规则」。没有规则,就是鸡同鸭讲。

我记得刚带团队那会儿,有个新人问我:「老师,为什么不用蓝牙传飞控数据?」我当时就笑了。蓝牙距离才十几米,无人机飞个几百米高,你拿什么传?这就是典型的没搞清楚应用场景。

1.2 通信协议的作用与分类

协议的作用,我总结成三句话:

  1. 保证数据能到——别丢包,别乱序。
  2. 保证数据能懂——收方知道这段数据是啥意思。
  3. 保证效率够高——别传个姿态数据要半秒钟,那飞机早炸了。

分类上,咱们做无人机的一般这么分:

分类维度 类型 举例
按传输介质 有线 / 无线 串口线 / 2.4G射频
按通信方向 单向 / 双向 SBUS(单向) / MAVLink(双向)
按数据格式 文本 / 二进制 MAVLink(二进制) / 自定义文本协议
按实时性 实时 / 非实时 CRSF(实时) / 数传链路(非实时)

嗯,这里要注意:分类不是绝对的。很多协议在不同场景下可以灵活切换。我见过有人用MAVLink做实时控制,结果延迟高得离谱——不是协议不行,是没用对地方。

1.3 主流协议对比

好,接下来咱们聊聊市面上最常见的四种协议。我一个个说。

1.3.1 MAVLink

MAVLink,全称Micro Air Vehicle Link。这是目前无人机领域用得最广的协议,没有之一。

它的特点是:

  • 双向通信——飞控能发,地面站也能发。
  • 消息类型丰富——姿态、位置、电池、状态、命令……应有尽有。
  • 二进制编码——体积小,效率高。
  • 有校验——每个包都带CRC,丢包能发现。

我个人习惯用MAVLink做数传链路。为什么呢?因为它天然支持消息路由。你可以在一个串口上同时跑心跳、姿态、GPS、遥控信号,互不干扰。

避坑指南:我曾经在一个项目里,把MAVLink的波特率设成了115200,结果飞控和地面站死活连不上。查了半天才发现,飞控默认是57600。嗯,这种低级错误,犯一次就记住了。

1.3.2 CRSF

CRSF,Crossfire协议。这是ELRS(ExpressLRS)和TBS Crossfire系统用的协议。

它的特点:

  • 超低延迟——号称1ms以内。
  • 双向——遥控器能发控制,接收机也能回传RSSI、电池等信息。
  • 高速串口——通常跑在420kbps甚至更高。

你想想看,穿越机竞速的时候,延迟差个10ms,可能就撞墙了。所以CRSF在竞速圈特别火。

我建议做穿越机或者FPV项目的同学,优先考虑CRSF。它的回传通道虽然窄,但够用。

1.3.3 SBUS

SBUS,全称Serial Bus。这是Futaba搞出来的协议,后来成了行业标准。

特点:

  • 单向——只能从遥控器接收机往飞控发。
  • 16通道——最多支持16个遥控通道。
  • 串口通信——100kbps,8位数据,偶校验,2个停止位。
  • 反相——信号电平是反的,需要硬件或软件取反。

嗯,这里有个坑。SBUS的信号是反相的。我第一次用STM32读SBUS的时候,死活读不到数据。后来拿示波器一看,波形是反的。赶紧加了个反相器,搞定。

注意:SBUS是单向协议。它只能把遥控信号传给飞控,不能从飞控传数据回来。如果你需要回传电池电压或GPS信息,SBUS做不到。别硬用。

1.3.4 PPM

PPM,Pulse Position Modulation。这是最古老的遥控协议之一。

特点:

  • 单向——同SBUS。
  • 模拟信号——通过脉冲宽度编码通道值。
  • 通道数有限——一般最多8通道。
  • 精度低——容易受干扰。

说实话,PPM现在基本被淘汰了。我只有在调试老设备的时候才会用到它。如果你是新项目,别选PPM。真的,听我的。

1.4 协议对比总结

咱们用一张表收个尾:

协议 方向 延迟 通道数 典型应用 我的推荐
MAVLink 双向 不限(消息ID) 数传、地面站 ⭐ 首选
CRSF 双向 16 穿越机、FPV ⭐ 竞速首选
SBUS 单向 16 传统遥控 可用,但注意单向
PPM 单向 8 老设备 ❌ 不推荐新项目

好了,第一章就到这里。下一章咱们会深入MAVLink,从数据包结构开始,一行一行写代码。到时候你会看到,协议这东西,说白了就是一堆字节在飞。你懂了规则,就能驾驭它。

有什么问题,咱们下节课见。