BetaFlight代码解析(18)—视频发射器控制

BetaFlight中VTX控制解析

视频发射控制系统用于管理FPV视频发射器,使飞行控制器能够控制VTX频率、功率级别和飞行模式设置。该系统为多种VTX协议提供统一的接口,包括SmartAudio、Tramp、RTC6705和Spektrum控制。

系统架构概述

VTX 控制系统采用分层架构,在通用抽象层下有特定于协议的实现。

VTX协议实现

SmartAudio协议

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

流浪汉协议

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

设备类型枚举

设备类型枚举值协议特性
VTXDEV_SMARTAUDIO3双向、自动波特率、频率/信道模式
VTXDEV_TRAMP4双向、仅频率的温度监测
VTXDEV_RTC67051SPI 控制、仅频率控制、功率控制
VTXDEV_MSP5基于MSP的控制

通用VTX接口

vtxVTable_t结构为所有 VTX 实现提供了一个统一的接口。

配置和控制流

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

SmartAudio协议详情

SmartAudio 实现了强大的命令响应协议,具有错误处理和自动重传功能。

指挥结构

场地尺寸描述
前言2 字节0xAA 0x55
命令1 字节命令代码(位 0 = 1 表示命令)
长度1 字节数据有效载荷长度
数据0-N 字节命令参数
结直肠癌1 字节CRC8校验和

命令类型

命令代码描述
SA_CMD_GET_SETTINGS0x01请求当前 VTX 设置
SA_CMD_SET_POWER0x02设置传输功率
SA_CMD_SET_CHAN0x03设置频段/频道
SA_CMD_SET_FREQ0x04直接设置频率
SA_CMD_SET_MODE0x05设置操作模式

自动波特率算法

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 位帧,其中包含位压缩字段:

场地比特描述
帧 ID31:28,15:120xE鉴别
乐队23:21VTX频段选择
渠道19:16VTX通道选择
坑模式4启用/禁用维修区模式
地区3区域频率限制
力量2:0功率水平指数
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值