我们使用USB工具连接电脑和视频加扰解扰模块来修改密码, 这实际上是加密算法的种子数. 如果我们给无人机安装了加扰模块并且它在空中飞行, 此方法无法更改密码或加扰算法的种子数. 只能通过发送串口命令来实现.
VTX空中飞行时修改FPV视频扰码器密码
目录
FPV视频加扰模块配置参数
模块配置参数都是通过写一个256来实现×8 模块内的RAM. 配置的参数保存后有效, 重置或重新上电
内存参数说明
模块配置参数都是通过写一个256来实现×8 模块内的RAM. 配置的参数保存后有效, 重置, 或重新开机. 系统上电或复位后, 串口将打印 {AAAAAA}
内存参数详细信息
随机存取存储器[0]: 系统复位控制, 可读可写, 读和写有不同的含义
写:
0X00: 重置整个系统, 串口返回 {AAAAAA}, 表明系统已重置
0X01: 保存用户设置的参数, 串口返回 {000101}, 表明执行成功
0X02: 将参数恢复为系统默认参数, 串口返回 {000202}, 表明执行成功
其他=> 预订的
读:
位0: 输入是否锁定, 0: 解锁, 1: 锁定
位7~位1: 预订的
随机存取存储器[1]: 视频输入方式, 可读可写, 默认值0X00
0X00: 强制输入模式为 PAL, 抗干扰能力更强
0X01: 强制输入模式为 NTSC, 抗干扰能力更强
其他保留
随机存取存储器[2]: 模块工作模式. 可读可写, 默认值0X00
0X00: 加扰模式
0X01: 解扰模式
其他=> 预订的
随机存取存储器[3] ~ 内存[4]: 加扰随机数, 范围 0~1023, 可读可写, 默认值 0.
随机存取存储器[3] 高字节, 随机存取存储器[4] 低字节
其他 RAM 被保留,其内容无法读取或写入
模块配置命令
配置命令是通过串口向其发送命令来实现的
命令格式: {+操作码+RAM地址+校验码+}
符号 {} 都是用ASCII码表示的十六进制数
{: 表示命令的开始
+: 表示这仅表示连接, 用于解释, 并且在实际命令中不存在
<>: 表示读取命令中不存在该参数
}: 表示命令结束
操作码: 00 表示写入, FF表示已读, 1 字节
内存地址: 1 字节
操作数: 该命令的操作数是 1 字节. 在读操作中, 该字节不存在
检查代码: (操作码 + 寄存器地址 + ) 模组 256
命令返回格式:
操作成功返回格式: {+寄存器地址+寄存器值+校验码+}
复位命令不返回
操作失败返回格式: {FFFFFF}
串口命令示例:
启动:
RX: {AAAAAA}
TX: {00010001} – 设置 PAL
RX: {010001} – 成功 / 要么 {FFFFFF} – 失败
TX: {00010102} – 设置 NTSC
RX: {010102} – 成功 / 要么 {FFFFFF} – 失败
TX: {FF0100} – 获取视频输入模式
RX: {010102} – 0x01 & 0x01 = NTSC / 要么 {FFFFFF} – 失败
TX: {00020002} – 设置加扰模式
RX: {020002} – 成功 / 要么 {FFFFFF} – 失败
TX: {00020103} – 设置解扰器模式
RX: {020103} – 成功 / 要么 {FFFFFF} – 失败
TX: {FF0201} – 获取工作模式
RX: {020103} – 0x01 & 0x01 = 解扰器模式 / 要么 {FFFFFF} – 失败
设置种子 = 1000 (0x03e8) 高字节0x03, 低字节0xe8
TX: {00030306} – 设置高字节0x03 / 要么 {FFFFFF} – 失败
RX: {030306} – 成功 / 要么 {FFFFFF} – 失败
TX: {0004E8EC} – 设置低字节0xe8
RX: {04E8EC} – 成功 / 要么 {FFFFFF} – 失败
TX: {FF0302} – 获取种子的高字节
RX: {030306} – 高字节 = 0x03 / 要么 {FFFFFF} – 失败
TX: {FF0403} – 获取种子的低字节
RX: {04E8EC} – 低字节 = 0xe8 / 要么 {FFFFFF} – 失败
TX: {00000101} – 写入设置
RX: {000101} – 成功 / 要么 {FFFFFF} – 失败
Chinese中文原文
FPV视频加扰模块配置参数
模块配置参数都是通过写模块内部的一个256×8的RAM来实现,所配置的参数在保存复位或重新上电后有效.
RAM参数说明
模块配置参数都是通过写模块内部的一个256×8的RAM来实现,所配置的参数在保存复位或重新上电后有效,系统上电或复位后,串口会打印{AAAAAA}
RAM参数说明
随机存取存储器[0] :系统复位控制,可读可写,读和写代表的意义不一样
写:
- 0X00:复位整个系统,串口返回{AAAAAA},表示系统已经复位
- 0X01:保存用户设置的参数, 串口返回{000101},表示执行成功
- 0X02:恢复参数为系统默认参数, 串口返回{000202},表示执行成功
- 其它 => 保留
读:
- 位0:输入锁定与否,0:未锁定,1:锁定
- 位7~位1:保留
随机存取存储器[1] :视频输入模式,可读可写,默认值0X00
- 0X00:强制输入模式为PAL,抗干扰更强
- 0X01:强制输入模式为NTSC,抗干扰更强
- 其它保留
随机存取存储器[2] :模块工作方式。可读可写,默认值0X00
- 0X00:加扰模式
- 0X01:解扰模式
- 其它 => 保留
随机存取存储器[3] ~内存[4]:加扰随机数,范围0~1023,可读可写,默认值0。
随机存取存储器[3]高字节,随机存取存储器[4]低字节
其它的RAM保留,不能读写其内容
FPV视频加扰模块配置命令
配置命令是通过串口向其发送命令来实现
命令格式: {+操作码+RAM地址+<操作次数>+校验码+} 符号{}内都是ASCII码表示的16进制数字
{ : 表示命令开始
+ : 表示这里仅表示连接,用于说明,在实际命令中并不存在
<> :表示该参数读命令中没有
} : 表示命令结束
操作码 : 00 表示写, FF表示读,1字节
RAM地址: 1字节
操作次数 : 命令的操作数 1字节,在读操作中,这个字节没有
校验码 : (操作码 + 寄存地址 + <操作次数>) 模组 256
命令返回格式 :
操作成功返回格式: {+寄存器地址+寄存器的值+校验码+}
复位命令没返回
操作失败返回格式:{FFFFFF}



问一个问题
感谢您的回复。 ✨