померять импульсы с футабы РСМ

toxa
serj:

Собственно, напоролся на тот факт , что измерить ВСЕ длятельности канальных импульсов выходе Футабовского приемника серии 1024 проблематино, как говорится, “в лоб” - они идут в разные моменты времени, многие каналы идут одновременно, и джиттер периода присутствует , когда передатчик работает (время на обсчет контроллера приемника не одинаковое).

В пакете pcm-1024 нет канальных импульсов, которые можно померить. 😃 Там идет цифровая передача, то есть нолики-единички, а не импульсы разной ширины, как в обычном PPM.

serj:

а так все импульсы готовые есть…

Нет там импульсов, придется полностью декодировать пакет. Там еще чередование четный-нечетный пакет: передаются то абсолютные величины то приращения.

serj

блин, я плохо объяснил. У меня есть некотое количество документации по PCM 1024. с первого взгляда - сложновато. Так вот, чтобы не заморачиваться с декодированиеем САМОГО РСМ пакета, я хочу мерять ВСЕ выходные канальные импульсы непосредсттвенно с машинок так, имхо, попроще будет. Одна беда- передние фронты многих каналов совпадают, джиттер периода имеется.
В общем, похоже, никто этого не делал.
Хотелось узнать, может имеется алгоритм измерения 8 разных импульсов по 8 проводам, с переменным периодом и неизвестным заранее порядком следования, с частичным одновременным приходом передних фронтов…
придется самому напрягать мозги 😃 😃

romychs

Ну и в чем проблема. Один обработчик прерываний вешаете на изменение сигнала на входах на которые поступают канальные импульсы. По приходу первого канального импульса запускаете таймер. По мере прихода импульсов записываете значения таймера. Записываете значения начала канальных импульсов и значения конца импульсов. Таймер настраиваете так, чтобы он не переполнялся за период между приходом импульсов, он то все равно не больше 50 ms. Все каналы приняли - вычисляйте разницу, пересчитываете. По приходу первого импульса сбрасываете таймер. Если нужна бОльшая точность - обрабатываете переполнение таймера.

serj

Проблема в том, что не известно какой из импульсов первый, но это еще полбеды, пусть в итоге в выходной массив попадут импульсы из разных посылок, так вот, некоторые импульсы начинаются одновременно. некоторые перекрываются. логика “или” (диодный сумматор) тут не поможет,
Внешних прерываний всего 2 ноги. Выхода, кроме как опрашивать все входы программно и ловить событие - “приход фронта”, я не вижу… верояно, я плохо смотрю и мало копаю… 😃

lucky75

а может быть не туда (копаете) ? 😉 это я к тому, что разобраться с PCM возможно проще будет.