模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

694查看 | 0回复

翼眸科技浅谈无人机接收机的通信协议​

[复制链接]
发表于 2022-11-10 22:33:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
来自知乎翼眸科技浅谈无人机接收机的通信协议​ 翼眸科技浅谈无人机接收机的通信协议​ 无人机,航模,模型,舵机,飞控 作者:杰罗姆 2745
无人机编队表演










关于遥控器与无人机飞控之间的通信协议有很多种,常见的数据协议如下:
1、PWM:需要在接收机上接上全部PWM输出通道,每一个通道就要接一组线,解析程序需要根据每一个通道的PWM高电平时长计算通道数值。
2、PPM:按固定周期发送所有通道PWM脉宽的数据格式,一组接线,一个周期内发送所有通道的PWM值,解析程序需要自行区分每一个通道的PWM时长。
3、S.BUS:每11个bit位表示一个通道数值的协议,串口通信,但是S.BUS的接收机通常是反向电平,连接到无人机时需要接电平反向器,大部分支持S.BUS的飞行控制板已经集成了反向器,直接将以旧换新机连接到飞行控制器即可。
4、XBUS:常规通信协议,支持18个通道,数据包较大,串口通信有两种模式,可以在遥控器的配置选项中配置。接收机无需做特殊配置。

翼眸科技浅谈无人机接收机的通信协议​ 无人机,航模,模型,舵机,飞控 作者:杰罗姆 9470
一、PWM协议
PWM信号用于控制单个电调或者单个舵机脉冲宽度调制信号。

翼眸科技浅谈无人机接收机的通信协议​ 无人机,航模,模型,舵机,飞控 作者:杰罗姆 1444


电机(电调)上用到PWM信号种类很多,此处对常见的PWM信号特征进行描述:
1、 PWM信号是一个周期性的方波信号,周期为20ms,也就是50Hz的刷新频率。
2、 PWM每一周期中的高电平持续时间为1~2ms(1000us~2000us),代表了油门控制量。一般四旋翼中,使用1100~1900us,1100us对应0油门,1900us对应满油门。
PCM是英文pulse-code modulation的缩写,中文的意思是:脉冲编码调制,又称脉码调制。PPM是英文pulse position modulation的缩写,中文意思是:脉冲位置调制,又称脉位调制,这里顺便提一句,有些航模爱好者误将PPM编码说成是FM,其实这是两个不同的概念。前者指的是信号脉冲的编码方式,后者指的是高频电路的调制方式。比例遥控发射电路的工作原理如图1所示。操作通过操纵发射机上的手柄,将电位器组值的 变化信息送人编码电路。编码电路将其转换成一组脉冲编码信号(PPM或PCM)。这组脉冲编码信号经过高频调制电路(AM或FM)调制后,再经高放电路发送出去。PPM的编解码方式一般是使用积分电路来实现的,而PCM编解码则是用模/数(A/D)和数/模(D/A)转技术实现的。
目前,比例遥控设备中最常用的两种脉冲编码方式就是PPM和PCM:最常用的两种高频调制方式是FM调频和AM调幅:最常见的组合为PPM/AM脉位调制 编码/调幅、PPM/FM脉位调制编码/调频、PPM/FM脉冲调只编码/调频三种形式。通常的PPM接收解码电路都由通用的数字集成电路组成,如 CD4013,CD4015等。对于这类电路来说,只要输入脉冲的上升沿达到一定的高度,都可以使其翻转。这样,一旦输入脉冲中含有干扰脉冲,就会造成输 出混乱。由于干扰脉冲的数量和位置是随机的,因此在接收机输出端产生的效果就是“抖舵”。除此之外,因电位器接触不好而造成编码波形的畸变等原因,也会影 响接收效果,造成“抖舵”。对于窄小的干扰脉冲,一般的PPM电路可以采用滤波的方式消除;而对于较宽的干扰脉冲,滤波电路就无能为力了。这就是为什么普 通的PPM比例遥控设备,在强干扰的环境下或超出控制范围时会产生误动作的原因。尤其是在有同频干扰的情况下,模型往往会完全失控。
二、PPM协议
每一个遥控器通道都需要一个PWM采集器进行采集,但是对于STM32来说不可能使用多个定时器来采集多个通道的PWM,这对于STM32的资源来说十分浪费。因此采用的就是PPM编码。PPM编码是PWM的扩展协议,可以在一个管脚中传输多路PWM信号。
PPM协议只需要一根线就可以传输,避免了PWM需要多路才能传输多个通道的问题。下面是PPM协议的波形图:

翼眸科技浅谈无人机接收机的通信协议​ 无人机,航模,模型,舵机,飞控 作者:杰罗姆 8233
PPM协议最多传输20个通道,使用一个定时器就可以轻松解决了。
PPM的频率通常是50Hz,周期长度20ms,每一个周期中可以存放最多10路PWM信号,每一路PWM的周期为2ms,如下图所示:


翼眸科技浅谈无人机接收机的通信协议​ 无人机,航模,模型,舵机,飞控 作者:杰罗姆 2895

翼眸科技浅谈无人机接收机的通信协议​ 无人机,航模,模型,舵机,飞控 作者:杰罗姆 3653
使用STM32的管脚中断配合定时器中的计数可以准确的捕获一个周期内的PPM信号中的高低电平变化,每2ms就是一路PWM信号的周期。每个通道信号脉宽0~2ms,变化范围为1~2ms之间。1帧PPM信号长度为20ms,理论上最多可以有10个通道,但是同步脉冲也需要时间,模型遥控器最多9个通道。
PPM转PWM示例:
PPM和PWM的对应关系如下图:

翼眸科技浅谈无人机接收机的通信协议​ 无人机,航模,模型,舵机,飞控 作者:杰罗姆 8883
遥控接收器接收到遥控指令,输出PPM信号,PPM信号经过PPM解码电路输出8路PWM信号。

翼眸科技浅谈无人机接收机的通信协议​ 无人机,航模,模型,舵机,飞控 作者:杰罗姆 4288
上图为多个通道的PWM信号通过PPM编码电路转化PPM信号输出。
三、S.BUS协议
S.BUS本质是一种串口通信协议,使用的是TTL电平的反向电平,即标准TTL中的1取反为0,而0则取反为1,采用100K的波特率,8位数据位,2位停止位,偶校验,即8E2的串口通信。
S.BUS是一个接收机串行总线输出,通过这根总线,可以获得遥控器上所有zhi通道的数据。目前很多模型及无人机电子设备都支持S.BUS总线的接入。使用SBUS总线获取通道数据,效率高的,而且节省硬件资源,只需要一根线即可获取所有通道的数据。
值得注意的有三点:
(一)S.BUS采用负逻辑,所以无论接收还是发送都要进行硬件取反(注意,一定要硬件取反),电路如下(这是网上看资料时看到的电路,实际上可以使用7404电路):

翼眸科技浅谈无人机接收机的通信协议​ 无人机,航模,模型,舵机,飞控 作者:杰罗姆 1396
(二)S.BUS有两种模式:
a.高速模式:每4ms发送一次;
b.低速模式:每14ms发送一次。就是说每间隔4或者14ms这个串口就发送25个字节的数据,这25个字节的数据最多可以包含16个信息。
(三)100K的波特率不是标准波特率,一般串口工具都不能直接读取(所以不要直接用电脑调试,除非你的电脑写好了非标准串口),可以用单片机读取。
S.BUS具体协议的格式如下:
[数据头] [第一个字节] [第二个字节] ......[第二十二字节] [标志位] [数据尾];
数据头、标志位、数据尾不携带信息,而且数据头和数据尾是固定的,数据头=0x0f, 数据尾=0x00;
数据头(1字节)+数据(22字节)+标志位(1字节)+数据尾(1字节) 。
解释如下:
S.BUS一帧数据的长度为25个字节,其中:
第"0"个字节为帧头:0x0f;
第24个字节为帧尾:0x00;
从第1个字节到第22个字节为1-16号比例通道的数据字节;
第23字节中,第7位为数字开关通道17通道,第6位为数字开关通道18通道;第5位为帧状态标志为(判断是否丢帧),用于控制接收机上的LED的状态,第4位为失控保护激活标志位,此位为1时,表示接收机进入失控保护状态。
编解码C语言源码:
编码原理:
一个信息是二进制的11bit,比如1111 1111 111就可以表示一个信息,一共16个这样的信息,按照顺序将这16个信息依次排成一串,得到一个176bit(11 *16)的数据,也就是22字节(176 / 8 = 22)的数据,再加上数据头数据尾校验位就组成了一个要通过串口传送的信息。每隔4或者14ms就传送一个这样的信息。所以这16个信息每一个所能表示的最大值是2^11 = 2048,也就是它的精度。
标志位
标志位的高四位有特殊含义,第四位并没有使用,依照我的理解,第七位和第六位表示两个数字通道(通道17和18)信息(就是只有高低电平的通道,一般用来控制通断或者某个电机简单的启动或者停止,比如1表示启动电机0表示停止电机),第五位表示帧丢失,接收机红色LED亮起,我的理解是,如果这一位为1,表示这一帧信号出问题了,接收机红色LED亮起。第四位表示故障保护激活,意思应该是说如果这一位为1,激活接收方故障保护。





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|关于模吧|APP下载|广告报价|手机版|企业会员|商城入驻|联系我们|模吧 ( 黔ICP备2022002348号-1 )

© 2013-2020 Moz8.com 模吧,玩出精彩!