PWM、PPM、S.bus与DSM2

本文为转载
——sw笨笨 编写

PWM

a) 什么是PWM

PWM ,Pulse Width Modulation的缩写,英文意思是脉宽调制,在航模中主要用于舵机的控制。这是一种古老而通用的工业信号,是一种最常见的控制信号。该信号主要原理是通过周期性跳变的高低电平组成方波,来进行连续数据的输出。如下图所示:

Paste_Image.png

而航模常用的PWM信号,其实只使用了它的一部分功能,就是只用到高电平的宽度来进行信号的通信,而固定了周期,并且忽略了占空比参数。
PWM的优点很明显:

  • 由于传输过程全部使用满电压传输,非0即1,很像数字信号, 所以他拥有了数字信号的抗干扰能力。
  • 脉宽的调节是连续的,使得它能够传输模拟信号。
  • PWM信号的发生和采集都非常简单,现在的数字电路则使用计 数的方法产生和采集PWM信号。
  • 信号值与电压无关,这在电压不恒定的条件下非常有用,比如电 池电压会随消耗而降低,DCDC都会存在纹波等等,这些因素不会干扰信号的传输。

b) PWM通信协议

高电平有效。
高电平电压:常见4.8~6V,也有使用3.3V和更高电压的,要看舵机的承受能力。
信号周期:常见50Hz和300Hz两种,前者被称为模拟舵机,后者被称为数字舵机。注意纠正一个概念,舵机的模拟和数字之分其实指的是信号采集器,是使用模拟电路还是使用数字电路,跟信号频率无关,当然数字采集器的采集能力较强,所以频率可以高一些。但是随着技术进步,现在即使买50Hz的舵机也同样使用数字电路进行信号采集,哪里来的模拟舵机呢?建议大家忘记这两个词汇吧。
脉宽宽度:50Hz信号多用于老式舵机,是上个世纪舵机的主要控制信号形式,其脉宽宽度为0.5ms至2.5ms。300Hz信号则是目前使用的最广泛的信号形式,其波形速度快,每秒可以传输300次,所以相应的脉宽也有所减小为0.9ms至2.1ms。两种舵机控制信号如下图所示:

50hz与300hz的PWM控制信号与角度关系

PPM

a) 什么是PPM

PWM信号被广泛用于舵机控制,但是它有一个明显的缺陷,就是有多少个舵机就需要多少个控制线路。而很多时候不希望线路太多,尤其是遥控器的无线信号,只可能有一路通信要传递多路舵机控制信息,于是PPM信号诞生了。

PPM,pulse-positionmodulation的缩写,英文意思是脉冲位置调制。

在上个世纪,航模领域中主要使用这种信号作为遥控器的主要无线通信协议,后来被用于教练线和模拟器。
该信号使用多个脉冲作为一组,并以组为单位周期性发送,通过组内各个脉冲之间的宽度来传输相应通道的舵机控制信息。

b) PPM通信协议

高电平有效。
高电平电压:常见4.8~6V。
信号周期:24ms。
单个脉冲宽度:0.4ms
脉冲间距:0.9ms至2.1ms

S.bus

a) 什么是S.bus ?

S.bus,可能是Smart-BUS的简称,即智能总线。该总线是日本Futaba公司自己使用的专用总线协议。
该协议有两个特点:一个是数字化,一个是总线化。 数字化是指的该协议使用现有数字通信接口作为通信的硬件协议,使用专用的软件协议,这使得该设备非常适合在单片机系统中使用,也就是说适合与飞控连接。这也就是我为什么要将这个协议详细叙述的原因,我认为使用PX4飞控是离不开这种纯数字的通信协议的。另外在其硬件协议中使用了数据校验增加抗干扰能力。 总线化指的是一个数字接口可以连接多个设备,这些设备(主要是舵机和电调)通过Hub与一个S.bus总线连接,并能够得到各自的控制信息。
如下图所示:

b)S.bus 硬件协议

S.bus使用RS232C串口的硬件协议作为自己的硬件运行基础。
使用TTL电平,即3.3V。
使用负逻辑,即低电平为“1”,高电平为“0”。
波特率:100000(100k),注意:不兼容波特率115200。数据位8bit,1个停止位,无校验位,无流控制。

c)S.bus软件协议

每帧数据还有25字节。

每字节含有12个比特,使用1个起始位“0”,8个数据位,1个奇校验位(8个数据位中1的数量为奇数则此位为“1”否则为“0”),两个终止位“1”。
采用LSB first方式发送,即最低有效位(二进制数据右侧)先发。
帧头:1111 0000(二进制),帧尾:0000 0000(二进制)。
数据:从第1数据字节起,到第22字节,一共有数据位176个,它们按照顺序分别是通道1至通道16的舵机控制数据,每个通道占11比特。取值范围是0~2047。
第23字节我管它叫做“功能字节”,第0比特为数字通道1的值,第1比特为数字通道2的值,第2比特为丢帧信息,第3比特为失效保护开关,第4~7比特暂时保留没用。

DSM2(DSMX)

a) 什么是DSM2(DSMX)

DSM是Digital Spread Spectrum Modulation的缩写,一共有三代: DSM、DSM2、DSMX。国内最常见的是DSM2,JR的遥控器和Spectrum 的遥控器都支持。该协议也是一种串行协议,但是比S.BUS更加通用,使用的标准串口定义,所以市面上兼容接收机更加便宜,兼容的设备也更多,比如电直的三轴陀螺VBar就可以直接接受DSM2信号。

但是该协议并不是一种总线化的协议,要靠接收机取把协议变为PWM来驱动舵机,DSM2接口也只能连接接收机和卫星接收机,不过对于飞控来说这个无所谓,反正也是一个接口连接到飞控就可以了。

DSMX是DSM2的升级版,协议基本一样就是速率加快了。DSMX协议可以用于双向传输,即能够将飞机上的信息传回遥控器上在液晶屏显示,不过对于玩儿飞控这个功能不重要,有了电台和PC,这个意义不大。所以我们下面只讨论DSM2协议的接收问题。

b) DSM2硬件协议

DSM2设备使用三线连接,黑色线是地线,红色是电源线,另一条是信号线,这个跟舵机一样,但是注意:电源线是3.3V。
信号线上跑的是标准TTL串口,3.3V电平,串口的电平逻辑跟普通TTL串口一致,可以直接跟现在的大部分单片机兼容,比如STM32。 串口波特率115200,数据位8bit,1个停止位,无校验位,无流控制。

c) DSM2软件协议

软件协议简单得多。
每一帧数据使用两个Byte,16字节。
第1个字节表示此帧状态,为0的时候表示此帧为遥控数据,1的时候表示为其他数据。
后面4个字节为通道ID,对应接收机上面的输出0: Throttle, 1: Aileron, 2: Elevator, 3: Rudder, 4: Gear, 5: Aux1, 6: Aux2, 7: Aux3。
后11个字节是0~2047的通道数据。
1023为中间值对应输出1.5ms的PWM信号,0对应0.75ms,2047对应2.25ms。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容

  • 总线 计算机的各个功能部件通过总线连接在一起构成完整的计算机系统,总线是多个系统功能部件之间进行数据传送的公共通路...
    罗蓁蓁阅读 4,788评论 0 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • ​​​本文主要介绍嵌入式系统的一些基础知识,希望对各位有帮助。 嵌入式系统基础 1、嵌入式系统的定义 (1)定义:...
    OpenJetson阅读 3,297评论 0 13
  • 1、嵌入式系统的定义 (1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本...
    荣卓然阅读 1,808评论 0 5
  • 林夕哥哥i阅读 690评论 2 1