视频发射控制系统用于管理FPV视频发射器,使飞行控制器能够控制VTX频率、功率级别和飞行模式设置。该系统为多种VTX协议提供统一的接口,包括SmartAudio、Tramp、RTC6705和Spektrum控制。
系统架构概述
VTX 控制系统采用分层架构,在通用抽象层下有特定于协议的实现。

VTX协议实现
SmartAudio协议
SmartAudio 是一种双向串行协议,它采用命令-响应模式,具有自动波特率检测和重传功能。

流浪汉协议
Tramp 使用更简单的基于帧的协议,并使用状态机进行设备初始化和监控。

设备类型枚举
| 设备类型 | 枚举值 | 协议特性 |
|---|---|---|
VTXDEV_SMARTAUDIO | 3 | 双向、自动波特率、频率/信道模式 |
VTXDEV_TRAMP | 4 | 双向、仅频率的温度监测 |
VTXDEV_RTC6705 | 1 | SPI 控制、仅频率控制、功率控制 |
VTXDEV_MSP | 5 | 基于MSP的控制 |
通用VTX接口
该vtxVTable_t结构为所有 VTX 实现提供了一个统一的接口。

配置和控制流
VTX系统通过预定的更新周期处理配置更改。

SmartAudio协议详情
SmartAudio 实现了强大的命令响应协议,具有错误处理和自动重传功能。
指挥结构
| 场地 | 尺寸 | 描述 |
|---|---|---|
| 前言 | 2 字节 | 0xAA 0x55 |
| 命令 | 1 字节 | 命令代码(位 0 = 1 表示命令) |
| 长度 | 1 字节 | 数据有效载荷长度 |
| 数据 | 0-N 字节 | 命令参数 |
| 结直肠癌 | 1 字节 | CRC8校验和 |
命令类型
| 命令 | 代码 | 描述 |
|---|---|---|
SA_CMD_GET_SETTINGS | 0x01 | 请求当前 VTX 设置 |
SA_CMD_SET_POWER | 0x02 | 设置传输功率 |
SA_CMD_SET_CHAN | 0x03 | 设置频段/频道 |
SA_CMD_SET_FREQ | 0x04 | 直接设置频率 |
SA_CMD_SET_MODE | 0x05 | 设置操作模式 |
自动波特率算法
SmartAudio通过监控响应成功率来实现自动波特率检测:

流浪汉协议详情
Tramp 使用更简单的固定波特率协议,帧大小为 16 字节。
框架结构
| 场地 | 尺寸 | 描述 |
|---|---|---|
| 长度 | 1 字节 | 总是0x0F |
| 命令 | 1 字节 | 命令字符 |
| 数据 | 12 字节 | 命令参数 |
| 校验和 | 1 字节 | 简单加法校验和 |
| 终结者 | 1 字节 | 总是0x00 |
命令字符
| 命令 | 描述 | 响应数据 |
|---|---|---|
'r' | 请求设备限制 | 最小频率、最大频率、最大功率 |
'v' | 请求/设置频率/功率/坑 | 频率、功率、控制模式、坑模式 |
's' | 请求温度 | 温度值 |
'F' | 设置频率 | 致谢 |
'P' | 设置功率 | 致谢 |
'I' | 设置坑模式 | 致谢 |
Spektrum VTX 控制集成
Spektrum VTX 控制功能可通过 RC 遥测帧对 VTX 设置进行远程控制。
控制帧格式
Spektrum VTX 控制使用 32 位帧,其中包含位压缩字段:
| 场地 | 比特 | 描述 |
|---|---|---|
| 帧 ID | 31:28,15:12 | 0xE鉴别 |
| 乐队 | 23:21 | VTX频段选择 |
| 渠道 | 19:16 | VTX通道选择 |
| 坑模式 | 4 | 启用/禁用维修区模式 |
| 地区 | 3 | 区域频率限制 |
| 力量 | 2:0 | 功率水平指数 |
BetaFlight中VTX控制解析
1万+

被折叠的 条评论
为什么被折叠?



