找回密码
 注册
关于网站域名变更的通知
查看: 692|回复: 1
打印 上一主题 下一主题

模型接收器与控制器通信协议--PWM脉宽调制与PPM、SBUS、DSM2 协议

[复制链接]
  • TA的每日心情
    开心
    2019-11-19 16:54
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-4-17 09:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

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

    x
    本帖最后由 harry-IoT 于 2020-4-17 09:30 编辑

           PWM, PPM(也叫CPPM,基本上可以理解为两者是同一个东西), S.BUS,DSM2都是接收机与其他设备通信的协议。请注意这里不要和遥控器和接收机之间的协议混淆。遥控器和接收机之间会采用某种协议来互相沟通,这些协议往往各个厂牌各自有一套且互不兼容。但接收机输出的信号是有通行标准的,我们这里讨论的就是接收机输出的信号。
    PWM ,Pulse Width Modulation的缩写,英文意思是脉宽调制,在航模中主要用于舵机的控制。这是一种古老而通用的工业信号,是一种最常见的控制信号。该信号主要原理是通过周期性跳变的高低电平组成方波,来进行连续数据的输出。如下图所示:

      而航模常用的PWM信号,其实只使用了它的一部分功能,就是只用到高电平的宽度来进行信号的通信,而固定了周期,并且忽略了占空比参数。
    PWM的优点很明显
      由于传输过程全部使用满电压传输,非0即1,很像数字信号, 所以他拥有了数字信号的抗干扰能力。
      脉宽的调节是连续的,使得它能够传输模拟信号。
      PWM信号的发生和采集都非常简单,现在的数字电路则使用计 数的方法产生和采集PWM信号。
    信号值与电压无关,这在电压不恒定的条件下非常有用,比如电 池电压会随消耗而降低,DCDC都会存在纹波等等,这些因素不会干扰信号的传输。
      PWM因为处理简单,在航模圈至今仍然广泛用以驱动舵机和固定翼飞机的电调等。其相对于PPM等协议最大的不同在于,它每条物理连线里只传输1路信号。换句话说,需 要传输几个通道,就需要几组物理连线。

    PPM(CPPM)
      全称是Pulse Position Modulation。
      因为PWM每路只能传输一路信号,在分别直接驱动不同设备的时候(比如固定翼,每路各自驱动不同的舵机和电调)这没有任何问题。但在一些场合,我们并不需要直接驱动设备,而是需要先集中获取接收机的多个通道的值,再做其他用途时,比如将两个遥控器之间连接起来的教练模式,比如遥控器接电脑玩模拟器,当然还有我们玩多轴,要将接收机的信号传输给飞控时,每个通道一组物理连线的方式就显得非常的繁琐和没有必要。这时候PPM就是救星了。
      航模使用的PWM信号,高电平的持续时间在整个时间轴上所占的空间其实是很小的(假设高电平是信号),绝大部分的时间都是空白的。PPM简单的将多个通道的数值一个接一个合并进一个通道,用2个高电平之间的宽度来表示一个通道的值。下图中的第一行。

      因为每一帧信号的尾部必须加入一个足够长的空白(显著超过一个正常PWM信号的宽度)来分隔前后两个信号,每一帧能传输的信号通道最多只能到8个。这在大部分的场合已经足够了,比如刚才说的教练模式/模拟器/多轴等。且PPM是一个通行标准,绝大多数厂牌的遥控/接收都是支持的。

    S.BUS(S-BUS/SBUS)
      全称是Serial Bus。
      S.BUS是一个串行通信协议,最早由日本厂商FUTABA(扶他爸~)引入,随后FrSky的很多接收机也开始支持,S.BUS是全数字化接口总线,数字化是指的该协议使用现有数字通信接口作为通信的硬件协议,使用专用的软件协议,这使得该设备非常适合在单片机系统中使用,也就是说适合与飞控连接。这也就是我为什么要将这个协议详细叙述的原因。总线是指他可以连接多个设备,这些设备通过一个Hub与这个总线相连,得到各自的控制信息。
      S.bus使用RS232C串口的硬件协议作为自己的硬件运行基础。 使用TTL电平,即3.3V。  使用负逻辑,即低电平为“1”,高电平为“0”。 波特率:100000(100k),注意:不兼容波特率115200。

    DSM2(DSMX)
      DSM是Digital Spread Spectrum Modulation的缩写
      DMS协议一共有三代: DSM、DSM2、DSMX。国内最常见的是DSM2,JR和Spectrum 的遥控器都支持。该协议也是一种串行协议,但是比S.BUS更加通用,使用的标准串口定义,所以市面上兼容接收机更加便宜,兼容的设备也更多,比如电直的三轴陀螺VBar就可以直接接受DSM2信号。
      但是该协议并不是一种总线化的协议,要靠接收机取把协议变为PWM来驱动舵机,DSM2接口也只能连接接收机和卫星接收机,不过对于飞控来说这个无所谓,反正也是一个接口连接到飞控就可以了。
      DSMX是DSM2的升级版,协议基本一样就是速率加快了。DSMX协议可以用于双向传输,即能够将飞机上的信息传回遥控器上在液晶屏显示,不过对于玩儿飞控这个功能不重要,有了电台和PC,这个意义不大。




    该用户从未签到

    2#
    发表于 2020-4-17 18:46 | 只看该作者
    主要想看看DSM2
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-7 03:47 , Processed in 0.078125 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表