Proshot — это концепция нового протокола для регуляторов скорости (ESC), созданная пользователем «Ub3r» (RCGroup), особенность в том, что он кодирует данные DShot при помощи PWM импульсов. В теории это может дать некоторые преимущества по сравнению с DShot, но помимо достоинств, есть и недостатки, что перевесит — это очень хороший вопрос.
Оригинал: Proshot – A New ESC Protocol
Достоинства и недостатки
Proshot — это протокол для работы ESC (регуляторов скорости), фактически имеет тот же самый функционал что и DShot (тоже разрешение передаваемых данных, структура фрейма, контрольная сумма и т.д.), но с преимуществами:
- Меньше нагрузка на микроконтроллер, потому что идет передача 4 импульсов вместо 16
- Микроконтроллерам легче считывать данные без DMA (прямого доступа к памяти), т.е. с этим протоколом смогут работать очень многие микроконтроллеры
- Длительность импульсов Proshot больше, чем у DShot, поэтому можно использовать конденсаторы для уменьшения шума
- Частота обновления данных выше, благодаря меньшей длительности пакета, недостаток — нельзя еще больше увеличить скорость, без отключения фильтрующего конденсатора
Возможные недостатки и вопросы к создателям Proshot:
- Как уже упоминалось, PWM импульсы более чувствительны к шуму, не говоря уже об увеличении числа состояний. Возможно это не будет проблемой, т.к. мы можем использовать фильтрующие конденсаторы
- Однако, Proshot может не подойти для высоких скоростей. Из-за чувствительности к шумам, вы не сможете использовать конденсаторы на больших частотах (чтобы не испортить сигнал, именно поэтому мы не должны использовать конденсаторы для DShot)
- Будет ли заметна увеличенная скорость обновления данных (по сравнению с DShot)? Кроме того, DShot все еще можно ускорить (даже быстрее DShot1200) если конечно это будет нужно… (DShot3600 тестировал Феликс из Flyduino). Так что, нужен ли Proshot или это потеря времени?
Как Proshot работает?
Proshot — это DShot, у которого 16 битные сигналы закодированы в 4 PWM импульса, каждый импульс содержит 4 бита данных. Следовательно, общая длина пакета данных может быть меньше, а скорость передачи данных — выше.
Кое-кто возражает, что раз используются PWM сигналы, то это не цифровой протокол, а аналоговый сигнал, в котором закодированы цифровые данные.
Автор ответил, что благодаря тому, что PWM сигнал имеет конечного количество значений (16 значений, если быть точным), то это цифровой сигнал, подобный DShot, у которого каждый импульс имеет 2 состояния. Кроме того, как и в случае с DShot, регуляторы калибровать не нужно.
В настоящее время Proshot — всего лишь интересная концепция нового протокола, его распространенность в значительной степени зависит от разработчиков BLHeli и KISS (это основные разработчики прошивок). Мне нравится в нашем хобби, то, что любой талантливый человек может реализовать инновационные идеи и поделиться ими с сообществом.
Видео от автора объясняющая идею Proshot.
Комментарий от Felix Niessen (Flyduino)
Как уже писалось на форуме RCG, я не вижу никаких причин поддерживать Proshot в регуляторах KISS, т.к. у него нет никаких преимуществ, если конечно в регуляторе можно использовать DMA и аппаратные фильтры на входах. Он немного слабее в плане надежности. Да, с ним можно использовать конденсаторы для фильтрации шумов, но микроконтроллеры ST имеют настраиваемые фильтры на входах, которые работают даже лучше, чем простой RC фильтр. Более того, их можно настроить под необходимую частоту. С точки зрения производительности: у нас и так уже очень большая скорость, и я думаю не стоит жертвовать надежностью в угоду скорости передачи, Как уже упоминалось, Dshot можно еще разогнать.
Я хочу сказать, что Proshot может быть полезен для использования с регулях со старыми микроконтроллерами, где нет ни DMA, ни встроенных фильтров, и нет никакого смысла использовать его в современных регуляторах.