PPM или PCM ?

Автор - Виталий Пузрин

Вступление

Когда мы пользуемся аппаратурой радиоуправления, нас всегда интересует надежность радиоуправления и его устойчивость к помехам. Наверное, все вы знаете, что аппаратура радиоуправления бывает PPM и PCM. PPM - с аналоговым принципом кодирования, PCM - с цифровым. PPM - дешевле, PCM - дороже.

Сколько себя помню, всегда интересовался, насколько PCM-аппаратура надежнее и стоит ли доплачивать дополнительных денег за PCM-приемник. Вразумительного ответа ни в магазинах, ни у знакомых получить не удалось. Все аргументы были либо из серии "кто громче крикнет", либо сводились к конкретным примерам из жизни, что тоже не устраивало. Поэтому пришлось самостоятельно искать информацию и разбираться.

Надо сказать, что сравнение PPM и PCM было довольно хорошо сделано на страничке http://www.aerodesign.de/peter/, поэтому тот материал и был взят за основу данной статьи. Многие излишние технические подробности были опущены, но желающие могут их посмотреть в оригинале.

Здесь приводятся достоинства и недостатки обеих систем. А дальше вы сами сможете решить, какой аппаратурой пользоваться в каждом конкретном случае.

Принцип PPM-кодирования

О PPM-кодировании не писал только ленивый. Стандарт очень старый, универсальный и распространенный. Поэтому, описание будет кратким.

В PPM-кодере каждый канал задается импульсом, длительностью от 700 до 2200 мкс. Границы могут немного варьироваться, в зависимости от конкретной модели аппаратуры. Среднему положению рулевой машинки соответствует импульс длительностью около 1500 мкс.

Все канальные импульсы объединяются в последовательность и передаются каждые 18-20 мс. Пауза между передачей служит для синхронизации.

Принцип PCM-кодирования

Здесь все несколько сложнее, чем с PPM. Единый стандарт на кодирование отсутствует. Каждая фирма придумывает свой механизм кодирования данных.

В PCM-аппаратуре, информация о каждом канале передается в виде числа. Точность, с которой задается значения сигнала, составляет от 8 до 10 разрядов. То есть, в зависимости от реализации PCM, можно будет задать 256, 512 или 1024 различных положения для ручки передатчика (ну или для рулевой машинки).

Данные со всех каналов объединяются в последовательность, к ним добавляется синхропакет, контрольная сумма, и все это подается на модулятор. В приемнике, после детектора, сигнал поступает на микроконтроллер, который по синхропакету определяет начало фрейма данных, декодирует их, проверяет контрольную сумму и в зависимости от результата решает, что делать дальше (выдать на рулевые машинки, проигнорировать, перейти в режим failsafe и т.д.).

Все алгоритмы PCM, существующие на сегодняшний день, используют для защиты информации только контрольную сумму. Никакой избыточности нет и в помине. Это значит, что в случае искажения можно будет определить, что данные повреждены, но восстановить ничего не получится.


Вторым нюансом PCM является то, что данные передаются несколько дольше, чем в PPM. Это легко подсчитать. Надо транслировать 8-10 каналов, по 8-10 бит на канал. Плюс контрольные суммы, служебная информация и синхропоследовательность. Итого, получается 100-160 бит. Ввиду того, что спектр излучения передатчика ограничен, длительность одного бита не может быть меньше 0.3 мс. Таким образом, на передачу полного фрейма данных (информации обо всех каналах на заданный момент времени) должно уйти 30-50 миллисекунд, против 20 у PPM. Некоторые производители аппаратуры используют различные хитрости, чтобы увеличить скорость передачи.

Пример - PCM 1024

Рассмотрим алгоритм PCM 1024, который используется в передатчиках Futaba. Он довольно интересен и обеспечивает относительно небольшую длительность фрейма данных.

Каждый фрейм состоит из синхроимпульса, данных о значении каналов, служебных данных и контрольной суммы. Служебные данные несут в себе информацию о работе в режиме failsafe. При помехе, когда контрольная сумма не совпадает, данные из всего фрейма будут утеряны. Общий цикл передачи данных занимает 28.5 мс.

Чтобы уменьшить размер фрейма, для каждого сигнала поочередно передается то абсолютное значение (все 10 бит), то разностное (в виде изменения, которое занимает меньше места). Обратите внимание, что в четных фреймах абсолютные значения передаются для каналов 1, 3, 5, 7, 9, а в нечетных фреймах - для каналов 2, 4, 6, 8. При такой схеме передачи, выпадение одного фрейма не может сильно влиять на точность данных, а скорость обновления наиболее динамичных каналов остается очень высокой. Всего 14.25 мс, что даже чуть меньше чем в PPM.

Общая ситуация со стандартами PCM и PPM

Как уже говорилось выше, каждый производитель аппаратуры стремится реализовать свой стандарт PCM. По крупному счету, здесь прослеживается желание заработать побольше денег, нежели стремление качественно улучшить надежность связи. Тем не менее, мы с вами, как пользователи, вряд ли можем кардинально поменять ситуацию. Поэтому давайте ознакомимся с тем, что происходит, для общего развития.

Z-PCM (512) от JR/Graupner. 8 аналоговых каналов, каждый канал может передавать 512 положений (разрядность - 9 бит). Данные передаются в 2 приема, по 4 канала в каждом пакете, защищенном контрольной суммой. Длительность передачи 1 пакета - 22 мс. Каждый пакет состоит из данных о канале 1 или 5, 2 или 6, 3 или 7, 4 или 8. Если какой-то канал остается неизменным, то передатчик автоматически заменяет его вторым каналом из пары. Таким образом, информация о наиболее динамичных каналах передается чаще. При единичной ошибке пропадают данные о 4-ех каналах.

S-PCM (1024) от JR/Graupner. Дальнейшее развитие Z-PCM. Точность - 10 бит. Размер 1 блока данных был уменьшен и длительность теперь составляет 10.5 мс. Полный цикл передачи данных обо всех каналах состоит из 4 блоков данных и длится 44 мс. При единичной ошибке пропадают данные о 2-ух каналах.

Simprop PCM (System 90). Используется прямой подход. Весь фрейм длится 55 мс, состоит из 6 блоков для аналоговых каналов (по 8 бит на канал) и 6 блоков для дискретных каналов (по 3 бита на канал). Каждый блок защищен своим битом четности. Не самый надежный вариант, но вполне приемлемы (с учетом того что вероятность двойных ошибок намного меньше чем вероятность одинарных).

Robbe Futaba PCM 1024. Одно из самых любопытных решений, имеющее наибольшую скорость передачи информации по сравнению конкурирующими алгоритмами. Детали реализации были описаны в предыдущей главе.

Multiplex IPD (Intelligent Pulse Decoding). Изначально, фирма Multiplex имела свой PCM-стандарт, но впоследствии от него отказалась и стала продвигать улучшенную версию PPM, которую назвали IPD. Суть заключается в использовании микроконтроллера для обработки принятого сигнала. Микроконтроллер анализирует поступающие данные и пытается свести влияние ошибок к минимуму, там где это возможно. Заодно реализуется функция failsafe.

Поскольку нас интересует лишь надежность передачи информации, здесь опущены все технические детали реализации, чтобы не забивать вам голову. В конце концов, вам ведь надо решить, какой выбрать приемник, а не делать такие приемники своими руками. Но особо любопытные могут посмотреть исходные тексты аудиодрайвера для RC-передатчика. Он позволяет подключить передатчик через линейный вход soundblaster-а и понимает протоколы PCM 1024 и S-PCM.

А нужен ли режим failsafe?

Failsafe - это такой режим, когда при отсутствии сигнала с передатчика, рулевые машинки устанавливаются в заранее заданное положение. Сам по себе такой режим может быть реализован по-разному. Чаще всего такая функция встроена в приемники, содержащие внутри микроконтроллер (PCM- и IPD-приемники). Но эта функция может быть встроена и в цифровые рулевые машинки.

Сложно сказать однозначно, что этот режим полезен, или наоборот, вреден. Как вы знаете, ситуации бывают самые разные. В одном случае failsafe сможет при помехе спасти вашу модель, а в другом - с легкостью ее угробит. И заранее тут сложно что-либо предугадать.

Действительно однозначно удачное применение, которое приходит на ум - это модели вертолетов. Ведь часто их запускают поблизости от людей, а ротор вертолета представляет огромную опасность для жизни. Вполне может случиться, что при сильной помехе вертолет полетит в сторону толпы. И уж конечно вопросы сохранности самой модели при этом отступят на второй план. Failsafe позволит сбросить газ вертолета до минимума и уменьшит вероятность человеческих жертв. Вертолет, скорее всего, просто не долетит до людей.

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

Достоинства и недостатки различных подходов

Достоинства PPM:

  • Возможность совместной работы приемников и передатчиков различных производителей.
  • Простота реализации и дешевизна.
  • Помехи в эфире можно обнаружить на самой ранней стадии возникновения (рулевые машинки начинают подергиваться).

Недостатки PPM:

  • Ввиду простоты протокола, обнаруживать ошибки передачи довольно проблематично.

Достоинства PCM:

  • Точное позиционирование рулевых машинок, не зависящее от дальности и других факторов.
  • Сохранение положений сервомашинок в случае коротких помех. Это приводит к увеличению расстояния на котором рулевые машинки все еще управляются. Но надо помнить, что ценой является замедленная реакция (из-за выпадения искаженных фреймов данных), а также возможность перехода приемника в режим failsafe.
  • Возможность установить рулевые машинки в заданное положение при полном пропадании сигнала или при сильных помехах (режим failsafe).

Недостатки PCM:

  • PCM-приемники более дорогие, по сравнению с аналогичными PPM-приемниками.
  • Ввиду более широкого спектра PCM-сигнала, избирательность по соседнему каналу немного уступает избирательности аналогичных PPM-приемников. Категорически не рекомендуется летать над передатчиком, работающем на соседнем канале. Впрочем, к PPM-приемникам это тоже относится, хотя и в чуть меньшей степени. Естественно, в обоих случаях речь идет о сравнимых приемниках (например, похожих и качественных приемниках двойного преобразования).
  • Разные производители по-разному реализуют протоколы PCM. Вследствие этого приемники и передатчики разных производителей практически никогда не могут работать вместе в режиме PCM.
  • Проверка качества приема сильно затруднена, поскольку приемник маскирует помехи (сервомашинки не дергаются, а фиксируются на месте). О наличии помех можно узнать слишком поздно (когда они настолько большие, что приемник уже переходит в режим failsafe).

Заключение

Какие можно сделать выводы?

  • От крупных неприятностей с управлением, PCM все равно не спасает.
  • PCM помогает ликвидировать незначительные редкие помехи. Эти помехи не имеют серьезного влияния на безопасность полетов, но отсутствие незначительных и редких подергиваний сервомашинок позволяет управлять моделью более комфортно.
  • Если уровень помех не позволяет летать на PPM, то использовать PCM тоже нет смысла. Модель все равно может потерять управление в любой момент, причем, вследствие фильтрации помех в PCM, потеря управления будет очень внезапной.
  • Отдельно стоит упомянуть ситуации, когда источник помех предсказуем (вроде искрового зажигания). В официальных бумагах одного из разработчиков электронного зажигания CH Ignitions фирма не рекомендует использовать режим РСМ, поскольку он маскирует помехи от зажигания и не позволяет вовремя обнаружить неполадки. В этом случае на малых расстояниях помехи парируются пропусками испорченных пакетов, а на увеличенной дистанции будет потеря аппарата. Сложно сказать насчет регулярных полетов, но проверять и обкатывать модель с искровым зажиганием действительно лучше в режиме PPM.

Запомните, что нет смысла выбирать аппаратуру по принципу PPM/PCM. Гораздо большее значение имеет качество исполнения остального радиотракта (ВЧ-модуля передатчика и приемника). Просто если приемник PCM, то он как правило всегда двойного преобразования (за исключением моделей фирмы Graupner) и с хорошими характеристиками. В общем, если у вас хорошая аппаратура с PCM - пользуйтесь ею в этом режиме. Если просто FM, но приемник двойного преобразования - тоже пользуйтесь и не расстраивайтесь.

Эту статью не стоит рассматривать как исчерпывающее сравнение PPM и PCM, или как какой-то итог. Скорее, как серьезное начало конструктивного диалога, который можно продолжить на форуме.

Обсудить на форуме