Стандарт кодирования PPM (Pulse Position Modulation — фазово-импульсная модуляция) очень старый и популярный, поскольку может формироваться и обрабатываться без использования микроконтроллеров, при помощи обычных интегральных счетчиков и таймеров. Сейчас нечасто можно встретить передатчик с классической модуляцией сигнала РРМ, разве что в китайских игрушках с инфракрасным пультом, но мы разберем этот стандарт подробно. Ведь каким бы способом сейчас не передавали информацию по радиоканалу, на выходе декодера обычного приемника мы имеем импульсы радиоуправления со строго определенными параметрами, которые исторически происходят от РРМ и не меняются для обеспечения совместимости между оконечным (управляемым) оборудованием и массовой радиоаппаратурой разных производителей.
Итак, обратимся к рис. 2.9, на котором схематично изображен стандартный сигнал РРМ для четырех каналов.
Рис. 2.9. Сигнал РРМ и его раскладка по каналам управления
Сигнал РРМ состоит из фреймов (frame) длительностью 20 мс. В свою очередь, фрейм состоит из стробирующих импульсов, которые разделяют каналы, и синхропаузы, благодаря наличию которой приемник начинает ожидать следующий кадр.
Как видно из диаграммы, расстояние tx между фронтами соседних синхроимпульсов соответствует длительности импульса в канале приемника. То есть, можно сказать, что в сигнале РРМ информация канала содержится в положении (position) стробирующего импульса относительно начала фрейма или предыдущего строба. Длительность стробирующих импульсов лежит в диапазоне 100–400 мкс. При помощи синхропаузы приемник опознает начало следующего фрейма, затем, опираясь на стробирующие импульсы, распределяет импульсы управления по ка-налам. Для надежного разделения фреймов длительность синхропаузы должна быть не менее 2500 мкс. В противном случае приемник может не опознать начало следующего фрейма и отправить на выходы каналов непредсказуемые импульсы.
В свою очередь, импульсы на выходе отдельного канала следуют с периодом в 20 мс (т. е. с частотой 50 Гц), и меняется их ширина. Такое кодирование информации называют PWM (Pulse Width Modulation) или ШИМ (широтно-импульсная модуляция). Иными словами, в приемнике сигнал РРМ превращается в разделенные по каналам сигналы PWM. Именно эти импульсы PWM мы до сих пор получаем на канальных выходах приемников, даже самых современных. Исключение составляют приемники с последовательным выходным каналом, но об этом позже.
Поскольку именно длительность импульса в канале несет в себе информацию, параметры этого импульса стандартизованы: минимальная — 1000 мкс, средняя — 1500 мкс, максимальная — 2000 мкс. Обязательно запомните диапазон этих значений, они фигурируют в настройках квадрокоптера и пригодятся вам в дальнейшем.
Производители аппаратуры позволяют задать в настройках более широкий диапазон значений, порядка 800-2200 мкс, но в квадрокоптерах такие значения обычно не применяются.
В стандартный сигнал РРМ с фреймом длительностью 20 мс можно упаковать не более восьми каналов (обычно шесть-семь). Проблема в ограничении минимальной длительности синхропаузы. Давайте посчитаем вместе. Представьте ситуацию, когда по восьми каналам надо передать импульсы максимальной длительности t1…t8 = 2000 мкс. Тогда суммарная длительность канальных импульсов составит 8·2000 = 16 000 мкс, а для синхропаузы останется 20 000-16 000 = 4000 мкс. Этого более чем достаточно для надежной работы приемника. Но если добавить девятый канал, то на долю синхропаузы останется 20 000 — 9·2000 = 2000 мкс. С такой синхропаузой декодер стандартного приемника не сможет опознавать начало фрейма и разделять каналы. Если же передатчик формирует канальные импульсы с максимальной длительностью 2200 мкс, то в стандартный фрейм не поместятся даже восемь каналов. Поэтому производители аппаратуры идут на ухищрения и увеличивают длину фрейма. Таким способом удается уместить в сигнал РРМ до 14 каналов. Благо, в большинстве современных пультов можно настраивать длину фрейма, длину строба и количество каналов. Чтобы приемник распознавал такой, не вполне стандартный, сигнал, его приходится прошивать соответствующей прошивкой. Недостатком этого подхода является проблема совместимости приемников и передатчиков.
Существенным недостатком формата РРМ является отсутствие контроля над качеством принимаемых данных. Если помеха исказила импульсы внутри фрейма, то они в искаженном виде попадут на выход приемника. Некоторые современные приемники РРМ, оснащенные микроконтроллерами, могут отфильтровывать заведомо ошибочные импульсы в каждом канале управления по отдельности. Алгоритм фильтрации частично похож на алгоритм цифрового подавления помех в звуке или изображении. Приемник сохраняет в памяти параметры импульсов в каждом канале и сравнивает их с вновь поступившими. Считается, что в нормальной ситуации длительности импульсов от фрейма к фрейму могут измениться лишь в определенных разумных пределах. Если приемник обнаруживает аномально изменившиеся импульсы, он считает их недостоверными и заменяет их длительность значениями из предыдущего фрейма. Таким образом происходит отработку укороченной функции Failsafe по каждому каналу в отдельности. Попутно приемник копит информацию о количестве "испорченных" импульсов, и когда оно превышает критический порог в единицу времени, приемник уходит в глубокий Failsafe, как описано в предыдущем разделе.