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:
Недостатки PCM:
ЗаключениеКакие можно сделать выводы?
Запомните, что нет смысла выбирать аппаратуру по принципу PPM/PCM. Гораздо большее значение имеет качество исполнения остального радиотракта (ВЧ-модуля передатчика и приемника). Просто если приемник PCM, то он как правило всегда двойного преобразования (за исключением моделей фирмы Graupner) и с хорошими характеристиками. В общем, если у вас хорошая аппаратура с PCM - пользуйтесь ею в этом режиме. Если просто FM, но приемник двойного преобразования - тоже пользуйтесь и не расстраивайтесь. Эту статью не стоит рассматривать как исчерпывающее сравнение PPM и PCM, или как какой-то итог. Скорее, как серьезное начало конструктивного диалога, который можно продолжить на форуме. Обсудить на форуме |
|