Теория‎ > ‎

PPM и PCM кодирование

PPM (Pulse-position modulation) - это, пожалуй, самый распространенный метод кодирования сигналов, передаваемых дистанционно. Большое распространение данный метод получил в системах радио-управления моделей самолетов и лодок. PPM используется и в обычных пультах дистанционного управления с инфракрасным передатчиком, а также в некоторых других системах связи, где отсутствуют требования серьезной помехоустойчивости.

PPM сигнал представляет собой последовательность импульсов имеющих постоянную длительность, но разнесенных друг от друга на разные промежутки времени. Именно величина этих промежутков и задает кодируемые значения. Группы импульсов объединяются в пакеты, называемые также фреймами. 

Рассмотрим работу PPM на примере. Предположим, нам требуется передать 6 целых чисел в диапазоне от 0 до 1000:
250, 500, 500, 750, 250, 1000

Пусть каждое кодируемое число соответствует промежутку между импульсами в миллисекундах, плюс ширина самого импульса. Кроме того, чтобы приемник сигнала смог отделить данные двух разных фреймов, потребуется организовать между ними некоторую паузу. В итоге, для заданного набора чисел, мы получим PPM сигнал вида:

PPM диаграмма

где 
t1 = 250+50 = 300мс,
t2 = 500+50 = 550мс,
и т.д.

Общая длина пакета в данном примере составляет 6000мс.

Следует отметить, что способ отправки, сформированных таким образом, PPM фреймов может отличаться. Так, например, инфракрасный пульт управления телевизором при нажатии на кнопку, отправляет пачку (burst) одинаковых фреймов. Каждая такая пачка состоит из 4-5 фреймов, что позволяет гарантировать передачу управляющего кода несмотря на возможные помехи. В остальное время передатчик пульта молчит и экономит энергию батарей. В случае же управления авиа-моделями, фреймы отправляются непрерывно, обеспечивая тем самым постоянный контроль над летательным аппаратом.

PPM для радиоуправления

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

Угол поворота сервомашинки задается с помощью метода ШИМ. Суть этого метода заключается в варьировании скважности импульсного сигнала, в результате чего вал двигателя рулевой машинки отклоняется в нужную сторону и на нужный угол. Так, импульс продолжительностью 1500 мкс, как правило, соответствует нейтральному положению двигателя. Для поворота на максимальный угол в одну сторону, потребуется уменьшить импульс до 700 мкс. Напротив, увеличив импульс до 2200 мкс, рулевая машинка повернется в обратную сторону.

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

Диаграмма многоканального PPM

Продолжительность PPM фрейма составляет 20 мс. Один такой фрейм может содержать в себе до восьми каналов управления.

Одним из недостатков PPM является отсутствие проверки подлинности передаваемых данных. Другими словами, если на управляемый объект случайно попадет фрейм с искаженными данными, то последний никак не сможет его идентифицировать и будет вынужден выполнить неверную команду. 

Другая проблема в PPM - погрешность передаваемой величины. С помощью этого метода кодирования, к примеру, будет сложно управлять шаговым двигателем в режиме микрошагов.

PCM кодирование

Для устранения недостатков PPM кодирования, был разработан более сложный метод, называемый импульсно-кодовой модуляцией, или PCM (Pulse-code modulation). В основе этого метода лежит преобразование аналоговых величин в цифровое представление. Кроме того, для каждого фрейма вычисляется контрольная сумма, предотвращающая прием искаженных данных управляемым объектом.

К сожалению, в отличие от PPM, данный подход не имеет стандартов. Каждый производитель аппаратуры для дистанционного управления использует свою схему фрейма. Так, например, формат фрейма Futaba PCM 1024 имеет вид:
Futaba PCM 1024

Каждый такой фрейм имеет продолжительность 14.25 мс, что на четверть меньше чем у PPM. Фреймы отправляются парами. В первом, размещаются абсолютные значения для нечетных каналов и приращения для четных. В следующем, наоборот, приращения для нечетных и абсолютные значения для четных. Кроме того, как уже говорилось, каждый фрейм содержит 16-битную контрольную сумму.

Такой протокол как Futaba PCM 1024 гораздо более устойчив к помехам чем обычный PPM.
 
Comments