请教关于多路pwm输出与捕获的问题。
请问遥控接收器的六通道pwm输出是同时输出还是轮流输出的?如果使用STM32芯片作为飞控控制芯片。接收来自遥控的pwm控制信号。可以设定上升沿中断和下降沿中断,通过定时器得到pwm脉冲的宽度。
问题来了,如果遥控器的几个通道的pwm是同时输出的,那么stm32不可能同时相应六个中断。轮流响应必然造成脉冲宽度上的误差。
stm32输出pwm控制电调的信号,应该是可以同时输出的。
本人初学者,希望高手能详细指教。谢谢!{:smile:} 响应其中一个中断时关闭其他中断,这样轮流响应中断,速度很快的不就和同时响应一样了么? 楼上做法可行,没用过stm32,不过也可以设定优先级,响应重要的中断,中断里面不做复杂程序,只做标志位或者赋值== 提前设置好中断优先级,中断服务程序里不做其他太多的处理,这样相应速度应该可以满足要求 余额为0 发表于 2012-11-24 01:11 static/image/common/back.gif
STM32有同时输出多路PWM波的,看定时器一章有介绍;很简单,实在不行联系我 ...
多路同时输出我能理解,但是同时输入呢? 飞控的6通道 不是PWM这个和PWM还是有区别的。
在几个PWM周期内,包含了很多个通道的数据。 lixin91985 发表于 2012-11-24 21:55 static/image/common/back.gif
飞控的6通道 不是PWM这个和PWM还是有区别的。
在几个PWM周期内,包含了很多个通道的数据。 ...
ppm,我不太明白遥控器过来的信号是什么样子的,是不是六路同时过来ppm信号,这几个信号同时开始,但结束的时间不一样?我猜的,不太懂 如果简单点, 你就理解成红外编码吧。。 一个红外编码发送8个字节,那么这8个直接就是8通道。 本帖最后由 agnd 于 2012-11-25 09:16 编辑
使用stm32的定时器捕获中断,没问题。捕获是在边沿由硬件完成的,与中断响应时间无关,不会带来任何附加误差。只要在本通道的下一个边沿到来前处理这个捕获值就行了。
另外,接收机的PWM脉冲是顺序到来的,每路脉冲的重复频率一般是50Hz或72Hz,并且是各路尽量不重叠。 lixin91985 发表于 2012-11-24 22:10 static/image/common/back.gif
如果简单点, 你就理解成红外编码吧。。 一个红外编码发送8个字节,那么这8个直接就是8通道。 ...
也就是说几个通道的ppm是从一根线上过来的,是吗?如果是这样的话,就好理解了。单片机的一根脚轮流采集ppm信号,是很简单的。我原来以为一个通道,是一根线呢。那么怎么区分哪一个脉冲是油门呢? agnd 发表于 2012-11-25 09:15 static/image/common/back.gif
使用stm32的定时器捕获中断,没问题。捕获是在边沿由硬件完成的,与中断响应时间无关,不会带来任何附加误 ...
谢谢!你这么说,我就明白了,我以前理解有误。总以为每个通道是一根线。 zhengfengran 发表于 2012-11-25 14:25 static/image/common/back.gif
谢谢!你这么说,我就明白了,我以前理解有误。总以为每个通道是一根线。 ...
在接收机输出就是一个通道一根线,6个通道要用单片机6个捕获中断线。
但这六根线上的脉冲在时间上是基本尽量不重叠的,这可能因为遥控器在空中传输时只有一个无线频点吧。
这六根线的脉冲就是重叠了用STM32采也没问题,因为捕获是硬件完成的,中断只是告送CPU有新捕获值了,尽快在下个值到来前取用吧。
agnd 发表于 2012-11-25 22:30 static/image/common/back.gif
在接收机输出就是一个通道一根线,6个通道要用单片机6个捕获中断线。
但这六根线上的脉冲在时间上是基本 ...
哦,原来是这样。明白了。谢谢!{:smile:} 本帖最后由 lianghuok 于 2012-12-17 17:37 编辑
agnd 发表于 2012-11-25 09:15 static/image/common/back.gif
使用stm32的定时器捕获中断,没问题。捕获是在边沿由硬件完成的,与中断响应时间无关,不会带来任何附加误 ...
{:shocked:} 接收机的PWM脉冲是顺序到来的 --》这种情况只是适应Futaba 的接收机输出才可以,但JR的是所有通道一起输出出来。要是按顺序来输出就简单多了根本不需要捕获我实测试过,不知道楼主现在调的怎么样了。
现在用STM8S 捕获还在调,也担心过楼主说的同时输入多路PPM信号捕获中断时候怎么处理,中断排优先级来处理数据会不会shi接收通道数据滞后的现象发生?。 其实你拿示波器一看就什么都明白了,对于很多接收机他的输出信号时互相错开的,直接拿一个或非门加在一起就可以一个定时器通道搞定了,个别接收机各路有重合d,见2楼正解
下面是天地飞某款6通道接收机直接逻辑加在一起的结果:
lianghuok 发表于 2012-12-17 17:34 static/image/common/back.gif
接收机的PWM脉冲是顺序到来的 --》这种情况只是适应Futaba 的接收机输出才可以,但JR的是所 ...
还在研究中,呵呵。我有可能不用ppm格式的遥控。我直接用Zigbee,串口直接输出六个通道的信号。避免了中断捕获ppm信号。 fengyiyu1006 发表于 2012-12-17 18:01 static/image/common/back.gif
其实你拿示波器一看就什么都明白了,对于很多接收机他的输出信号时互相错开的,直接拿一个或非门加在一起就 ...
非常感谢~!
页:
[1]