PPM的编码与解码
PPM是航模遥控器中常用的编码方式,实际是PWM脉宽调制技术,一组PPM的周期时间一般是20ms,有的厂家会做到22.5ms,低电平时间固定为400us,有的厂家是500us。
一帧PPM数据可携带10个通道的数据,即10个脉冲。每个脉冲周期即为舵机信号,脉冲周期在 1000 - 2000范围内 。
一、实验目的
PA3为模拟PPM发射引脚
PC6(TIM3_CH1)引脚硬件发射PPM编码的信号,
PA2(TIM2_CH3/CH4)接收PPM编码的信号,并且解码出十个通道的值。
二、硬件实现
PPM编码
PA3为模拟PPM发射引脚,编码方式为CPU扫描
PC6(TIM3_CH1)为硬件PPM发射引脚,编码方式为硬件PWM脉宽调制。
PPM发送逻辑
PWM硬件生成,固定脉冲前半周时间为400,动态调整周期来调整后半周时间,PWM输出翻转(输出前半周低电平后半周高电平)。
PPM空闲信号,舵机量小于10时,PPM空闲信号等于 20000us - 所有脉冲周期之和;舵机量大于等于10时,PPM空闲信号等于 22500us - 所有脉冲周期之和。
PPM解码
PA2(TIM2_CH3/CH4)为模拟PPM解码引脚,解码方式为TIM2的捕获功能
TIM2
分频72-1 每100us 计数一次
Channel 3 检测极性:上升沿Rising Edge
Channel 4 检测极性:下降沿Falling Edge
PPM检测逻辑
低电平时间 200-600 内为有效信号
高电平时间 长于2050us 为空信号,并且限幅滤波控制在 999 - 1999
三、软件实现
软件实现一般采用循环扫描外加定时器。
在定时器内添加计数器,循环扫描到所需的定时时间,翻转电平。
四、小知识
PPM
低电平:(同步信号)持续时间0.3ms ,天地飞的PPM 低电平持续时间0.4ms
PPM周期:(即两个上升沿之间) 22.5 ms,
高电平(高电平持续时间 = PPM周期 - 低电平时间)时间0.6-1.6
PWM信号 一个脉冲周期时间 1000us - 2000 us
一般四旋翼中1100us对应0油门,1900us对应满油门
所谓的舵机高电平范围 0.5 - 2.5 是区间拓张了的,其实是1 - 2ms